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 28 Python
Python 实现简单的shell sed替换功能(实例讲解)
Sep 29 Python
Python爬虫包BeautifulSoup简介与安装(一)
Jun 17 Python
python使用matplotlib绘制热图
Nov 07 Python
python运行时强制刷新缓冲区的方法
Jan 14 Python
对Django中的权限和分组管理实例讲解
Aug 16 Python
Python上下文管理器用法及实例解析
Nov 11 Python
pytorch标签转onehot形式实例
Jan 02 Python
Windows下实现将Pascal VOC转化为TFRecords
Feb 17 Python
Python 添加文件注释和函数注释操作
Aug 09 Python
Python实现敏感词过滤的4种方法
Sep 12 Python
浅析Python模块之间的相互引用问题
Feb 26 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
dedecms采集中可以过滤多行代码的正则表达式
2007/03/17 PHP
攻克CakePHP系列三 表单数据增删改
2008/10/22 PHP
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
php创建sprite
2014/02/11 PHP
PHP表单数据写入MySQL数据库的代码
2016/05/31 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
goto语法在PHP中的使用教程
2020/09/17 PHP
PHP实现简单注册登录系统
2020/12/28 PHP
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
javascript加号&quot;+&quot;的二义性说明
2013/03/04 Javascript
javascript匿名函数应用示例介绍
2014/03/07 Javascript
单击和双击事件的冲突处理示例代码
2014/04/03 Javascript
详解JavaScript基于面向对象之创建对象(2)
2015/12/10 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
JavaScript手机振动API
2016/06/11 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
2016/12/26 Javascript
vue 移动端注入骨架屏的配置方法
2019/06/25 Javascript
解决Vue-Router升级导致的Uncaught (in promise)问题
2020/08/07 Javascript
详解Typescript里的This的使用方法
2021/01/08 Javascript
[01:20:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第四场 8.26
2018/08/30 DOTA
Python中optionParser模块的使用方法实例教程
2014/08/29 Python
Python中列表和元组的使用方法和区别详解
2020/12/30 Python
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
使用C++扩展Python的功能详解
2018/01/12 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
2018/02/08 Python
详解python里的命名规范
2018/07/16 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
2019/12/25 Python
python梯度下降算法的实现
2020/02/24 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
2020/02/29 Python
在pytorch中动态调整优化器的学习率方式
2020/06/24 Python
python中time tzset()函数实例用法
2021/02/18 Python
澳大利亚顶级美发和美容贸易超市:glamaCo
2020/01/19 全球购物
.NET面试10题
2014/02/24 面试题
最新结婚典礼主持词
2014/03/14 职场文书
应急管理工作总结2015
2015/05/04 职场文书
物业管理交接协议书
2016/03/24 职场文书