浅谈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 11 Python
Python实现将目录中TXT合并成一个大TXT文件的方法
Jul 15 Python
Windows中安装使用Virtualenv来创建独立Python环境
May 31 Python
django框架如何集成celery进行开发
May 24 Python
Python PyQt5实现的简易计算器功能示例
Aug 23 Python
Python xlwt设置excel单元格字体及格式
Apr 18 Python
Python中optparser库用法实例详解
Jan 26 Python
python使用socket创建tcp服务器和客户端
Apr 12 Python
python中while和for的区别总结
Jun 28 Python
Python用5行代码实现批量抠图的示例代码
Apr 14 Python
基于Python实现2种反转链表方法代码实例
Jul 06 Python
python基础入门之字典和集合
Jun 13 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
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
php正则校验用户名介绍
2008/07/19 PHP
调整优化您的LAMP应用程序的5种简单方法
2011/06/26 PHP
洪恩在线成语词典小偷程序php版
2012/04/20 PHP
PHP遍历某个目录下的所有文件和子文件夹的实现代码
2013/06/28 PHP
PHP循环函数使用介绍之PHP基础入门教程
2013/09/21 PHP
PDO::errorCode讲解
2019/01/28 PHP
JavaScript实现大数的运算
2014/11/24 Javascript
js面向对象之公有、私有、静态属性和方法详解
2015/04/17 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
jsp 自动编译机制详细介绍
2016/12/01 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
2017/03/29 Javascript
JavaScript运动框架 多物体任意值运动(三)
2017/05/17 Javascript
想用好React的你必须要知道的一些事情
2017/07/24 Javascript
[js高手之路]寄生组合式继承的优势详解
2017/08/28 Javascript
Vue 过滤器filters及基本用法
2017/12/26 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
2019/09/21 Javascript
js生成1到100的随机数最简单的实现方法
2020/02/07 Javascript
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
[02:45]DOTA2英雄敌法师基础教程
2013/11/25 DOTA
[01:16]2014DOTA2 TI专访C9战队EE:中国五强中会占三席
2014/07/10 DOTA
python3模块smtplib实现发送邮件功能
2018/05/22 Python
python函数定义和调用过程详解
2020/02/09 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
2020/04/20 Python
浅析Python中字符串的intern机制
2020/10/03 Python
用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
2021/01/29 Python
Sneaker Studio罗马尼亚网站:购买运动鞋
2018/11/04 全球购物
德国网上超市:myTime.de
2019/08/26 全球购物
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/11/24 面试题
车间班组长的职责
2013/12/13 职场文书
学校大课间活动方案
2014/01/30 职场文书
人民的好儿女观后感
2015/06/18 职场文书
消费者理赔投诉书
2015/07/02 职场文书
JavaScript实例 ODO List分析
2022/01/22 Javascript