python学习(十)函数 内容

什么是函数

1、函数代码块以def关键词开头,后姐函数标识符号名称和圆括号()。
2、园括号之间可以用于定义参数
3、函数内容以冒号起始,并且缩进
4、return结束函数,选择性地返回一个值给调用方。不带表达式的return相当与返回None

def name(name):  # 定义name的函数名称
    print('这是一个函数',name)  # 函数内容
    return name  # 返回函数值
name('name')  # 执行函数

可变与不可变参数

# 不可变传参
def test(a):
    a = 20
    print(a)
b = 10
test(b)  # b =20
print(b)  # b = 10

# 可变传参
def learning(list):
    list.append([1, 2, 3, 4])
    print("函数值 : ", list)
    #  执行结果 函数值 :  [7, 8, 9, [1, 2, 3, 4]]

# 调用learing函数
list = [7, 8, 9]
learning(list)

全局变量和局部变量

name = 'David'
def name_001(name):
    print('我的名字叫: ', name)  # 全局
    name = 'zhujiliang'
    print('我的名字叫: ', name)  # 局部

name_001(name)
print('我的名字叫: ', name)  # 全局

非固定参数

# 若你的函数在定义是不确定用户想传入多少个参数,就可以使用非固定参数,引入*args,**kwargs
def name_002(name2, *args):
    print(name2,args)
name_002('David','test',123)  # *args传入内容变成元祖

def name_003(name3, **kwargs):
    print(name3,kwargs)
name_003('David',a ='test',age=123)

递归

# 递归(函数之间可以调用,函数本身也可以进行调用,这种函数我们叫做递归)
def calc(n):
    print(n)
    if int(n/2) == 0:
        return n
    return calc(int(n/2))
calc(10)

执行结果:
10
5
2
1

 

 

原文地址:https://www.cnblogs.com/jiliangceshi/p/13213938.html