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
随机推荐
- Java 自带性能监控工具:监视和管理控制台jconsole的使用
关于JConsole工具的使用请参见:http://blog.csdn.net/defonds/article/details/45064297
- C# 文件的读取、写入和删除
class Program { static void Main(string[] args) { EmployeeDAL DAL = new EmployeeDAL(); List<Sys_E ...
- [Yii2]Access to debugger is denied due to IP address restriction. The requesting IP address is
在更新到正式平台,看到runtime/app.log 有 Access to debugger is denied due to IP address restriction. The request ...
- Win7 32bit(x86)/64bit(x64) 完整安装版(非GHOST版本)
Windows7 32bit 旗舰iso格式完整安装镜像 百度云盘:http://pan.baidu.com/s/1bpjLPs Windows7 64bit 旗舰iso格式完整安装镜像 百度云盘:h ...
- Html5中的video元素
最近在做门户的时候遇到要显示企业的视频介绍,需要找到一个在aspx页面播放视频的html,最后找到了是一段HTML5最新的html代码,如下: /// <summary> /// 播放视频 ...
- 开始迈入Csharp的世界了
以前没有学过, 有点兴奋,完全是新手啊. 今天是元宵情人节, 加油↖(^ω^)↗ 分享一些话: 一则拉封丹寓言名字叫寓言<两个朋友>: 一天夜里,一个朋友突然去找另一个朋友.被吵 ...
- response小结(一)——用response向客户端输出中文数据(乱码问题分析)
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象,和代表响应的response对象.request和response对象既然代表请求和响应,那我们要 ...
- PHP 和Apache的安装和配置
1. apache官网安装指南: http://jingyan.baidu.com/article/29697b912f6539ab20de3cf8.html 2. 官方安装包下载地址: http:/ ...
- js,css 和 html 分离,见仁见智
信经常观察大站的朋友都会发现,他们都把CSS写在HMTL页面里,一个页面的或者多个页面的背景图片,都集成到一张图片里,他们有的JS文件,也写到页面里了……也许你会迷惑,现在到处讲页面的优化,不都是要把 ...
- iOS开发 中的代理实现
iOS开发 中的代理实现 关于今天为什么要发这篇文字的原因:今天在和同事聊天的时候他跟我说项目中给他的block有时候不太能看的懂,让我尽量用代理写,好吧心累了,那就先从写个代理demo,防止以后他看 ...