首页 > 编程 > Python > 正文

python传递参数方式小结

2020-02-23 00:47:55
字体:
来源:转载
供稿:网友

本文实例总结了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")

输出:

hellowordusername tianname 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新手入门,在python中函式定义主要有四种方式:

① F(arg1,arg2,...),最常见的定义方式,一个函式可以定义任何个参数,每个参数间用逗号分割,用这种参数在调用的时候必须在函式名后面的小括号中提供个数相等的值(实参),并且顺序必须相同,形参与实参一一对应

def a(x,y):   print x,y

调用a函式,a(1,2)则x=1,y=2,如果a(1)或者a(1,2,3)则会出错

② F(arg1,arg2=value2,...agrN=valueN),则将为函式提供默认值。

def a(x,y=3):  print x,y

调用该函式,a(1,2)则x=1,y=2,如果a(1)不会导致错误,此时x=1,y=3,y值将使用默认值,a(y=4,x=2)同理

可变参数:

③ F(*arg1),以一个*加形参的方式来表示函式的实参个数不确定,参数个数>=0,采用这样的方式定义函式,在函式内部将以实参名的方式构建一个元组(tuple)

def a(*x):    # 定义一个名为x的元组def a(*t):    print x >>>a(1) (1,) >>>a() None >>>a(1,2,3) (1,2,3)

遍历该元组(计算总和)的一种方式,此时r定义为一元组:

def y(*r):  x = 0  for t in r:    x += t  print x

④ F(**arg)形参名前加2个**表示在函式内部将被存放在以形参名为标识符的dictionary,这时调用将使用arg1=value1,arg2=value2...

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表