浅谈Python中函数的参数传递


Posted in Python onJune 21, 2016

1.普通的参数传递

>>> def add(a,b): 
  return a+b 
 
>>> print add(1,2) 
3
>>> print add('abc','123') 
abc123

2.参数个数可选,参数有默认值的传递

>>> def myjoin(string,sep='_'): 
  return sep.join(string) 
 
>>> myjoin('Test') 
'T_e_s_t'
>>> myjoin('Test',';') 
'T;e;s;t' 
?
>>> def myrange(start=0,stop,step=1): 
  print stop,start,step 
   
SyntaxError: non-default argument follows default argument

参数sep的缺省值是'_' 如果这个参数不给定值就会使用缺省值 如果给定 则使用给定的值

需要注意 如果一个参数是可选参数 那么它后面所有的参数都应该是可选的,另外 可选参数的顺序颠倒依然可以正确的给对应的参数赋值 但必须清楚的指明变量名和值

3.个数可变参数

>>> def printf(fmt,*arg): 
  print fmt%arg 
 
   
>>> printf ('%d is larger than %d',2,1) 
2 is larger than 1

函数中的*arg必须是最后一个参数,*表示任意多个参数,*arg会把除了前面以外所有的参数放到一个tuple里面传递给函数,可以在函数中通过arg来访问

arg是一个tuple,可以通过访问tuple的方法在函数中访问arg

另一种方式传递任意个数参数是通过dictionary的方式来传递 同样也可以接受多个参数 但是每个参数需要指明名称对应关系比如a=1,b=2,c=3

>>> def printf(format,**keyword): 
  for k in keyword.keys(): 
    print "keyword[%s] %s %s"%(k,format,keyword[k]) 
 
     
>>> printf('is',one=1,tow=2,three=3) 
keyword[three] is 3
keyword[tow] is 2
keyword[one] is 1

这些方法可以混在一起用 但是一定要注意顺序,函数会先接受固定参数,然后可选参数,然后任意参数(tuple),然后字典任意参数(dict)

以上这篇浅谈Python中函数的参数传递就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
理解Python垃圾回收机制
Feb 12 Python
Python使用自带的ConfigParser模块读写ini配置文件
Jun 26 Python
详解Python中的array数组模块相关使用
Jul 05 Python
python实现微信接口(itchat)详细介绍
Oct 23 Python
多个应用共存的Django配置方法
May 30 Python
Python3实现的判断回文链表算法示例
Mar 08 Python
一行Python代码过滤标点符号等特殊字符
Aug 12 Python
Python从文件中读取指定的行以及在文件指定位置写入
Sep 06 Python
利用Python的turtle库绘制玫瑰教程
Nov 23 Python
python 轮询执行某函数的2种方式
May 03 Python
Pycharm激活方法及详细教程(详细且实用)
May 12 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
Jan 06 Python
对比Python中__getattr__和 __getattribute__获取属性的用法
Jun 21 #Python
常见python正则用法的简单实例
Jun 21 #Python
小议Python中自定义函数的可变参数的使用及注意点
Jun 21 #Python
简单讲解Python编程中namedtuple类的用法
Jun 21 #Python
Python编程中实现迭代器的一些技巧小结
Jun 21 #Python
Centos Python2 升级到Python3的简单实现
Jun 21 #Python
Python的Django框架中forms表单类的使用方法详解
Jun 21 #Python
You might like
利用php递归实现无限分类 格式化数组的详解
2013/06/08 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
PHP设计模式之适配器模式原理与用法分析
2018/04/25 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
2018/08/10 PHP
IE浏览器PNG图片透明效果代码
2008/09/02 Javascript
jquery默认校验规则整理
2014/03/24 Javascript
10分钟学会写Jquery插件实例教程
2014/09/06 Javascript
JS排序方法(sort,bubble,select,insert)代码汇总
2016/01/30 Javascript
浅谈JS对html标签的属性的干预以及对CSS样式表属性的干预
2017/06/25 Javascript
vue开发调试神器vue-devtools使用详解
2017/07/13 Javascript
AngularJS 实现点击按钮获取验证码功能实例代码
2017/07/13 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
解决Vue 项目打包后favicon无法正常显示的问题
2018/09/01 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
2019/09/16 Javascript
Python判断变量是否已经定义的方法
2014/08/18 Python
Python中join和split用法实例
2015/04/14 Python
Python实现基于权重的随机数2种方法
2015/04/28 Python
Python中属性和描述符的正确使用
2016/08/23 Python
Python 处理数据的实例详解
2017/08/10 Python
Python进程间通信之共享内存详解
2017/10/30 Python
Python中turtle作图示例
2017/11/15 Python
Python实现二维曲线拟合的方法
2018/12/29 Python
基于python3抓取pinpoint应用信息入库
2020/01/08 Python
Django中文件上传和文件访问微项目的方法
2020/04/27 Python
解决Keras中CNN输入维度报错问题
2020/06/29 Python
10个python爬虫入门实例(小结)
2020/11/01 Python
英国可持续奢侈品包包品牌:Elvis & Kresse
2018/08/05 全球购物
ktv中秋节活动方案
2014/01/30 职场文书
2014年创卫实施方案
2014/02/18 职场文书
小学开学典礼主持词
2014/03/19 职场文书
大学生就业求职信
2014/06/12 职场文书
单位委托书怎么写
2014/09/21 职场文书
2014幼儿园大班工作总结
2014/11/10 职场文书
婚宴领导致辞
2015/07/28 职场文书
2016党员发展对象培训心得体会
2016/01/08 职场文书
Python连续赋值需要注意的一些问题
2021/06/03 Python