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