python学习笔记10(函数一): 函数使用、调用、返回值
一、函数的定义
在某些编程语言当中,函数声明和函数定义是区分开的(在这些编程语言当中函数声明和函数定义可以出现在不同的文件中,比如C语言),但是在Python中,函数声明和函数定义是视为一体的。在Python中,函数定义的基本形式如下:
def function(params):
block
return expression/value
注意:
(1)在Python中采用def关键字进行函数的定义,不用指定返回值的类型。
(2)函数参数params可以是零个、一个或者多个,同样的,函数参数也不用指定参数类型,因为在Python中变量都是弱类型的,Python会自动根据值来维护其类型。
(3)return语句是可选的,它可以在函数体内任何地方出现,表示函数调用执行到此结束;如果没有return语句,会自动返回NONE,如果有return语句,但是return后面没有接表达式或者值的话也是返回NONE。
>>> def printHello():
print 'hello' # 没有return 语句 >>> def test():
print 'This is printed'
return # return 起到结束语句的作用,表示函数调用执行到此结束
print 'This is not' >>> x = test()
This is printed
>>>
>>> def add(a,b): # params 参数可以是零个、一个或者是多个
return a+b >>> print add(1,2)
3
>>>
二、函数的使用
在定义了函数之后,就可以使用该函数了,但是在Python中要注意一个问题,就是在Python中不允许前向引用,即在函数定义之前,不允许调用该函数。看下面这个例子就明白了:
print add(1,2)
def add(a,b):
return a+b
运行程序后的结果:
从报的错可以知道,名字为"add"的函数未进行定义,所以在任何时候调用某个函数,必须确保其定义在调用之前。
三、返回值
函数的返回值只有一个。那为什么有的会出现多个呢?这里的”多个“并不是多个返回值而已,比如返回一列表,里面包含很多值。举个例子就是:只能带走一个东西,但是允许把一些东西装到塑料袋里面看做一个东西带走,这是允许的。
>>> def foo():
return ['xyz',123,'True'] # foo()返回一个列表 >>> a = foo()
>>> a
['xyz', 123, 'True']
>>>
>>>
>>> def bar():
return 'ABC',456,'False' # bar()返回一个元组(元组语法上不需要一定要带上圆括号),为了方便阅读,最好加上圆括号。 >>> b = bar()
>>> b
('ABC', 456, 'False')
四、函数调用
>>> def foo(x,y):
return x,y >>> foo(1,2) # 标准调用
(1, 2)
>>> foo('a','b')
('a', 'b')
>>> foo(x=1,y=2) # 参数化调用
(1, 2)
python学习笔记10(函数一): 函数使用、调用、返回值的更多相关文章
- Python学习笔记014——迭代工具函数 内置函数enumerate()
1 描述 enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中. 2 语法 enumerate(sequ ...
- Python 学习笔记10 函数
函数其实一段带名字的代码段,我们可以根据代码段,重复执行某一段代码段,或者有条件的执行某一段代码段. 将一段代码定义成函数后,我们可以很方便的根据自己的需求,随时调用该代码段.遇到需求变化的时候,只需 ...
- Python学习笔记-Day3-python内置函数
python内置函数 1.abs 求绝对值 2.all 判断迭代器中的所有数据是否都为true 如果可迭代的数据的所有数据都为true或可迭代的数据为空,返回True.否则返回False 3.a ...
- python学习笔记十——模块与函数
第五章 模块与函数 5.1 python程序的结构 函数+类->模块 模块+模块->包 函数+类+模块+包=Python pyth ...
- Python学习笔记系列——高阶函数(filter/sorted)
一.filter #filter()函数用于过滤序列.和map()类似,也接收一个函数和一个序列,把函数依次作用于每个元素,根据返回值是True还是False决定是否保留该元素. #filter()函 ...
- 05 python学习笔记-常用内置函数(五)
1.sorted() 函数对所有可迭代的对象进行排序(默认升序)操作 sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作. l ...
- python学习笔记(六)函数
1.函数是什么? 定义:函数是指一组语句的集合通过一个名字(函数名)封装起来,只需调用函数名即可. 2.函数的好处: 简化代码 提高代码的复用性 代码可扩展 3.python中函数的定义: 定义函数使 ...
- python学习笔记(9)函数(一)
定义一个函数 你可以定义一个由自己想要功能的函数,以下是简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定 ...
- Python学习笔记2—内置函数
函数的使用 官方文档:https://docs.python.org/2/library/functions.html
随机推荐
- 关于关闭Eclipse的控制台自动跳出
参考文章: http://my.oschina.net/mn1127/blog/161093 Eclipse的控制台console有时候经常的跳出来,非常的烦人! 尤其是在调试期间跳出,以下是分享一下 ...
- 实现TableLayout布局下循环取出TableRow控件中的文字内容到list集合
布局方式为TableLayout,利于实现表单样式展现. <!-- 详情内容区域 --> <ScrollView android:layout_above="@id/id_ ...
- 在 CentOS 里安装 BIND-UTILS 以使用 DIG、HOST 和 NSLOOKUP
想用一下 dig 指令来进行域名设置的查询,结果 CentOS 提示没有此指令,然后想当然的以为就需要安装 DIG 软件包,可是查了查才知道实际上 dig.host.nslookup 这几个指令都在 ...
- C# 32位md5
/// <summary> /// 获得32位的MD5加密 /// </summary> /// <param name="str">加密字符串 ...
- Bootstrap之Footer页尾布局(2015年05月28日)
直接上页尾部分的代码: <!--采用container-fluid,使得整个页尾的宽度为100%,并设置它的背景色--><footer class="container-f ...
- CXF(2.7.10) - WSDL2Java generated Client
以调用 http://www.webxml.com.cn/ 提供的 IpAddressSearchWebService 服务为例. 1. 使用 wsdl2java 工具,根据 wsdl 生成 JAX- ...
- CSS之导航菜单
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- SQL_转换格式的函数—CAST()和CONVERT()
将一种数据类型的表达式显式转换为另一种数据类型的表达式.CAST 和 CONVERT 提供相似的功能. cast SELECT CAST('12.5' AS int) --在将 varchar 值 ' ...
- 第六十六篇、OC_Sqlite数据库操作
#import <Foundation/Foundation.h> #import <sqlite3.h> #define kFilename @"data.sqli ...
- 第五十四篇、OC利用AFN上传上传语音
如果不是NSData就要想办法把语音文件转化为NSData,然后才能上传服务器. 首先我们拿到语音文件对应的NSData对象 NSData *voiceData = [message valueFor ...