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获取目录下所有文件的方法
Jun 01 Python
Python2中的raw_input() 与 input()
Jun 12 Python
python机器学习理论与实战(四)逻辑回归
Jan 19 Python
Python数据结构之图的应用示例
May 11 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
Oct 15 Python
Python理解递归的方法总结
Jan 28 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
Feb 22 Python
Python学习笔记之视频人脸检测识别实例教程
Mar 06 Python
Python实现的多进程拷贝文件并显示百分比功能示例
Apr 09 Python
Django自带的加密算法及加密模块详解
Dec 03 Python
python 解决cv2绘制中文乱码问题
Dec 23 Python
django如何自定义manage.py管理命令
Apr 27 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
GBK的页面输出JSON格式的php函数
2010/02/16 PHP
教你在PHPStorm中配置Xdebug
2015/07/27 PHP
php探针使用原理和技巧讲解
2019/09/17 PHP
Js 中debug方式
2010/02/07 Javascript
js写一个弹出层并锁屏效果实现代码
2012/12/07 Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
2013/05/07 Javascript
给文字加上着重号的JS代码
2013/11/12 Javascript
js利用prototype调用Array的slice方法示例
2014/06/09 Javascript
对JavaScript中this指针的新理解分享
2015/01/31 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
AngularJS入门教程之AngularJS模型
2016/04/18 Javascript
js 递归和定时器的实例解析
2017/02/03 Javascript
js原生Ajax的封装和原理详解
2017/03/11 Javascript
详解webpack3如何正确引用并使用jQuery库
2017/08/26 jQuery
微信小程序之GET请求的实例详解
2017/09/29 Javascript
Vue实现web分页组件详解
2017/11/28 Javascript
vue 中引用gojs绘制E-R图的方法示例
2018/08/24 Javascript
vue-cli项目代理proxyTable配置exclude的方法
2018/09/20 Javascript
vue init webpack 建vue项目报错的解决方法
2018/09/29 Javascript
JavaScript实现动态留言板
2020/03/16 Javascript
Ajax获取node服务器数据的完整步骤
2020/09/20 Javascript
[02:06]DOTA2英雄基础教程 暗影萨满
2013/12/16 DOTA
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
在Linux中通过Python脚本访问mdb数据库的方法
2015/05/06 Python
Python正则替换字符串函数re.sub用法示例
2017/01/19 Python
Python检测网络延迟的代码
2018/05/15 Python
python实现自动登录后台管理系统
2018/10/18 Python
使用python PIL库实现简单验证码的去噪方法步骤
2019/05/10 Python
python实现树的深度优先遍历与广度优先遍历详解
2019/10/26 Python
Matplotlib使用Cursor实现UI定位的示例代码
2020/03/12 Python
PyCharm Community安装与配置的详细教程
2020/11/24 Python
艺术应用与设计个人的自我评价
2013/11/23 职场文书
《蚕姑娘》教学反思
2014/04/15 职场文书
幼儿园门卫岗位职责范本
2014/07/02 职场文书
环保守法证明
2015/06/24 职场文书
Java内存模型之happens-before概念详解
2021/06/13 Java/Android