浅谈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 18 Python
Python中的下划线详解
Jun 24 Python
Python实现批量修改文件名实例
Jul 08 Python
详谈Python中列表list,元祖tuple和numpy中的array区别
Apr 18 Python
使用Python的SymPy库解决数学运算问题的方法
Mar 27 Python
python yield关键词案例测试
Oct 15 Python
详解python中各种文件打开模式
Jan 19 Python
通过实例解析Python return运行原理
Mar 04 Python
Python中的wordcloud库安装问题及解决方法
May 27 Python
python属于解释型语言么
Jun 15 Python
详解Python中第三方库Faker
Sep 25 Python
Pandas中DataFrame交换列顺序的方法实现
Dec 14 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电台频率大全 - 19 广东省
2020/03/11 无线电
php 更新数据库中断的解决方法
2009/06/05 PHP
PHP 防注入函数(格式化数据)
2011/08/08 PHP
PHP文件上传主要代码讲解
2013/09/30 PHP
php实现微信公众平台账号自定义菜单类
2014/12/02 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
理解Javascript_03_javascript全局观
2010/10/11 Javascript
js窗口关闭提示信息(兼容IE和firefox)
2015/10/23 Javascript
node.js回调函数之阻塞调用与非阻塞调用
2015/11/13 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
jQuery插件MovingBoxes实现左右滑动中间放大图片效果
2017/02/28 Javascript
vuejs如何配置less
2017/04/25 Javascript
详解让sublime text3支持Vue语法高亮显示的示例
2017/09/29 Javascript
Vue异步加载about组件
2017/10/31 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
2019/04/24 Javascript
localstorage实现带过期时间的缓存功能
2019/06/28 Javascript
axios 实现post请求时把对象obj数据转为formdata
2019/10/31 Javascript
JavaScript实现烟花绽放动画效果
2020/08/04 Javascript
jQuery实现动态加载瀑布流
2020/09/01 jQuery
Python学习小技巧之列表项的推导式与过滤操作
2017/05/20 Python
Python单体模式的几种常见实现方法详解
2017/07/28 Python
python的slice notation的特殊用法详解
2019/12/27 Python
使用css3实现的windows8开机加载动画
2014/12/09 HTML / CSS
ECCO爱步美国官网:来自丹麦的鞋履品牌
2016/11/23 全球购物
Infababy英国:婴儿推车、Travel System婴儿车和婴儿汽车座椅销售
2018/05/23 全球购物
教师自荐书
2013/10/08 职场文书
自考毕业生自我鉴定
2013/11/04 职场文书
会计专业大学生职业生涯规划书
2014/02/11 职场文书
品牌宣传方案
2014/03/21 职场文书
家长会标语
2014/06/24 职场文书
护士医德医风自我评价
2014/09/15 职场文书
张家口市高新区党工委群众路线教育实践活动整改方案
2014/10/25 职场文书
圣诞节开幕词
2015/01/29 职场文书
入党宣誓仪式主持词
2015/06/29 职场文书
python实现学生信息管理系统(面向对象)
2022/06/05 Python