Python函数参数有四种类型:位置参数、默认参数、可变参数和关键字参数。
- 位置参数
位置参数是指按照参数列表的顺序进行传递的参数,也是默认的参数传递方式。位置参数的参数名一般不需声明。
下面是一个位置参数的示例代码:
def print_name(name):
print(name)
print_name("Lucy")
在上面的示例代码中,name
是位置参数,函数print_name
以name为参数,函数内部打印参数的值。
- 默认参数
默认参数是指在定义函数时,参数已经有默认值了,如果调用函数时没有对应的参数传入,将使用默认值。定义默认参数的方式是在函数的参数列表中直接给参数赋默认值。
下面是一个默认参数的示例代码:
def print_name(name="Lucy"):
print(name)
print_name()
在上面的示例代码中,name
是默认参数,函数print_name
在定义时,已经给参数name指定了默认值"Lucy",因此,当print_name
函数被调用时,如果没有传入参数,将打印出"Lucy"。
- 可变参数
可变参数是指传入函数的参数数量不定。在Python中,可变参数分为两种:*args
和**kwargs
。
*args
表示可变位置参数(变长的位置参数),传入的参数将以元组(tuple)的形式存储在这个参数中。
下面是一个可变位置参数的代码示例:
def sum_numbers(*args):
result = sum(args)
return result
result = sum_numbers(1,2,3,4,5)
print(result) # 15
在上面的代码中,*args
表示可变位置参数,在这个函数内部实现了将传入的参数相加并返回结果的功能,传入的参数可以为任意个数的参数,通过内部使用sum()
函数对位置参数进行求和,得出结果。
**kwargs
表示可变关键字参数(变长的关键字参数),传入的参数将以字典(dict)的形式存储在这个参数中。
下面是一个可变关键字参数的代码示例:
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="Lucy",age=18,school="PKU")
在代码中,**kwargs
表示可变关键字参数,在这个函数内部实现了打印出所有传入参数和值的功能,传入的参数是一个字典形式,其中key是参数的名字;value是对应的值。内部使用for
循环对字典进行遍历,实现对所有传入关键字参数的显示。
- 关键字参数
关键字参数是指使用参数名传递的参数,它具有可读性和易维护性。在Python中,关键字参数使用参数名来传递。在函数的参数列表中,通过使用key=value
的方式进行传递。
下面是一个关键字参数的代码示例:
def print_info(name,age,school):
print(f"name: {name}")
print(f"age: {age}")
print(f"school: {school}")
print_info(name="Lucy",age=18,school="PKU")
在代码中,name
、age
、school
都是关键字参数,在调用函数时,使用参数名的形式进行传递。函数的内部会按照参数名和值一一对应,显示出所有传入参数的信息。
以上就是Python函数参数类型的完整攻略,包括位置参数、默认参数、可变参数和关键字参数,并给出了对应的代码实例。在函数的定义和调用过程中,大家可以根据自己的需要,选择相应的参数类型进行使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python函数参数的种类有哪些 - Python技术站