在Python中,函数参数分为普通参数、默认参数、可变参数、关键字参数和命名关键字参数。同时,Python 3.0版本引入了新的特性,如函数注解和可忽略注解。
普通参数是指不带默认值的参数,必须在函数调用时传入值。普通参数的使用方法很简单,函数定义时在函数名后添加参数即可,多个参数用逗号分隔。
示例代码:
def func(a, b):
return a + b
print(func(1, 2)) # 输出 3
默认参数是指在定义函数时为参数赋予初始值。如果函数调用时传入了参数,则使用传入的参数值;如果没有传入,则使用定义时的默认值。默认参数要放在普通参数后面,否则会导致语法错误。
示例代码:
def func(a, b=2):
return a + b
print(func(1)) # 输出 3
print(func(1, 3)) # 输出 4
可变参数是指函数定义时不确定传入参数的个数,使用"*args"表示,传入值为元组。在函数中使用for循环对元组进行遍历操作。
示例代码:
def func(*args):
res = 0
for i in args:
res += i
return res
print(func(1, 2, 3)) # 输出 6
关键字参数是指将传入的参数携带参数名进行传递,在函数定义时使用"**kwargs"表示。在函数中遍历kwargs字典,可以获得传递参数名和值的键值对。
示例代码:
def func(**kwargs):
for k, v in kwargs.items():
print(f'{k}: {v}')
func(name='Alice', age=18, gender='female')
# 输出
# name: Alice
# age: 18
# gender: female
命名关键字参数是指关键字参数的进一步扩展,在函数定义时需要指定参数名,同时需要在参数后面加一个星号"*",强制指定后续所有参数必须使用关键字传递,否则会报错。
示例代码:
def func(a, *, b, c):
return a + b + c
print(func(1, b=2, c=3)) # 输出 6
函数注解是Python 3.0版本引入的新特性,可以在函数定义时使用"->"添加函数的返回值类型注解,并且可以添加任意类型的注解。
示例代码:
def func(a: int, b: str) -> bool:
# 省略具体实现
return True
可忽略注解是指在函数定义时,如果对于某个参数不需要添加类型注解,则可以使用"_"代替。
示例代码:
def func(a: int, b: str, _=None) -> bool:
# 省略具体实现
return True
以上是Python函数参数分类使用与新特性详细分析讲解的完整攻略,希望对您有所帮助。
本文链接:http://task.lmcjl.com/news/16861.html