函数
执行特定工作以实现特定性能的一段代码
函数的意义
- 代码复用
- 异样实现细节
- 进步可维护性
- 进步可读性、便于调试
函数的创立调用
创立办法
def 函数名 ([入参]):
函数体
[return xxx]
调用办法
函数名 ([理论参数])
示例
def add(a, b):
return a + b
res = add(10, 20)
print(res) # 30
函数的参数传递
地位实参
依据形参的地位进行实参传递,地位对应
def add(a, b): # a,b 为形参,在函数的定义处
return a + b
res = add(10, 20) # 10,20 为实参,在函数的调用处
print(res) # 30
关键字实参
依据形参的名称进行实参传递
def add(a, b): # a,b 为形参,在函数的定义处
return a + b
res = add(b=10, a=20) # 10,20 为实参,在函数的调用处
print(res) # 30
函数调用对参数的影响
def fun_demo(a, b):
print('arg1:', a) # arg1:11
print('arg2:', b) # arg2:[1, 2, 3]
a = 100
b.append(10)
print('arg1:', a) # arg1:100
print('arg2:', b) # arg2:[1, 2, 3, 10]
n1 = 11
n2 = [1, 2, 3]
print('n1:', n1) # n1:11
print('n2:', n2) # n2:[1, 2, 3]
fun_demo(n1, n2)
print('n1:', n1) # n1:11
print('n2:', n2) # n2:[1, 2, 3, 10]
可变对象受函数外部批改操作的影响。
不可变对象不受函数体内操作的影响。
函数的返回值
函数的返回值为多个时,返回后果为元组。
def fun1(num):
odd = []
even = []
for item in num:
if item % 2 == 0:
odd.append(item)
else:
even.append(item)
return odd, even
arr = [1, 2, 3, 4, 5, 6]
b = fun1(arr)
print(b) # ([2, 4, 6], [1, 3, 5])
函数没有返回值时,return 能够省略。
函数的返回值为 1 个时,返回其类型。
函数是否须要返回值,视状况而定。