浅谈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 01 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
Jan 05 Python
OPENCV去除小连通区域,去除孔洞的实例讲解
Jun 21 Python
python 从csv读数据到mysql的实例
Jun 21 Python
Pandas DataFrame 取一行数据会得到Series的方法
Nov 10 Python
Python3爬楼梯算法示例
Mar 04 Python
python字符串Intern机制详解
Jul 01 Python
python单例模式的多种实现方法
Jul 26 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
Nov 19 Python
Tensorflow中的dropout的使用方法
Mar 13 Python
详解Python爬虫爬取博客园问题列表所有的问题
Jan 18 Python
超级详细实用的pycharm常用快捷键
May 12 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
锁定年轻人的双倍活力 星巴克推出星倍醇即饮浓咖啡
2021/03/03 咖啡文化
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年
2009/06/08 PHP
PHP数组循环操作详细介绍 附实例代码
2013/02/03 PHP
php像数组一样存取和修改字符串字符
2014/03/21 PHP
PHP解析目录路径的3个函数总结
2014/11/18 PHP
php实现通过soap调用.Net的WebService asmx文件
2017/02/27 PHP
PHP基于IMAP收取邮件的方法示例
2017/08/07 PHP
jQuery插件zoom实现图片全屏放大弹出层特效
2015/04/15 Javascript
jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
2015/12/08 Javascript
jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
2016/08/31 Javascript
JS点击缩略图整屏居中放大图片效果
2017/07/04 Javascript
用nodejs实现json和jsonp服务的方法
2017/08/25 NodeJs
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
2018/03/22 Javascript
详解redis在nodejs中的应用
2018/05/02 NodeJs
vue使用video.js进行视频播放功能
2019/07/18 Javascript
node.JS事件机制与events事件模块的使用方法详解
2020/02/06 Javascript
[49:17]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第三场 1月26日
2021/03/11 DOTA
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
Python 功能和特点(新手必学)
2015/12/30 Python
微信跳一跳python自动代码解读1.0
2018/01/12 Python
Python程序运行原理图文解析
2018/02/10 Python
详解python中的线程与线程池
2019/05/10 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
Python 支持向量机分类器的实现
2020/01/15 Python
Django静态资源部署404问题解决方案
2020/05/11 Python
如何在scrapy中集成selenium爬取网页的方法
2020/11/18 Python
CSS3的calc()做响应模式布局的实现方法
2017/09/06 HTML / CSS
英国家用电器折扣网站:Electrical Discount UK
2018/09/17 全球购物
小班下学期评语
2014/05/04 职场文书
会计电算化专业求职信
2014/06/10 职场文书
2014年共青团工作总结
2014/12/10 职场文书
经理助理岗位职责
2015/02/02 职场文书
个人承诺书格式范文
2015/04/29 职场文书
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL
PostgreSQL数据库去除重复数据和运算符的基本查询操作
2022/04/12 PostgreSQL
Grafana可视化监控系统结合SpringBoot使用
2022/04/19 Redis