7、python-函数

2023-12-29 16:32:39

一.可变参数

参数前面有一个*号,表示是可变的。在函数内部,如:参数 numbers 接收到的是一个 tuple

def add(*numbers):
    print(numbers)

add(1, 'adc', ["q", 'w'], {"1": "2"})
# (1, 'adc', ['q', 'w'], {'1': '2'})

二.关键字参数

def add(**kwargs):
    print(kwargs)

add(x=1, y=2)
# {'x': 1, 'y': 2}

三.参数组合

def add(x, y, z=0, *args, **kwargs):
    print(x, y, z, args, kwargs)

add(1, 2, 3, 11, 22, 33, a=4, b=5, c=6, d=7)
# 1 2 3 (11, 22, 33) {'a': 4, 'b': 5, 'c': 6, 'd': 7}

四.函数为参数

def func(g, arr):
        return [g(x) for x in arr]

def double(x):
    return 2 * x

def square(x):
    return x * x

arr1 = func(double, [1, 2, 3, 4])
arr2 = func(square, [1, 2, 3, 4])
print(arr1)
print(arr2)

# [2, 4, 6, 8]
# [1, 4, 9, 16]

五.匿名函数

1.python提供了一个关键字 lambda,让我们可以创建一个匿名函数,也就是没有名称的函数。

2.冒号前面的变量是该匿名函数的参数,冒号后面是函数的返回值,注意这里不需使用 return 关键字

a = (lambda x: 2 * x)(2)
print(a)
b = lambda x: 2 * x
print(b(2))

# 4
# 4

示例1:

def func(g, arr):
    return [g(x) for x in arr]


res = func(lambda x: x + 1, [1, 2, 3, 4])
print(res)

# [2, 3, 4, 5]

文章来源:https://blog.csdn.net/qq_36076898/article/details/135288175
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。