主要内容 #
关键词参数
参数组合
1. 关键词参数 #
可变参数允许传入0个或任意个参数,在调用时自动组装成元组。
那是否能以字典形式组装?
可以,这就是关键词参数
关键词参数允许传入0个或任意个包含参数名的参数,以字典组装
关键词参数定义语法如下:
def 函数名(形参名, **形参名):
注意:
可以没有非关键词形参
关键词形参的定义一定要在必须形参的后面
默认形参的定义一定要在非默认形参的后面
关键词参数使用**定义,函数内部接收到的关键词参数是以字典保存
例如,以下程序自定义个人信息函数:
def my_info(name, age, **other):
print('name:', name, ',age:', age, ',other:',other)
my_info('bob', 21) # 可以没有关键词参数
my_info('bob', 21, city='Shanghai') # 可以只有1个关键词参数
my_info('bob', 21, city='Shanghai', gender='M', job='Engineer') # 可以是任意多个参数
2. 参数组合 #
必须参数,默认参数,可变参数,关键词参数,这几种参数都可以组合使用。
但是请注意,参数定义的顺序必须是:
必须参数,默认参数,可变参数,关键词参数。
参数组合定义语法如下:
def 函数名(形参名,形参名=默认值,*形参名,**形参名):
注意:
除了必须参数,在调用时可以没有其他参数
一定要保证参数顺序的正确性
调用时,Python解释器自动按照参数位置和参数名把对应的参数传进去
程序示例:
def f(a, b=0, *args, **kwargs):
print('a:', a, ',b:', b, ',args:', args, ',kwargs:', kwargs)
f(1) # 必须参数
f(1, b=2) # 必须参数和默认参数
f(1, 2, 'a', 'b') # 必须参数,默认参数和可变参数
f(1, 2, 'a', 'b', x = 99) # 必须参数,默认参数,可变参数和关键词参数
3. 小结 #
关键词参数允许传入0个或任意个包含参数名的参数,以字典组装
必须参数,默认参数,可变参数,关键词参数,这几种参数都可以组合使用
参数顺序为:必须参数,默认参数,可变参数,关键词参数
OJ训练题 #
1、出租车 – ★
2、魔杖 – ★
3、学识币 – ★
4、整数串拆段 – ★★
5、田忌赛马 – ★★★★