乐趣区

关于python:Python函数

函数

执行特定工作以实现特定性能的一段代码

函数的意义

  • 代码复用
  • 异样实现细节
  • 进步可维护性
  • 进步可读性、便于调试

函数的创立调用

创立办法

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 个时,返回其类型。
函数是否须要返回值,视状况而定。

退出移动版