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利用flask sqlalchemy实现分页效果
Aug 02 Python
python tensorflow基于cnn实现手写数字识别
Jan 01 Python
Python3使用SMTP发送带附件邮件
Jun 16 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
Aug 03 Python
python实现录音小程序
Oct 26 Python
对pandas将dataframe中某列按照条件赋值的实例讲解
Nov 29 Python
Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解
Jun 04 Python
python elasticsearch从创建索引到写入数据的全过程
Aug 04 Python
python调用Matplotlib绘制分布点图
Oct 18 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
Feb 29 Python
pycharm中使用request和Pytest进行接口测试的方法
Jul 31 Python
python中if和elif的区别介绍
Nov 07 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使用ffmpeg获取视频信息并截图的实现方法
2016/05/03 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
2016/11/03 PHP
脚本之家贴图转换+转贴工具用到的js代码超级推荐
2007/04/05 Javascript
JQuery 小练习(实例代码)
2009/08/07 Javascript
javascript+iframe 实现无刷新载入整页的代码
2010/03/17 Javascript
网页打开自动最大化的js代码
2012/08/22 Javascript
javaScript 删除字符串空格多种方法小结
2012/10/24 Javascript
原生javascript兼容性测试实例
2013/07/01 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
用JS写的一个Ajax库(实例代码)
2016/08/06 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
2017/01/11 Javascript
使用ES6语法重构React代码详解
2017/05/09 Javascript
Angular2安装angular-cli
2017/05/21 Javascript
three.js中文文档学习之如何本地运行详解
2017/11/20 Javascript
JavaScript实现微信红包算法及问题解决方法
2018/04/26 Javascript
vue 实现走马灯效果
2019/10/28 Javascript
Node.js开发之套接字(socket)编程入门示例
2019/11/05 Javascript
用JS实现选项卡
2020/03/23 Javascript
[18:32]DOTA2 HEROS教学视频教你分分钟做大人-谜团
2014/06/12 DOTA
本地文件上传到七牛云服务器示例(七牛云存储)
2014/01/11 Python
numpy matrix和array的乘和加实例
2018/06/28 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
Python任意字符串转16, 32, 64进制的方法
2019/06/12 Python
Python爬取爱奇艺电影信息代码实例
2019/11/26 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
基于Python测试程序是否有错误
2020/05/16 Python
python 基于opencv实现高斯平滑
2020/12/18 Python
ET Mall东森购物网:东森严选
2017/03/06 全球购物
菲律宾酒店预订网站:Hotels.com菲律宾
2017/07/12 全球购物
介绍一下Mysql的存储引擎
2015/02/12 面试题
病媒生物防治方案
2014/05/13 职场文书
团队会宣传标语
2014/10/09 职场文书
2014年乡镇党建工作总结
2014/11/11 职场文书
2016大学生优秀志愿者事迹材料
2016/02/25 职场文书
Mysql binlog日志文件过大的解决
2021/10/05 MySQL
vue ref如何获取子组件属性值
2022/03/31 Vue.js