1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > python啥意思-星号*在Python中是什么意思?

python啥意思-星号*在Python中是什么意思?

时间:2021-12-28 03:53:05

相关推荐

python啥意思-星号*在Python中是什么意思?

小编典典

假设知道位置和关键字参数是什么,下面是一些示例:

范例1:

# Excess keyword argument (python 2) example:

def foo(a, b, c, **args):

print "a = %s" % (a,)

print "b = %s" % (b,)

print "c = %s" % (c,)

print args

foo(a="testa", d="excess", c="testc", b="testb", k="another_excess")

如你在上面的示例中所见,函数a, b, c签名中仅包含参数foo。由于d和k不存在,因此将它们放入args字典。该程序的输出为:

a = testa

b = testb

c = testc

{'k': 'another_excess', 'd': 'excess'}

范例2:

# Excess positional argument (python 2) example:

def foo(a, b, c, *args):

print "a = %s" % (a,)

print "b = %s" % (b,)

print "c = %s" % (c,)

print args

foo("testa", "testb", "testc", "excess", "another_excess")

在这里,由于我们正在测试位置参数,因此多余的参数必须在最后,并将*args它们打包成一个元组,因此该程序的输出为:

a = testa

b = testb

c = testc

('excess', 'another_excess')

你还可以将字典或元组解压缩为函数的参数:

def foo(a,b,c,**args):

print "a=%s" % (a,)

print "b=%s" % (b,)

print "c=%s" % (c,)

print "args=%s" % (args,)

argdict = dict(a="testa", b="testb", c="testc", excessarg="string")

foo(**argdict)

输出:

a=testa

b=testb

c=testc

args={'excessarg': 'string'}

def foo(a,b,c,*args):

print "a=%s" % (a,)

print "b=%s" % (b,)

print "c=%s" % (c,)

print "args=%s" % (args,)

argtuple = ("testa","testb","testc","excess")

foo(*argtuple)

输出:

a=testa

b=testb

c=testc

args=('excess',)

-02-18

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。