Python def函数的定义、使用及参数传递实现代码


Posted in Python onAugust 10, 2014

Python编程中对于某些需要重复调用的程序,可以使用函数进行定义,基本形式为:

def 函数名(参数1, 参数2, ……, 参数N):

执行语句函数名为调用的表示名,参数则是传入的参数,可以更具需要定义,也可以没有。

# 例1:简单的函数使用
# coding=gb2312

# 定义函数
def hello():
  print 'hello python!'
  
# 调用函数    
hello()
  
>>> hello python!

函数可以带参数和返回值,参数将按从左到右的匹配,参数可设置默认值,当使用函数时没给相应的参数时,会按照默认值进行赋值。

# 例2:累加计算值
# coding=gb2312

# 定义函数
def myadd(a=1,b=100):
  result = 0
  i = a
  while i <= b:  # 默认值为1+2+3+……+100
    result += i  
    i += 1
  return result

# 打印1+2+……+10    
print myadd(1,10)
print myadd()    # 使用默认参数1,100
print myadd(50)   # a赋值50,b使用默认值
  
>>> 55
>>> 5050
>>> 3825

Python 函数的参数传递时,值得注意的是参数传入时若为变量会被当作临时赋值给参数变量,如果是对象则会被引用。

# 例3:
# coding=gb2312

def testpara(p1,p2):
  p1 = 10
  p2.append('hello')

l = []   # 定义一数组对像
a = 20   # 给变量a赋值
testpara(a,l) # 变量a与对象数组l作为参数传入
print a   # 打印运行参数后的值
for v in l: # 打印数组对象的成员
  print v
    
>>> 20    # 调用函数后a变量并未被复值
>>> hello  # 而对象l数组则增加成员hello
Python 相关文章推荐
Python实现测试磁盘性能的方法
Mar 12 Python
python让图片按照exif信息里的创建时间进行排序的方法
Mar 16 Python
进一步探究Python中的正则表达式
Apr 28 Python
Python入门之三角函数全解【收藏】
Nov 08 Python
django admin添加数据自动记录user到表中的实现方法
Jan 05 Python
利用Opencv中Houghline方法实现直线检测
Feb 11 Python
python 格式化输出百分号的方法
Jan 20 Python
如何使用Python实现自动化水军评论
Jun 26 Python
django创建简单的页面响应实例教程
Sep 06 Python
Python字符串大小写转换拼接删除空白
Sep 19 Python
Python基于requests实现模拟上传文件
Apr 21 Python
python 实现音频叠加的示例
Oct 29 Python
Python-基础-入门 简介
Aug 09 #Python
Python入门及进阶笔记 Python 内置函数小结
Aug 09 #Python
Python正则表达式的使用范例详解
Aug 08 #Python
python脚本实现统计日志文件中的ip访问次数代码分享
Aug 06 #Python
Python写的Socks5协议代理服务器
Aug 06 #Python
Python写的PHPMyAdmin暴力破解工具代码
Aug 06 #Python
Python写的Discuz7.2版faq.php注入漏洞工具
Aug 06 #Python
You might like
关于时间计算的结总
2006/12/06 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
2013/06/18 PHP
Docker配置PHP开发环境教程
2016/12/21 PHP
js数值计算时使用parseInt进行数据类型转换(jquery)
2014/10/07 Javascript
JavaScript中的定时器之Item23的合理使用
2015/10/30 Javascript
js实现下拉列表选中某个值的方法(3种方法)
2015/12/17 Javascript
jquery判断类型是不是number类型的实例代码
2016/10/07 Javascript
老生常谈jquery中detach()和remove()的区别
2017/03/02 Javascript
微信小程序开发之实现自定义Toast弹框
2017/06/08 Javascript
JS加密插件CryptoJS实现AES加密操作示例
2018/08/16 Javascript
JavaScript中this用法学习笔记
2019/03/17 Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
2019/09/23 Javascript
vue addRoutes路由动态加载操作
2020/08/04 Javascript
跟老齐学Python之大话题小函数(1)
2014/10/10 Python
从源码解析Python的Flask框架中request对象的用法
2016/06/02 Python
python 按照固定长度分割字符串的方法小结
2018/04/30 Python
Python之文字转图片方法
2018/05/10 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
2018/12/19 Python
解决python线程卡死的问题
2019/02/18 Python
python多线程抽象编程模型详解
2019/03/20 Python
Pytorch反向求导更新网络参数的方法
2019/08/17 Python
django框架创建应用操作示例
2019/09/26 Python
Python3+selenium配置常见报错解决方案
2020/08/28 Python
通过HTML5 Canvas API绘制弧线和圆形的教程
2016/03/14 HTML / CSS
web字体加载方案优化小结
2019/11/29 HTML / CSS
AmazeUI 加载进度条的实现示例
2020/08/20 HTML / CSS
车间操作工岗位职责
2013/12/19 职场文书
公务员培训自我鉴定
2014/02/01 职场文书
工伤事故赔偿协议书
2014/04/15 职场文书
项目经理任命书范本
2014/06/05 职场文书
公司年底活动方案
2014/08/17 职场文书
幼儿教师继续教育培训心得体会
2016/01/19 职场文书
八年级语文教学反思
2016/03/03 职场文书
pandas中DataFrame数据合并连接(merge、join、concat)
2021/05/30 Python
MybatisPlus代码生成器的使用方法详解
2021/06/13 Java/Android
java多态注意项小结
2021/10/16 Java/Android