3 python *号
单个星号代表这个位置接收任意多个非关键字参数,并转化成元表。也就是b 会接受除了a之外的剩下的非关键字参数,需要注意的是加在形参面前代表的是收集参数,如果*号加在了是实参上(例如第十四行),代表的是将输入迭代器拆成一个个元素

d1 = collections.OrderedDict()
d1['a'] = 'A'
d1['b'] = 'B'
d1['c'] = 'C'
d1['2'] = '2'
d1['1'] = '1'

def one(a,*b):
print(b)
def two(*b):
print(b)
c = [6,7,8,9]
one(1,2,3,4,5,6)
one(*c) #传入实参的时候,加上*号,可以将列表中的元素拆成一个个的元素
one(*d1) #传入实参的时候,加上*号,可以将字典中的元素拆成一个个的元素
one(c)
one(d1)
two(c)
two(d1)

 

 

** 双星号代表这个位置接收任意多个关键字参数,并按照关键字转化成字典 
用双星号传入实参的时候,一定是所有的实参必须带有关键字

def three1(**b):
    print(b)

three(a=1,b=2,c=3,d=4,e=5,f=6)
 

posted on 2019-09-29 17:12  黑暗尽头的超音速炬火  阅读(305)  评论(0)    收藏  举报