python 传参 类
时间: 2023-09-27 10:12:10 浏览: 94
型有哪些?如何进行参数传递?
Python传参的类型有四种:位置参数,关键字参数,默认参数和可变参数。
位置参数:按照函数定义中形参的位置进行传递,与形参的名称无关。
关键字参数:按照形参的名称进行传递,与形参的位置无关。
默认参数:在函数定义时指定参数的默认值,如果调用时传递了参数,则使用传递的值,否则使用默认值。
可变参数:有两种,分别是可变位置参数和可变关键字参数。可变位置参数在函数定义时以*args形式声明,接收任意数量的位置参数;而可变关键字参数在函数定义时以**kwargs形式声明,接收任意数量的关键字参数。
参数的传递方式:位置参数和关键字参数可以混合使用,但是位置参数必须在关键字参数之前传递。例如:
```
def add(x, y=1, z=2):
result = x + y + z
return result
add(1, z=3) # 返回 5
```
这里函数add()有三个参数,其中y和z指定了默认值。我们可以像这样传递参数:add(1, z=3),这里指定了x为1,z为3,y使用默认值1.
可变参数可以使用*和**运算符来实现参数的解包,例如:
```
def add(*args):
result = 0
for arg in args:
result += arg
return result
numbers = [1, 2, 3]
add(*numbers) # 返回 6
def print_info(**info):
for key, value in info.items():
print("{}: {}".format(key, value))
user_info = {"name": "Alice", "age": 18}
print_info(**user_info) # 输出 name: Alice, age: 18
```
这里函数add()接收任意数量的位置参数,函数print_info()接收任意数量的关键字参数。我们可以使用*运算符将列表或元组解包作为位置参数传递给函数,使用**运算符将字典解包作为关键字参数传递给函数。
阅读全文