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 enumerate遍历数组示例应用
Sep 06 Python
Python连接PostgreSQL数据库的方法
Nov 28 Python
Python中的单继承与多继承实例分析
May 10 Python
python pcm音频添加头转成Wav格式文件的方法
Jan 09 Python
详解Django+uwsgi+Nginx上线最佳实战
Mar 14 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
Aug 20 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
Mar 02 Python
Python装饰器的应用场景代码总结
Apr 10 Python
python如何输出反斜杠
Jun 18 Python
Python可以用来做什么
Nov 23 Python
Python批量修改xml的坐标值全部转为整数的实例代码
Nov 26 Python
Django migrate报错的解决方案
May 20 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运行时强制显示出错信息的代码
2011/04/20 PHP
PHP里的中文变量说明
2011/07/23 PHP
php适配器模式介绍
2012/08/14 PHP
PHP图片裁剪函数(保持图像不变形)
2014/05/04 PHP
PHP获取POST数据的几种方法汇总
2015/03/03 PHP
php使用Imagick生成图片的方法
2015/07/31 PHP
利用PHP如何实现Socket服务器
2015/09/23 PHP
PHP使用PDO操作sqlite数据库应用案例
2019/03/07 PHP
Javascript 生成指定范围数值随机数
2009/01/09 Javascript
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
JS中eval函数的使用示例
2013/07/21 Javascript
JS实现自动定时切换的简洁网页选项卡效果
2015/10/13 Javascript
jQuery实现切换页面过渡动画效果
2015/10/29 Javascript
jquery实现倒计时功能
2015/12/28 Javascript
客户端验证用户名和密码的方法详解
2016/06/16 Javascript
jquery插件autocomplete用法示例
2016/07/01 Javascript
JavaScript代码里的判断小结
2016/08/22 Javascript
微信小程序 wx.request(接口调用方式)详解及实例
2016/11/23 Javascript
谈谈JavaScript中浏览器兼容问题的写法小议
2016/12/17 Javascript
canvas实现图像布局填充功能
2017/02/06 Javascript
jquery操作select取值赋值与设置选中实例
2017/02/28 Javascript
一个有意思的鼠标点击文字特效jquery代码
2017/09/23 jQuery
JavaScript如何操作css
2020/10/24 Javascript
Python中IPYTHON入门实例
2015/05/11 Python
Python使用wxPython实现计算器
2018/01/30 Python
Python类装饰器实现方法详解
2018/12/21 Python
详解Python Qt的窗体开发的基本操作
2019/07/14 Python
Python Django基础二之URL路由系统
2019/07/18 Python
详解numpy.meshgrid()方法使用
2019/08/01 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
2020/02/29 Python
网络优化专员求职信
2014/05/04 职场文书
2015年重阳节慰问信
2015/03/23 职场文书
关于上班时间调整的通知
2015/04/23 职场文书
2015年法律事务部工作总结
2015/07/27 职场文书
springboot用户数据修改的详细实现
2022/04/06 Java/Android