函数
主要作用:打包代码
- 可以最大程度地实现代码重用,减少冗余的代码
- 可以将不同功能的代码段进行封装、分解,从而降低结构的复杂度,提高代码的可读性
创建 & 调用
使用 def 语句定义函数(函数名+小括号),后为函数体。
函数体是一个代码块,即每次调用函数时被执行的内容。
>>> def myfunc():
... pass #空语句,表示不做任何事
...
>>> myfunc()
>>> #调用结果
函数的参数
从调用角度分为——
形式参数:定义函数时写的参数名字(如name 和 times)
实际参数:调用函数时传进去的值( 如"Python" 和 5)
>>> def func(name, times):
for i in range(times):
print(f'i like {name}.') #f使{}内的name成为可替换值
>>> func('www', 3)
i like www.
i like www.
i like www.
函数返回值
>>>def func(x, y):
z = x * y
return z
>>> func(3, 4)
12
默认返回值:
>>> def func(a, b):
c = a * b
>>> func(3, 4)
>>> print(func(3,4))
None
位置参数和关键字参数
>>> def func(x, y, z):
return "".join((z, y, x))
>>> func('a', 'b', 'c') #位置参数
'cba'
>>> func(x='A', z='B', y='C') #关键字参数
'BCA'
同时使用时,位置参数必须在关键字参数之前。
默认参数
定义时指定默认值,函数调用时如果没有传入实参,将用默认参数值代替,传入则覆盖默认值:
>>> def func(x, y, z="111"):
return "".join((z, x, y))
>>> func("22","33")
'1112233'
>>> func("22","33","44")
'442233'