python2:function
1.introduction
函数是重用的程序段。允许给一块语句起一个名称,然后可以在程序的任何地方使用这个名称,任意多次地运行这个语句块。这被称为函数调用。在Python1中我们已经用过内建函数,比如len和range。
函数通过def关键字定义。def关键字后跟一个函数的标识符名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它们是函数体。
2.函数形参
函数取得的参数是提供给函数的值。这些参数就像变量一样,只不过它们的值是在我们调用函数的时候定义的,而非在函数本身内赋值。参数在函数定义的圆括号对内指定,用逗号分割。当我们调用函数的时候,我们以同样的方式提供值。
#function_para.py def printMax(a,b):if a>b:print a, 'is maximum';else:print b, 'is maximum';printMax(3,4); #poss parameters
3.局部变量
在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部的。这称为变量的作用域 。所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始。
#functionLocal.py def func(x):print 'x is ', x;x = 10;print 'Change x to local is ', x;x = 100; func(x); print 'x is still',x;
4.默认参数值
对于一些函数,可能希望它的一些参数是可选的,如果用户不想要为这些参数提供值的话,这些参数就使用默认值。这个功能借助于默认参数值完成。可以在函数定义的形参名后加上赋值运算符(=)和默认值,从而给形参指定默认参数值。注意,默认参数值应该是一个参数。更加准确的说,默认参数值应该是不可变的。
#function_default.py def say(message,time=2):print message*time;say('Hello'); say('Hello',10);
5.关键参数
如果某个函数有许多参数,而只想指定其中的一部分,那么可以通过命名来为这些参数赋值,这被称作关键参数。使用名字而不是位置来给函数指定实参。这样做有两个优势 :1.由于不必担心参数的顺序,使用函数变得更加简单了;2.假设其他参数都有默认值,可以只给我们想要的那些参数赋值。
#function_key.py def func(a,b=10,c=20):print 'a is :', a;print 'b is :', b;print 'c is :', c;func(3,7); func(25,c=24); func(c=100,a=0);
6.return语句
return语句用来从一个函数返回即跳出函数,从函数返回一个值 。
#func_return.py def maximum(x,y):if x > y :return x;else:return y;print maximum(100,10);
7.DocString语句
Python有一个很奇妙的特性,称为文档字符串 ,通常简称为 docstrings 。DocStrings是一个重要的工具,由于它帮助你的程序文档更加简单易懂,你应该尽量使用它。你甚至可以在程序运行时,从函数恢复文档字符串!
#func_doc.py def printMax(x,y):'''Prints the maximun of two numbers,The two value must be in tegers.''';x = int(x);y = int(y);if x > y :print x, ' is maximun.';else:print y, ' is maximum.';printMax(3.2,6.9); print printMax.__doc__
python2:function相关推荐
- Python2.x与3.x版本区别
Python的3 .0版本,常被称为Python 3000,或简称Py3k.相对于Python的早期版本,这是一个较大的升级. 为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容. ...
- python输入语句-python2 和 pyhton3 输入语句写法
Python的输入语句类型 1 python2的输入语句 在python2中有两种常见的输入语句,input()和raw_input(). (1)input()函数 可以接收不同类型的参数,而且返回的 ...
- python3报错:importError: dynamic module does not define module export function (PyInit_cv_bridge_boost
1 在使用python3调用cv_bridge报错 1.在使用python3调用cv_bridge报错:importError: dynamic module does not define modu ...
- ueditor版本python3_GitHub - crazyinstall/DjangoUeditor3: Django Ueditor 兼容Python3改进,Python2上也可用...
本模块帮助在Django应用中集成百度Ueditor HTML编辑器,Django是Python世界最有影响力的web框架. Ueditor HTML编辑器是百度开源的在线HTML编辑器,功能非常强大 ...
- python map lambda 分割字符串_python之lambda、filter、map、reduce的用法说明(基于python2)...
python中有一些非常有趣的函数,面试的时候可能会遇到.今天也来总结一下,不过该类的网上资料也相当多,也没多少干货,只是习惯性将一些容易遗忘的功能进行整理. lambda 为关键字.filter,m ...
- python2异步编程_最新Python异步编程详解
我们都知道对于I/O相关的程序来说,异步编程可以大幅度的提高系统的吞吐量,因为在某个I/O操作的读写过程中,系统可以先去处理其它的操作(通常是其它的I/O操作),那么Python中是如何实现异步编程的 ...
- python 2x与python 3x是否兼容_使.next()与Python2和3兼容
不要直接调用.next()方法.在迭代器上使用^{} function:for u in up: head = next(u)[1:].strip() q = "".join(s. ...
- 【Python2】Keras_ResNet 在Cifar10数据集上分类,Flask框架部署目标检测模型
文章目录 1.导入库 2.数据准备 2.1 加载训练集 2.2 加载测试集 2.3 对类别做One-Hot编码 2.4 对图片像素的0-255值做归一化,并减去均值 3.搭建神经网络 3.1 定义函数 ...
- Python2 常见问题
Python编程时遇到过一些问题,整理了以下内容,含解决办法. 1.SyntaxError: Non-ASCII character '\xe4' in file 文件中出现了中文,且没有编码声明,P ...
最新文章
- MVC ---- EF高级增删改
- POJ - 1961 最小循环节
- 用 Go 构建一个区块链 -- Part 6: 交易(2)
- 第5章 定时器Timer
- CSS3实现多样的边框效果
- linux attach 指令,以太坊实战-attach命令详解
- Java SecurityManager checkAwtEventQueueAccess()方法与示例
- shopxo二次开发:博客系统项目 (后台使用 - 教程篇)
- 大数据上的“大产品”
- Python还能走多远?
- placeholder字体大小以及颜色的修改
- java的 jre是什么_Java中JRE介绍,JRE是什么
- 需求分析师如何分析功能性需求
- javascript动态插入html元素
- 音频-音频术语名词解释
- 解决 Java poi 3.8 等版本 操作 word 插入 图片 不成功的问题
- Parameter Attribute
- C语言用数组1. 简单约瑟夫环问题: N个人,编号从1~N围成一圈,输入一个数T,从1号开始报数,报到T的人出圈;下一人又从1开始报数,下一个报到T的人出圈,输出出圈顺序。 考虑问实现约瑟夫环问题
- python自动刷新12306抢票
- 什么是范式?第一范式、第二范式、第三范式的区别?