把代码进行封装,组成一个通用的模板。输入参数,输出返回值。
Python中一切皆对象
可以把函数赋值给变量
特点:在定义阶段就已经被赋值,意味着在调用时可以不用为其赋值。
注意:
特点:可以打破位置的限制,但仍能为指定的形参赋值。
注意:
可变长实参
self_max(*a, **b)
作为实参时,a是一个列表或元组
def sum_cul(a, b, c, x, y, z):
return a + b + c + x + y + z
test_list = [1, 2, 3]
test_tupple = (4, 5, 6)
print(sum_cul(*test_list, *test_tupple))
# 本来需要传入6个单独的实参,但我们用了一个列表,一个元组做了替换
# 本质还是属于位置实参的依次传入
b是字典,可以转成 key = value
def sum_cul(a, b, c, x, y, z):
return a + b + c + x + y + z
test_dict = {'x': 4, 'y': 5, 'z': 6}
print(sum_cul(1, 2, 3, **test_dict))
# 本来需要传入6个单独的实参,后3个,我们用了一个字典做了替换
# 用字典添加实参,可以理解成关键字实参的方式。需要符合关键字实参的特点,比如在位置实参的右侧
可变长形参
def self_max(*args, **kwargs):
def test(*args, **kwargs):
print(args)
print(kwargs)
test(1, 2, 3, a='apple', b='boy')
# 输出结果
# (1, 2, 3)
# {'a': 'apple', 'b': 'boy'}
# *args表示可以传入任意数量的参数,传入后组合成元组,可以使用for循环遍历
# **kwargs表示可以传入任意数量的相当于字典的参数,也可以使用for循环遍历
原文:https://www.cnblogs.com/heroknot/p/10946273.html