
函数一般是从第一行代码开始执行,结束于return语句、异常、或者函数所有语句执行完毕。一旦函数将控制权交还给调用者,就意味着全部结束。函数中做的所有工作以及保存在局部变量中的数据都将丢失。再次调用这个函数时,一切将从头创建。
定义函数
>>>def myfun(x,y): #定义函数名
print(x+y) #函数体
>>>myfun(3,4) #调用函数
12
当函数体中存在循环且每次需输出时,使用print来打印多个结果
函数的返回值
>>>def myfun(x,y):
total=x+y
return total #执行到return,函数执行完毕,并将结果返回
>>>myfun(3,4)
12
函数体内部可以用return随时返回函数结果,如果直到执行完毕也没有return语句时,就自动return None
函数可以同时返回多个值,但其实就是一个元组
函数的参数
关键字参数
>>>def myfun(a,b):
print(a+'and'+b)
>>>myfun(b='me',a='python') #就算传入的值乱序,也能根据关键字来赋值
python and me
默认参数
>>>def myfun(a='python',b='me'):
print(a+'and'+b)
>>>myfun() #直接调用默认参数
python and me
>>>myfun('java') #也可以给默认参数赋值
java and me
可变参数
单星号参数:把元组作为参数值进行传递
双星号参数:把字典作为参数值进行传递
>>>def myfun(*params):
print('参数长度为:',len(params))
print('第二个参数为:',params[1])
>>>myfun1(1.2,'python',True)
参数长度为: 3
第二个参数为: python
递归函数
1.调用了自身 2.设置了正确的返回条件
>>>def myfun2(n):
if n==1:
return 1
else:
return n*myfun2(n-1)
>>>myfun2(5)
120