浅谈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处理python编码问题
Mar 13 Python
python嵌套函数使用外部函数变量的方法(Python2和Python3)
Jan 31 Python
python读取oracle函数返回值
Jul 18 Python
解读! Python在人工智能中的作用
Nov 14 Python
利用Tkinter(python3.6)实现一个简单计算器
Dec 21 Python
Python实现FM算法解析
Jun 18 Python
python 实现方阵的对角线遍历示例
Nov 29 Python
python 中值滤波,椒盐去噪,图片增强实例
Dec 18 Python
Numpy与Pytorch 矩阵操作方式
Dec 27 Python
python各层级目录下import方法代码实例
Jan 20 Python
Python数据结构dict常用操作代码实例
Mar 12 Python
Python 生成短8位唯一id实战教程
Jan 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
php下关于中英数字混排的字符串分割问题
2010/04/06 PHP
PHP的autoload自动加载机制使用说明
2010/12/28 PHP
PHP开发不能违背的安全规则 过滤用户输入
2011/05/01 PHP
基于simple_html_dom的使用小结
2013/07/01 PHP
php mysql数据库操作类(实例讲解)
2017/08/06 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
2018/06/16 PHP
详解laravel安装使用Passport(Api认证)
2018/07/27 PHP
Prototype Selector对象学习
2009/07/23 Javascript
jquery URL参数判断,确定菜单样式
2010/05/31 Javascript
javascript表单验证 - Parsley.js使用和配置
2013/01/25 Javascript
JavaScript将相对地址转换为绝对地址示例代码
2013/07/19 Javascript
js使用eval解析json(js中使用json)
2014/01/17 Javascript
javascript屏蔽右键代码
2014/05/15 Javascript
基于jquery实现智能表单验证操作
2016/05/09 Javascript
nodejs的HTML分析利器node-jquery用法浅析
2016/11/08 NodeJs
Vue2.x中的Render函数详解
2017/05/30 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
JS函数动态传递参数的方法分析【基于arguments对象】
2019/06/05 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
2020/04/26 Javascript
JS实现单张或多张图片持续无缝滚动的示例代码
2020/05/10 Javascript
Vue-CLI 3 scp2自动部署项目至服务器的方法
2020/07/24 Javascript
前端开发基础javaScript的六大作用
2020/08/06 Javascript
如何阻止移动端浏览器点击图片浏览
2020/08/29 Javascript
写一个Vue loading 插件
2020/11/09 Javascript
Python中join和split用法实例
2015/04/14 Python
Python 类与元类的深度挖掘 II【经验】
2016/05/06 Python
Python实现的特征提取操作示例
2018/12/03 Python
python字符串的index和find的区别详解
2020/06/20 Python
浅析Python迭代器的高级用法
2020/07/16 Python
Python3爬虫带上cookie的实例代码
2020/07/28 Python
美发活动策划书
2014/01/14 职场文书
总裁助理岗位职责
2014/02/17 职场文书
党校党性分析材料
2014/12/19 职场文书
单位委托函范文
2015/01/29 职场文书
先进教师个人总结
2015/02/11 职场文书
Laravel中获取IP的真实地理位置
2021/04/01 PHP