- 如果在定义函数时,*代表收集参数,**代表收集关键字参数。
- 如果在调用函数时,*和**都是分配参数用的
在Python中,**
有两个主要的用途:
- 作为数学运算符,表示幂运算。例如,
2 ** 3
的结果是8,因为2的3次方等于8。 - 在函数调用和定义中,表示关键字参数的字典。例如,你可以使用
**
来将一个字典的键值对作为关键字参数传递给一个函数。
下面是两个例子:
print(2 ** 3) # 输出:8
def greet(name, greeting):
print(f"{greeting}, {name}!")
params = {"name": "Alice", "greeting": "Hello"}
greet(**params) # 输出:Hello, Alice!
在这个例子中,**params
将params
字典的键值对解包并作为关键字参数传递给greet
函数。
函数定义
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="Alice", age=25)
# 输出:
# name: Alice
# age: 25
在这个例子中,**kwargs
在函数定义中用于接收任意数量的关键字参数,并将它们保存在一个名为kwargs
的字典中
在Python中,*
符号有两个主要的用途:
- 作为数学运算符,表示乘法。例如,
2 * 3
的结果是6。 - 在函数调用和定义中,表示可变数量的位置参数。你可以使用
*
来将一个列表或元组的元素作为位置参数传递给一个函数,或者在函数定义中接收任意数量的位置参数。
下面是两个例子:
print(2 * 3) # 输出:6
def greet(greeting, name):
print(f"{greeting}, {name}!")
params = ["Hello", "Alice"]
greet(*params) # 输出:Hello, Alice!
在这个例子中,*params
将params
列表的元素解包并作为位置参数传递给greet
函数。
例子3:函数定义
def print_numbers(*args):
for number in args:
print(number)
print_numbers(1, 2, 3, 4, 5)
# 输出:
# 1
# 2
# 3
# 4
# 5
在这个例子中,*args
在函数定义中用于接收任意数量的位置参数,并将它们保存在一个名为args
的元组中。
Python中的*(星号)和(双星号)完全详解_python中_zkk9527的博客-CSDN博客
标签:基本,name,Python,数据类型,Alice,greet,params,print From: https://www.cnblogs.com/meidanlong/p/17912963.html