python 变量名前带星号
时间: 2023-10-17 17:27:11 浏览: 153
当在Python中定义变量时,如果变量名前带有一个星号(*),它表示一个可变数量的位置参数(即可接受多个传入值)。这种语法在函数定义和函数调用时都可以使用。
1. 函数定义中使用星号:
当定义函数时,如果参数列表中的某个参数名前带有星号(*),它将允许函数接受任意数量的位置参数,并将这些参数作为一个元组传递给该参数。例如:
```python
def foo(*args):
for arg in args:
print(arg)
foo(1, 2, 3)
```
输出:
```
1
2
3
```
在这个例子中,`*args`表示接受任意数量的位置参数,并将它们作为一个元组传递给`args`这个变量。函数调用`foo(1, 2, 3)`将会打印出每个参数的值。
2. 函数调用中使用星号:
当调用函数时,如果参数列表中的某个参数名前带有星号(*),它可以将一个序列(如列表或元组)解包成单独的位置参数。例如:
```python
def bar(a, b, c):
print(a, b, c)
my_list = [1, 2, 3]
bar(*my_list)
```
输出:
```
1 2 3
```
在这个例子中,`*my_list`将列表`[1, 2, 3]`解包成单独的位置参数传递给函数`bar(a, b, c)`。
综上所述,当在Python中使用星号(*)作为变量名的前缀时,它可以用于定义可变数量的位置参数或解包序列为单独的位置参数。
阅读全文