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

你可能感兴趣的:(python)