本文实例总结了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新手入门,在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...
def a(**b): print b >>>a() None >>>a(x=1,y=2) {'y':2,'x':1} #注意遍历返回的顺序与形参位置顺序相反 >>>a(1,2) #error
可通过以下方式来获取预期键值对,如果形参是未定义'y'的键,将返回None
def a(**x): print x.get('y') >>>a(x=1,y=2) 2 >>>a(x=1) None >>>a(x=1,b=2) None
Python参数调用过程按照以上四种方法优先级依次降低。
①方式解析,然后是②中的arg=value方式,再分别按照③>④优先级传参
这是自己第一份通过Blog整理的学习笔记,希望对自己,对浏览至此的各位朋友有所帮助,以上函式命名不符合规范,仅用于简单标识说明,使用python 2.6.2
希望本文所述对大家的Python程序设计有所帮助。
相关文章推荐
• isinstance在python中是什么意思• python Django模板的使用方法• 编写自定义的Django模板加载器的简单示例• Python中字典创建、遍历、添加等实用操作技巧合集• 详解Python中的条件判断语句PHP入门视频教程之一周学会PHP
所有计算机语言的学习都要从基础开始,《PHP入门视频教程之一周学会PHP》不仅是PHP的基础部分更主要的是PHP语言的核心技术,是学习PHP必须掌握的内容,任何PHP项目的实现都离不开这部分的内容,通过一周的深入学习让你快速掌握PHP的各项技能,助你的工作和学习更上层楼!
PHP教程246751次播放
弹指间学会HTML视频教程
《弹指间学会HTML视频教程》从最基本的概念开始讲起,步步深入,带领大家学习HTML,了解各种常用标签的意义以及基本用法,学习HTML知识为以后的学习打下基础
HTML教程70898次播放
弹指间学会CSS视频教程
CSS即层叠样式表(Cascading StyleSheet)。 在网页制作时采用层叠样式表技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。
CSS教程43989次播放
CSS3 最新视频教程
《CSS3 最新视频教程》中 CSS 用于控制网页的样式和布局。 CSS3 是最新的 CSS 标准, 本教程向您讲解 CSS3 中的新特性。通过实例进行讲解,更容易提高学习的效率!
CSS3教程30809次播放