《Python语言程序设计》 —3 函  数

举报
华章计算机 发表于 2019/11/18 20:33:14 2019/11/18
【摘要】 本节书摘来自华章计算机《Python语言程序设计》一书中第3章,第3.1节,作者是王恺 王志 李涛 朱洪文。

第3章 函  数

在完成一项较复杂的任务时,我们通常会将一个任务分解成若干个子任务,通过完成这些子任务逐步实现任务的整体目标。实际上,这里采用的就是结构化程序设计方法中的模块化思想。在利用计算机解决实际问题时,也通常是将原始问题分解成若干个子问题,对每个子问题分别求解后再根据各子问题的解求得原始问题的解。

在Python中,函数是实现模块化的工具。本章将首先介绍函数的定义与调用方法,以及与函数定义及调用相关的参数列表、返回值等内容。然后,介绍模块和包的概念与作用,以及模块和包的使用方法。接着,介绍变量的作用域,包括全局变量、局部变量的定义和使用方法以及global、nonlocal关键字的作用。最后,介绍函数相关的高级应用,包括递归函数、高阶函数、lambda函数、闭包和装饰器。

3.1 函数的定义与调用

在Python语言中,使用函数分为两个步骤:定义函数和调用函数。

定义函数,即根据函数的输入、输出和数据处理完成函数代码的编写。定义函数只是规定函数会执行什么操作,但并不会真正去执行。

调用函数,即真正执行函数中的代码,是指根据传入的数据完成特定的运算,并将运算结果返回函数调用位置的过程。

Python语言中的函数定义需要使用def关键字,下面先通过一个简单的例子直观地理解函数定义和调用的过程,关于函数的详细信息和更多使用方法将在后面给出。


代码清单3-1 函数定义和调用示例

1    def CalCircleArea(): #定义名为CalCircleArea的函数

2        s=3.14*3*3 #计算半径为3的圆的面积

3        print('半径为3的圆的面积为%.2f'%s) #将计算结果输出

4    CalCircleArea() #调用函数CalCircleArea


程序执行完毕后,将在屏幕上输出28.26。

提示 代码清单3-1中,第1~3行是CalCircleArea函数的定义。其中,CalCircleArea是函数名;紧跟函数名的一对小括号是函数的形参列表,该函数没有参数(后面将会介绍有参数的函数如何定义和调用);第2~3行是函数体,包含了函数调用时实际执行的操作。

第4行是CalCircleArea函数的调用。其中,CalCircleArea是要调用的函数的名称;紧跟函数名的一对小括号是函数的实参列表,与函数的形参列表相对应。因为CalCircleArea并没有参数,所以调用时实参列表为空。

Python语言中,开发者在程序中定义的变量名、函数名、类名等都是Python语言的自定义标识符,它们的命名规则完全相同。读者可参考第2章中关于变量名的命名规则。

对于代码清单3-1,其执行过程如图3-1所示。程序运行后,会直接执行第4行代码CalCircleArea(),然后通过该函数调用转去执行第1~3行的代码。CalCircleArea函数执行结束后,会回到函数调用位置继续执行,因为后面没有其他代码,所以程序结束。

 image.png

图3-1 代码清单3-1执行过程

思考 如果将代码清单3-1中第4行代码改为calCircleArea(),则运行程序后会得到什么结果?读者可上机实验,并根据得到的错误提示信息将程序修改正确。

提示 编写程序时,难免会输入一些错误的代码,如标识符名写错等。平时上机练习时,如果程序报错,应仔细分析报错信息的含义,并根据报错信息分析程序中的错误。通过这样的日常积累,就能够快速定位到错误点并修改正确。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。