xinhu1300 发表于 2017-4-28 06:37:15

python传参数方式

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

def myprint(*commends,**map):
for comm in commends:
print comm
for key in map.keys():
print key,map
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传值法,以后的都必须是。
 
页: [1]
查看完整版本: python传参数方式