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 相关文章推荐
Python2.x和3.x下maketrans与translate函数使用上的不同
Apr 13 Python
python使用socket远程连接错误处理方法
Apr 29 Python
Python合并两个字典的常用方法与效率比较
Jun 17 Python
详解Python3.6的py文件打包生成exe
Jul 13 Python
用Python解决x的n次方问题
Feb 08 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
Apr 03 Python
使用Python创建简单的HTTP服务器的方法步骤
Apr 26 Python
Python安装selenium包详细过程
Jul 23 Python
Python读取多列数据以及用matplotlib制作图表方法实例
Sep 23 Python
浅析关于Keras的安装(pycharm)和初步理解
Oct 23 Python
python使用requests库爬取拉勾网招聘信息的实现
Nov 20 Python
python如何将mat文件转为png
Jul 15 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
2009/06/29 PHP
PHP开发框架Laravel数据库操作方法总结
2014/09/03 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
2015/03/26 PHP
wampserver改变默认网站目录的办法
2015/08/05 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
2020/01/04 PHP
给jqGrid数据行添加修改和删除操作链接(之一)
2011/11/04 Javascript
javascript suggest效果 自动完成实现代码分享
2012/02/17 Javascript
jQuery Migrate 1.1.0 Released 注意事项
2014/06/14 Javascript
JavaScript学习笔记之Cookie对象
2015/01/22 Javascript
jquery复选框多选赋值给文本框的方法
2015/01/27 Javascript
javascript实现博客园页面右下角返回顶部按钮
2015/02/22 Javascript
JS实现浏览器状态栏显示时间的方法
2015/10/27 Javascript
高效Web开发的10个jQuery代码片段
2016/07/22 Javascript
JS利用cookies设置每隔24小时弹出框
2017/04/20 Javascript
Vue结合Video.js播放m3u8视频流的方法示例
2018/05/04 Javascript
微信小程序页面缩放式侧滑效果的实现代码
2018/11/15 Javascript
JavaScript图片旋转效果实现方法详解
2020/06/28 Javascript
[03:49]DOTA2英雄基础教程 光之守卫
2014/01/14 DOTA
[01:06:19]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第二场 1月8日
2021/03/11 DOTA
[01:06:43]完美世界DOTA2联赛PWL S3 PXG vs GXR 第二场 12.19
2020/12/24 DOTA
Python装饰器限制函数运行时间超时则退出执行
2019/04/09 Python
基于python及pytorch中乘法的使用详解
2019/12/27 Python
Pycharm和Idea支持的vim插件的方法
2020/02/21 Python
Python字符串hashlib加密模块使用案例
2020/03/10 Python
Windows 下python3.8环境安装教程图文详解
2020/03/11 Python
pandas DataFrame 数据选取,修改,切片的实现
2020/04/24 Python
Python基于xlutils修改表格内容过程解析
2020/07/28 Python
粉红色的鲸鱼:Vineyard Vines
2018/02/17 全球购物
.NET是怎么支持多种语言的
2015/02/24 面试题
协议书的格式
2014/04/23 职场文书
工程索赔意向书
2014/08/30 职场文书
《黄山奇石》教学反思
2016/02/18 职场文书
创业项目大全(适合在家创业的项目)
2019/08/15 职场文书
Golang 如何实现函数的任意类型传参
2021/04/29 Golang
Java比较两个对象中全部属性值是否相等的方法
2021/08/07 Java/Android
python区块链持久化和命令行接口实现简版
2022/05/25 Python