浅谈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中请使用isinstance()判断变量类型
Aug 25 Python
Python入门篇之字典
Oct 17 Python
在VS Code上搭建Python开发环境的方法
Apr 06 Python
Pandas 对Dataframe结构排序的实现方法
Apr 10 Python
PyQt5每天必学之进度条效果
Apr 19 Python
python复制列表时[:]和[::]之间有什么区别
Oct 16 Python
python实现文本界面网络聊天室
Dec 12 Python
Python使用pyexecjs代码案例解析
Jul 13 Python
通过代码实例了解Python3编程技巧
Oct 13 Python
python用opencv 图像傅里叶变换
Jan 04 Python
基于python+selenium自动健康打卡的实现代码
Jan 13 Python
Python WSGI 规范简介
Apr 11 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
一个目录遍历函数
2006/10/09 PHP
《PHP编程最快明白》第五讲:php目录、文件操作
2010/11/01 PHP
php中通过Ajax如何实现异步文件上传的代码实例
2011/05/07 PHP
Thinkphp模板中使用自定义函数的方法
2012/09/23 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
微信API接口大全
2015/04/15 PHP
提交表单后 PHP获取提交内容的实现方法
2016/05/25 PHP
PHP数字前补0的自带函数sprintf 和number_format的用法(详解)
2017/02/06 PHP
PHP的静态方法与普通方法用法实例分析
2019/09/26 PHP
javascript 带有滚动条的表格,标题固定,带排序功能.
2009/11/13 Javascript
jquery提取元素里的纯文本不包含span等里的内容
2013/09/30 Javascript
javascript 用函数实现继承详解
2016/05/28 Javascript
JS获取中文拼音首字母并通过拼音首字母快速查找页面内对应中文内容的方法【附demo源码】
2016/08/19 Javascript
Bootstrap 模态框(Modal)插件代码解析
2016/12/21 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
ant-design-vue 快速避坑指南(推荐)
2020/01/21 Javascript
用Python实现QQ游戏大家来找茬辅助工具
2014/09/14 Python
PyChar学习教程之自定义文件与代码模板详解
2017/07/17 Python
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
Win10下python 2.7.13 安装配置方法图文教程
2018/09/18 Python
利用Python+阿里云实现DDNS动态域名解析的方法
2019/04/01 Python
Python 格式化打印json数据方法(展开状态)
2020/02/27 Python
Python web框架(django,flask)实现mysql数据库读写分离的示例
2020/11/18 Python
html5 video标签屏蔽右键视频另存为的js代码
2013/11/12 HTML / CSS
Canvas中设置width与height的问题浅析
2018/11/01 HTML / CSS
Lacoste美国官网:经典POLO衫品牌
2016/10/12 全球购物
Paul Smith英国官网:英国国宝级时装品牌
2019/03/21 全球购物
小学生操行评语大全
2014/04/22 职场文书
电子装配专业毕业生求职信
2014/04/23 职场文书
体育教师个人总结
2015/02/09 职场文书
个人原因辞职信模板
2015/05/13 职场文书
毕业论文致谢部分怎么写
2015/05/14 职场文书
土木工程毕业答辩开场白
2015/05/29 职场文书
Python中的tkinter库简单案例详解
2022/01/22 Python
golang实现浏览器导出excel文件功能
2022/03/25 Golang
vue-cli3.x配置全局的scss的时候报错问题及解决
2022/04/30 Vue.js