浅谈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 实现一个颜色色值转换的小工具
Dec 06 Python
关于Python如何避免循环导入问题详解
Sep 14 Python
python实现将excel文件转化成CSV格式
Mar 22 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
Jul 30 Python
Python发送邮件测试报告操作实例详解
Dec 08 Python
python3 property装饰器实现原理与用法示例
May 15 Python
Django中的静态文件管理过程解析
Aug 01 Python
face++与python实现人脸识别签到(考勤)功能
Aug 28 Python
Python程序暂停的正常处理方法
Nov 07 Python
python生成xml时规定dtd实例方法
Sep 21 Python
python 实现客户端与服务端的通信
Dec 23 Python
Python网络编程之ZeroMQ知识总结
Apr 25 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
用 PHP5 轻松解析 XML
2006/12/04 PHP
php实现贪吃蛇小游戏
2016/07/26 PHP
PHP获取真实客户端的真实IP
2017/03/07 PHP
对联广告js flash激活
2006/10/19 Javascript
(仅IE下有效)关于checkbox 三态
2007/05/12 Javascript
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
2013/05/07 Javascript
jquery实现清新实用的网页菜单效果
2015/08/28 Javascript
js实现仿爱微网两级导航菜单效果代码
2015/08/31 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
2015/11/04 Javascript
浅谈angularJS中的事件
2016/07/12 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
2016/11/25 Javascript
JS实现元素上下左右移动效果
2017/10/18 Javascript
微信小程序上传图片实例
2018/05/28 Javascript
javascript将非数值转换为数值
2018/09/13 Javascript
vue项目使用.env文件配置全局环境变量的方法
2019/10/24 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
[06:43]DAC2018 4.5 SOLO赛 Maybe vs Paparazi
2018/04/06 DOTA
python的即时标记项目练习笔记
2014/09/18 Python
在Python的web框架中编写创建日志的程序的教程
2015/04/30 Python
python实现的希尔排序算法实例
2015/07/01 Python
Python过滤列表用法实例分析
2016/04/29 Python
pandas的object对象转时间对象的方法
2018/04/11 Python
pip安装时ReadTimeoutError的解决方法
2018/06/12 Python
python numpy 反转 reverse示例
2019/12/04 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
2020/01/25 Python
MCAKE蛋糕官方网站:一直都是巴黎的味道
2018/02/06 全球购物
如何开发一个JQuery插件
2016/07/28 面试题
城市轨道专业个人求职信范文
2013/09/23 职场文书
店长助理岗位职责
2013/12/13 职场文书
4s店总经理岗位职责
2013/12/31 职场文书
单位承诺书格式
2014/05/21 职场文书
统计专业自荐书
2014/07/06 职场文书
航海技术专业毕业生推荐信
2014/07/09 职场文书
镇副书记专题民主生活会对照检查材料思想汇报
2014/10/02 职场文书
辣妈辣妹观后感
2015/06/10 职场文书
小学生暑假安全公约
2015/07/14 职场文书