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笔记(1) 关于我们应不应该继续学习python
Oct 24 Python
Python3写入文件常用方法实例分析
May 22 Python
打包发布Python模块的方法详解
Sep 18 Python
python+PyQT实现系统桌面时钟
Jun 16 Python
Python脚本完成post接口测试的实例
Dec 17 Python
解决Python中list里的中文输出到html模板里的问题
Dec 17 Python
Python使用GitPython操作Git版本库的方法
Feb 29 Python
如何安装并在pycharm使用selenium的方法
Apr 30 Python
Python接口自动化测试的实现
Aug 28 Python
安装python依赖包psycopg2来调用postgresql的操作
Jan 01 Python
Python 多线程处理任务实例
Nov 07 Python
Django基础CBV装饰器和中间件
Mar 22 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
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
2013/08/07 PHP
php中多维数组按指定value排序的实现代码
2014/08/19 PHP
利用PHPExcel实现Excel文件的写入和读取
2017/04/26 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
强制设为首页代码
2006/06/19 Javascript
javascript 单选框,多选框美化代码
2008/08/01 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
jQuery实现定时读取分析xml文件的方法
2015/07/16 Javascript
老生常谈JavaScript 正则表达式语法
2016/08/20 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
Easy UI动态树点击文字实现展开关闭功能
2017/09/30 Javascript
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
Bootstrap 模态框多次显示后台提交多次BUG的解决方法
2017/12/26 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
2018/07/23 Javascript
vue 点击按钮增加一行的方法
2018/09/07 Javascript
nodejs中使用archive压缩文件的实现代码
2019/11/26 NodeJs
ES6中Promise的使用方法实例总结
2020/02/18 Javascript
javascript设计模式 ? 桥接模式原理与应用实例分析
2020/04/13 Javascript
python如何实现excel数据添加到mongodb
2015/07/30 Python
Python 关于反射和类的特殊成员方法
2017/09/14 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
Python画柱状统计图操作示例【基于matplotlib库】
2018/07/04 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
python基于TCP实现的文件下载器功能案例
2019/12/10 Python
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
英国最大的户外商店:Go Outdoors
2019/04/17 全球购物
得到Class的三个过程是什么
2012/08/10 面试题
毕业生机械建模求职信
2013/10/14 职场文书
学生安全教育材料
2014/02/14 职场文书
大学生秋游活动方案
2014/02/17 职场文书
应届生自荐信范文
2014/02/21 职场文书
空中乘务员岗位职责
2014/03/08 职场文书
保护环境演讲稿
2014/05/10 职场文书
2016寒假社会实践心得体会范文
2015/10/09 职场文书
HTML基础-标签分类(闭合标签,空标签,块级元素,行内元素,行级块元素,可替换元素)
2021/03/31 HTML / CSS
详解Vue3使用axios的配置教程
2022/04/29 Vue.js