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解析XML的几种常见方法的介绍
Apr 09 Python
Python模块搜索概念介绍及模块安装方法介绍
Jun 03 Python
关于Python数据结构中字典的心得
Dec 04 Python
python爬虫之模拟登陆csdn的实例代码
May 18 Python
Python实现绘制双柱状图并显示数值功能示例
Jun 23 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
Jan 17 Python
详解有关PyCharm安装库失败的问题的解决方法
Feb 02 Python
python分别打包出32位和64位应用程序
Feb 18 Python
使用Python内置模块与函数进行不同进制的数的转换
Apr 26 Python
tensorflow实现从.ckpt文件中读取任意变量
May 26 Python
python判断一个变量是否已经设置的方法
Aug 13 Python
Python Selenium XPath根据文本内容查找元素的方法
Dec 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 什么是PEAR?
2009/03/19 PHP
IP138 IP地址查询小偷实现代码
2010/02/15 PHP
php使用curl抓取qq空间的访客信息示例
2014/02/28 PHP
初识ThinkPHP控制器
2016/04/07 PHP
php+MySQL实现登录时验证登录名和密码是否正确
2016/05/10 PHP
Yii2简单实现给表单添加验证码的方法
2016/07/18 PHP
thinkphp3.2.3 分页代码分享
2016/07/28 PHP
CI框架数据库查询缓存优化的方法
2016/11/21 PHP
jquery 1.3.2 IE8中的一点点的小问题解决方法
2009/07/10 Javascript
浏览器解析js生成的html出现样式问题的解决方法
2012/04/16 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
2014/03/28 Javascript
jquery代码实现多选、不同分享功能
2015/07/31 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
2016/10/19 Javascript
浅谈Node.js:fs文件系统模块
2016/12/08 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
2019/09/01 Javascript
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
JavaScript实现HTML导航栏下拉菜单
2020/11/25 Javascript
python使用pil生成缩略图的方法
2015/03/26 Python
python实现计算倒数的方法
2015/07/11 Python
Python中不同进制的语法及转换方法分析
2016/07/27 Python
Python语言描述最大连续子序列和
2017/12/05 Python
Linux CentOS7下安装python3 的方法
2018/01/21 Python
python读取文本绘制动态速度曲线
2018/06/21 Python
Python3 解决读取中文文件txt编码的问题
2019/12/20 Python
Django操作session 的方法
2020/03/09 Python
利用Python制作动态排名图的实现代码
2020/04/09 Python
PyCharm Ctrl+Shift+F 失灵的简单有效解决操作
2021/01/15 Python
端午节粽子促销活动方案
2014/02/02 职场文书
2014房屋登记授权委托书
2014/10/13 职场文书
2014年药品销售工作总结
2014/12/16 职场文书
写景作文评语集锦
2014/12/25 职场文书
初中数学教学随笔
2015/08/15 职场文书
Python爬虫进阶之Beautiful Soup库详解
2021/04/29 Python
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
2021/05/14 Python
javascript的var与let,const之间的区别详解
2022/02/18 Javascript