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文件比较示例分享
Jan 10 Python
手动实现把python项目发布为exe可执行程序过程分享
Oct 23 Python
Python获取CPU、内存使用率以及网络使用状态代码
Feb 08 Python
Python装饰器用法实例总结
May 26 Python
pandas的唯一值、值计数以及成员资格的示例
Jul 25 Python
python实现朴素贝叶斯算法
Nov 19 Python
windows下 兼容Python2和Python3的解决方法
Dec 05 Python
Python数据预处理之数据规范化(归一化)示例
Jan 08 Python
学习python的前途 python挣钱
Feb 27 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
Sep 05 Python
Python内存泄漏和内存溢出的解决方案
Sep 26 Python
python 如何上传包到pypi
Dec 24 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
德生1994机评
2021/03/02 无线电
PHP实现采集抓取淘宝网单个商品信息
2015/01/08 PHP
php实现在服务器上创建目录的方法
2015/03/16 PHP
PHP实现的QQ空间g_tk加密算法
2015/07/09 PHP
ExtJS Grid使用SimpleStore、多选框的方法
2009/11/20 Javascript
jQuery AJAX 调用WebService实现代码
2010/03/24 Javascript
AlertBox 弹出层信息提示框效果实现步骤
2010/10/11 Javascript
JS中的public和private对象,即static修饰符
2012/01/18 Javascript
自己写的Javascript计算时间差函数
2013/10/28 Javascript
js onmousewheel事件多次触发问题解决方法
2014/10/17 Javascript
JS实现alert中显示换行的方法
2015/12/17 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
2015/12/31 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
概述BootStrap中role=&quot;form&quot;及role作用角色
2016/12/08 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
vue router 跳转后回到顶部的实例
2018/08/31 Javascript
区分vue-router的hash和history模式
2020/10/03 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
[03:09]DOTA2亚洲邀请赛 LGD战队出场宣传片
2015/02/07 DOTA
python 递归遍历文件夹,并打印满足条件的文件路径实例
2017/08/30 Python
Python实现base64编码的图片保存到本地功能示例
2018/06/22 Python
Python实现的多叉树寻找最短路径算法示例
2018/07/30 Python
python tornado使用流生成图片的例子
2019/11/18 Python
tensorflow模型继续训练 fineturn实例
2020/01/21 Python
CSS3 实现的缩略图悬停效果
2020/12/09 HTML / CSS
新西兰Bookabach:查找全球度假屋
2020/12/03 全球购物
Shopbop中文官网:美国亚马逊旗下时尚购物网站
2020/12/15 全球购物
专科毕业生学习生活的自我评价
2013/10/26 职场文书
复核员上岗演讲稿
2014/01/05 职场文书
2014年优秀党员材料
2014/12/18 职场文书
2015年度物业公司工作总结
2015/04/27 职场文书
2015年公司后勤管理工作总结
2015/05/13 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
浅谈Python基础之列表那些事儿
2021/05/11 Python
python中sqllite插入numpy数组到数据库的实现方法
2021/06/21 Python
Go语言测试库testify使用学习
2022/07/23 Golang