- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
循序渐进学Python之函数入门
循序渐进学Python之函数入门(1)
函数是Python编程的核心内容之一,本文首先为读者介绍什么是函数,然后详细介绍函数的定义和调用方法,最后,我们通过大量实例代码详细介绍了变量的作用域以及与此有关的global语句。
函数是Python编程的核心内容之一,本文首先为读者介绍什么是函数,然后详细介绍函数的定义和调用方法,最后,我们通过大量实例代码详细介绍了变量的作用域以及与此有关的global语句。
一、什么是函数
很多时候,Python程序中的语句都会组织成函数的形式。通俗地说,函数就是完成特定功能的一个语句组,这组语句可以作为一个单位使用,并且给它取一个名字,这样,我们就可以通过函数名在程序的不同地方多次执行(这通常叫做函数调用),却不需要在所有地方都重复编写这些语句。另外,每次使用函数时可以提供不同的参数作为输入,以便对不同的数据进行处理;函数处理后,还可以将相应的结果反馈给我们。
有些函数是用户自己编写的,通常我们称之为自定义函数;此外,系统也自带了一些函数,还有一些第三方编写的函数,如其他程序员编写的一些函数,我们称为预定义的Python函数,对于这些现成的函数用户可以直接拿来使用。
二、为什么使用函数
我们之所以使用函数,主要是出于两个方面的考虑:一是为了降低编程的难度,通常将一个复杂的大问题分解成一系列更简单的小问题,然后将小问题继续划分成更小的问题,当问题细化为足够简单时,我们就可以分而治之。这时,我们可以使用函数来处理特定的问题,各个小问题解决了,大问题也就迎刃而解了。二是代码重用。我们定义的函数可以在一个程序的多个位置使用,也可以用于多个程序。此外,我们还可以把函数放到一个模块中供其他程序员使用,同时,我们也可以使用其他程序员定义的函数。这就避免了重复劳动,提供了工作效率。
三、函数的定义和调用
当我们自己定义一个函数时,通常使用def语句,其语法形式如下所示:
def 函数名(参数列表):
函数体 其中,函数名可以是任何有效的Python标识符;参数列表是调用该函数时传递给它的值,可以由多个、一个或零个参数组成,当有多个参数时各个参数由逗号分隔;圆括号是必不可少的,即使没有参数也不能没有它;函数体是函数每次被调用时执行的代码,可以由一个语句或多个语句组成,函数体一定要注意缩进。此外,初学者经常忘记圆括号后面的冒号,这会导致语法错误。
这里介绍一下形式参数和实际参数,在定义函数时函数名后面圆括号中的变量名称叫做“形式参数”,或简称为“形参”;在调用函数时,函数名后面圆括号中的变量名称叫做“实际参数”,或简称为“实参”。
请看下面的函数定义,这里定义的函数将传给它的数值增1,然后将增加后的值返回给调用者:
def add1(x):
x = x + 1
return x 其中,return语句的作用是结束函数调用,并将结果返回给调用者。不过,对于函数来说,该语句是可选的,并且可以出现在函数体的任意位置;如果没有return语句,那么该函数就在函数体结束位置将控制权返回给调用方,这时相当于其他编程语言中的“过程”。在本例中,return语句是将变量x的值传递给调用者。我们在交互方式下测试该函数,如下图所示:
图1 函数举例
循序渐进学Python之函数入门(2)
函数是Python编程的核心内容之一,本文首先为读者介绍什么是函数,然后详细介绍函数的定义和调用方法,最后,我们通过大量实例代码详细介绍了变量的作用域以及与此有关的global语句。
调用函数的一般形式是:
?
函数名(参数表) 在图1中,我们通过
add1(1) 来调用函数add1()。其中,整数1作为参数传递给该函数,函数将整数1加1,并将得到的结果返回给我们,所以Python解释器显示的数字为2。对于没有使用return语句的函数,它实际上也向调用者返回一个值,那就是None,如下所示:
图2? 无return语句的函数的“返回值”
注意,上面的函数调用方式是一种标准调用方式,传递的值按照形参定义的顺序相应地赋给它们。除此之外,还有一种称为“关键字调用”方式,即在调用函数时同时给出形式参数和实际参数。“关键字调用”方式在函数具有多个参数是非常有用,因为解释器能通过给出的关键字来匹配参数的值,所以这样就允许参数缺失或者不按定义函数时的形式参数的顺序提供实际参数。
现在举一个例子,假设我们有一个函数叫做select(),它用来选择学校中哪个年级的哪个班去打扫卫生,我们给它定义了两个参数,第一个参数是x,表示年级,第二个参数是y,表示班级。其定义的伪码如下所示:
def select(x, y):
让x年级y班的学生打扫卫生 如果我们想要3年级6班的学生去打扫卫生,可以按照函数声明中参数的定义顺序,输入相应的参数,就可以调
文档评论(0)