Python中的星号参数与双星参数
当我们声明一个星号的参数,如*param,那么从这一点开始到结束的所有位置的参数都被收集到一个叫param的元组中。同样,当我们声明一个双星参数,如**param,那么从那一点开始到结束的所有关键字参数都被收集到一个叫param的字典中。#!/usr/bin/env pythondef total(initial = 5, *numbers, **keywords): cou
当我们声明一个星号的参数,如*param,那么从这一点开始到结束的所有位置的参数都被收集到一个叫param的元组中。
同样,当我们声明一个双星参数,如**param,那么从那一点开始到结束的所有关键字参数都被收集到一个叫param的字典中。
#!/usr/bin/env python
def total(initial = 5, *numbers, **keywords):
count = initial
print('count now is',count)
for number in numbers:
count += number
print('number is',number)
print('count now is',count)
for key in keywords:
count += keywords[key]
print('key is', key)
print('keywords is', keywords)
print('keywords[key] is', keywords[key])
print('count now is',count)
return count
print(total(10, 1, 2, 3, vegetables = 50, fruits = 100))
上面这段代码中,调用total函数时,先将10传给形参initial,再将(1,2,3)传给形参元组numbers,最后将{vegetables = 50, fruit = 100}传给形参字典keywords。
应注意,传递字典时用的形式是 key = value
更多推荐
所有评论(0)