浅谈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通过正则表达式选取callback的方法
Jul 18 Python
Python 文件管理实例详解
Nov 10 Python
python 调用HBase的简单实例
Dec 18 Python
Tensorflow实现卷积神经网络的详细代码
May 24 Python
python调用百度地图WEB服务API获取地点对应坐标值
Jan 16 Python
Python3 批量扫描端口的例子
Jul 25 Python
python内存管理机制原理详解
Aug 12 Python
python实现实时视频流播放代码实例
Jan 11 Python
python 使用cx-freeze打包程序的实现
Mar 14 Python
Python hashlib模块的使用示例
Oct 09 Python
python录音并调用百度语音识别接口的示例
Dec 01 Python
Python-OpenCV教程之图像的位运算详解
Jun 21 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加密解密的代码
2006/10/09 PHP
解析如何用php screw加密php源代码
2013/06/20 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
laravel批量生成假数据的方法
2019/10/09 PHP
showModelessDialog()使用详解
2006/09/07 Javascript
通用javascript脚本函数库 方便开发
2009/10/13 Javascript
Javascript 类与静态类的实现
2010/04/01 Javascript
JS实现图片横向滚动效果示例代码
2013/09/04 Javascript
JavaScript 基本概念
2015/01/20 Javascript
JavaScript中三个等号和两个等号的区别(== 和 ===)浅析
2016/09/22 Javascript
html、css和jquery相结合实现简单的进度条效果实例代码
2016/10/24 Javascript
详解webpack 入门与解析
2018/04/09 Javascript
vue element项目引入icon图标的方法
2018/06/06 Javascript
vue中各选项及钩子函数执行顺序详解
2018/08/25 Javascript
WEEX环境搭建与入门详解
2019/10/16 Javascript
JavaScript利用键盘码控制div移动
2020/03/19 Javascript
vue 组件间的通信之子组件向父组件传值的方式
2020/07/29 Javascript
原生JavaScript实现贪吃蛇游戏
2020/11/04 Javascript
vue的hash值原理也是table切换实例代码
2020/12/14 Vue.js
[56:41]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs OG
2018/04/01 DOTA
python多线程编程方式分析示例详解
2013/12/06 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
2019/06/04 Python
详解mac python+selenium+Chrome 简单案例
2019/11/08 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
Python变量及数据类型用法原理汇总
2020/08/06 Python
Java语言程序设计测试题改错题部分
2014/07/22 面试题
理工大学毕业生自荐信
2013/11/01 职场文书
养殖人员的创业计划书范文
2013/12/26 职场文书
企业总经理岗位职责
2014/02/13 职场文书
工作分析计划书
2014/04/30 职场文书
计算机专业毕业生求职信
2014/04/30 职场文书
我的中国梦演讲稿500字
2014/08/19 职场文书
婚礼答谢词范文
2015/09/29 职场文书
用Python编写简单的gRPC服务的详细过程
2021/07/04 Python
NodeJs使用webpack打包项目的方法详解
2022/02/28 NodeJs