python中的*和**的作用
python中的 * 和 ** ,能够让函数支持任意数量的参数,它们在函数定义和调用中,有着不同的目的。一、 打包参数* 的作用:在函数定义中,收集所有位置参数到一个新的元组,并将整个元组赋值给变量argsdef f(*tup1):# * 在函数定义中使用print(tup1)f() 结果:()f(1) 结果:(1,)f(1, 2, 3, 4) 结果:(1, 2, 3, 4)** 的作用:在函数定
·
python中的 * 和 ** ,通过打包参数让函数支持任意数量的参数,通过解包参数,让函数参数传递形式更简单
一、 打包参数
* 的作用:在函数定义中,收集所有位置参数到一个新的元组,并将整个元组赋值给变量
def f(*tup1): # * 在函数定义中使用
print(tup1)
f(1) 结果:(1,)
f(1, 2, 3, 4) 结果:(1, 2, 3, 4)
** 的作用:在函数定义中,收集关键字参数到一个新的字典,并将整个字典赋值给变量
def f(**dict1): # ** 在函数定义中使用
print(dict1)
f() 结果:{}
f(a=1, b=2) 结果:{'a': 1, 'b': 2}
二、 解包参数
* 的作用:在函数调用中,* 能够将元组或列表解包成不同的参数
def func(a, b, c, d):
print(a, b, c, d)
tup1= (1, 2, 3, 4)
func(*tup1)
2 3 4
list1 = [1, 2, 3, 4]
func(*list1)
2 3 4
** 的作用:在函数调用中,** 会以键/值的形式解包一个字典,使其成为一个独立的关键字参数
class experiment:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def print_out(self):
print("测试案例:")
print (self.a, self.b, self.c)
dict = {'a': 1, 'b': 2, 'c': '3'}
m = experiment(**dict)
m.print_out()
输出结果:
1,2,3

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)