浅谈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实现文件分组复制到不同目录的例子
Jun 04 Python
一个超级简单的python web程序
Sep 11 Python
Python日志模块logging简介
Apr 13 Python
windows下python安装小白入门教程
Sep 18 Python
Flask之请求钩子的实现
Dec 23 Python
基于python的Paxos算法实现
Jul 03 Python
django-rest-framework 自定义swagger过程详解
Jul 18 Python
python实现图片上添加图片
Nov 26 Python
pytorch GAN生成对抗网络实例
Jan 10 Python
python中id函数运行方式
Jul 03 Python
Python判断远程服务器上Excel文件是否被人打开的方法
Jul 13 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
Jan 05 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修改session_id示例代码
2014/01/08 PHP
Laravel中任务调度console使用方法小结
2017/05/07 PHP
php基于session锁防止阻塞请求的方法分析
2017/08/07 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
2019/04/10 PHP
PHP7变量处理机制修改
2021/03/09 PHP
javascript 添加和移除函数的通用方法
2009/10/20 Javascript
jquery 常用操作方法
2010/01/28 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
javascript初学者常用技巧
2014/09/02 Javascript
js实现简单的联动菜单效果
2015/08/19 Javascript
JS实现上下左右对称的九九乘法表
2016/02/22 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
2016/05/05 Javascript
javascript 动态脚本添加的简单方法
2016/10/11 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
2016/11/25 Javascript
jQuery实现模拟搜索引擎的智能提示功能简单示例
2019/01/27 jQuery
JS定时器如何实现提交成功提示功能
2020/06/12 Javascript
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
2020/08/03 Javascript
[43:47]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第一局
2016/03/05 DOTA
python中MySQLdb模块用法实例
2014/11/10 Python
Python Web框架Flask中使用新浪SAE云存储实例
2015/02/08 Python
Flask框架通过Flask_login实现用户登录功能示例
2018/07/17 Python
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
python实现将一维列表转换为多维列表(numpy+reshape)
2019/11/29 Python
Python递归调用实现数字累加的代码
2020/02/25 Python
Python数据结构dict常用操作代码实例
2020/03/12 Python
判断Threading.start新线程是否执行完毕的实例
2020/05/02 Python
Python list和str互转的实现示例
2020/11/16 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
2021/02/07 Python
德国圣伯纳德草药屋:Kräuterhaus Sanct Bernhard(有中文站)
2018/08/05 全球购物
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
个人简历自我评价八例
2013/10/31 职场文书
领导调研接待方案
2014/02/27 职场文书
甲乙双方合作协议书
2014/10/13 职场文书
教师党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2019军训心得体会
2019/06/27 职场文书
python中mongodb包操作数据库
2022/04/19 Python