浅谈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 08 Python
Python网络爬虫神器PyQuery的基本使用教程
Feb 03 Python
python进行文件对比的方法
Dec 24 Python
python pandas写入excel文件的方法示例
Jun 25 Python
30秒学会30个超实用Python代码片段【收藏版】
Oct 15 Python
python的scipy实现插值的示例代码
Nov 12 Python
python3 求约数的实例
Dec 05 Python
python使用numpy实现直方图反向投影示例
Jan 17 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
Nov 30 Python
利用python绘制正态分布曲线
Jan 04 Python
Django权限控制的使用
Jan 07 Python
Python四款GUI图形界面库介绍
Jun 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 获取mysql数据库信息代码
2009/03/12 PHP
初学PHP的朋友 经常问的一些问题。不断更新
2011/08/11 PHP
PHP ? EasyUI DataGrid 资料取的方式介绍
2012/11/07 PHP
为jQuery增加join方法的实现代码
2010/11/28 Javascript
生成二维码方法汇总
2014/12/26 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
javascript实现验证IP地址等相关信息代码
2015/05/10 Javascript
js实现点击获取验证码倒计时效果
2021/01/28 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
JavaScript中数组的各种操作的总结(必看篇)
2017/02/13 Javascript
JS仿QQ好友列表展开、收缩功能(第二篇)
2017/07/07 Javascript
VsCode插件整理(小结)
2017/09/14 Javascript
Vue将页面导出为图片或者PDF
2020/08/17 Javascript
微信小程序事件 bindtap bindinput代码实例
2019/08/26 Javascript
Vue实现点击导航栏当前标签后变色功能
2020/08/19 Javascript
python回调函数中使用多线程的方法
2017/12/25 Python
Python实现翻转数组功能示例
2018/01/12 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
2019/04/17 Python
python实现nao机器人手臂动作控制
2019/04/29 Python
使用python进行广告点击率的预测的实现
2019/07/04 Python
pytorch 批次遍历数据集打印数据的例子
2019/12/30 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
2020/01/14 Python
python安装和pycharm环境搭建设置方法
2020/05/27 Python
python实现简单的井字棋游戏(gui界面)
2021/01/22 Python
python在协程中增加任务实例操作
2021/02/28 Python
Fairyseason:为个人和批发商提供女装和配件
2017/03/01 全球购物
Shell脚本如何向终端输出信息
2014/04/25 面试题
大学校园活动策划书
2014/02/04 职场文书
公交公司毕业生求职信
2014/02/15 职场文书
市场部经理岗位职责
2014/04/10 职场文书
2015年毕业生自我鉴定模板
2014/09/19 职场文书
计算机专业自荐信范文
2015/03/26 职场文书
Python基于百度AI实现抓取表情包
2021/06/27 Python
鲲鹏 CentOS 7 安装Python3.7
2022/05/11 Servers
SpringBoot项目部署到阿里云服务器的实现步骤
2022/06/28 Java/Android