python传参数方式

当形参如*arg时表示传入数组,当形参如**args时表示传入字典。

def myprint(*commends,**map):
  for comm in commends:
  print comm
  for key in map.keys():
  print key,map[key]
myprint("hello","word",username="tian",name="wei")
 

 


输出:

hello
word
username tian
name wei

 

  python中定义一个函数,可以通过正常的只传入值或key-value的方法调用。但是如果第一个时参数传入的是key-value的方法,那么后面的必须都是key-value方法,如果第一个不是,那么后面的可以根据情况再传入值就可以了。

例子:

def parrot(voltage="fff", state='a stiff', action='voom', type='Norwegian Blue'):
  print "-- This parrot wouldn't", action,
  print "if you put", voltage, "volts through it."
  print "-- Lovely plumage, the", type
  print "-- It's", state, "!"
parrot(1000)#可以
parrot(action = 'VOOOOOM', voltage = 1000000)#可以,都是key-value方法
parrot('a thousand', state = 'pushing up the daisies')#可以,第一个实参为直接传入法,后面无所谓了
parrot('a million', 'bereft of life', 'jump')#可以,都是传值,而且由于形参都有默认值,则按顺序一个个替换
parrot(voltage="33","ff","abc")# 不可以,第一个为Key-value传值法,以后的都必须是。
 

 

你可能感兴趣的:(python,UP)