Python,7.1 函数

7.1函数的概念

函数可以理解为实现某种功能的代码块,这样当程序中需要这个功能时就可以直接调用,而不必每次都编写一次。这就好比生活中使用计算器来计算,当需要计算时,直接使用计算器输入要计算的数,计算完成后显示计算结果,而不必每次计算都通过手写演算出结果。
在程序中,如果需要多次输出“拼搏到无能为力,坚持到感动自己!”,则可以将这个功能写成函数,具体示例如下:
在这里插入图片描述
当需要使用该函数时,则可以使用以下语句:
在这里插入图片描述
该条语句可以多次使用。函数使减少代码冗余成为现实,并为代码维护节省了不少力气。
Python中的函数分为内建函数和自定义函数。内建函数是Python自带的,即可以直接使用,如print()函数、input()函数等。常见的内建函数如表所示,本章主要介绍自定义函数。
在这里插入图片描述

7.2 函数的定义

内建函数的数量是有限的,如果大家想自己设计符合使用需求的函数,则可以定义一个函数,其语法格式如下:
在这里插入图片描述
在上述语法格式中,需注意以下几点:
def(即define,定义)为关键字,表示定义一个函数。
函数名是一个标识符,注意不能与关键字重名。
小括号之间可以用于定义参数,参数是可选的,但小括号不可少。
函数体以冒号起始,并且缩进。
函数体的第一行语句可以选择性地使用文档字符串用来存放函数说明。
return [表达式]结束函数,将表达式的值返回给调用者,也可以省略。
接下来演示一个简单的自定义函数,如例所示。
在这里插入图片描述
在例中,第2~7行为文档字符串,初学者在初学阶段只需了解即可。若想查看一个函数的文档字符串,则可以通过__doc__属性,如第11行所示。关于自定义函数sum2num()的解释,如图所示。
在这里插入图片描述
定义函数后,就相当于有了一个具有某些功能的代码。如果想让程序执行这些代码,则需要调用之前定义的函数,其语法格式如下:
在这里插入图片描述
在例中,求3与4的和时,则可以通过以下语句实现:
在这里插入图片描述

7.3 函数的参数

参数列表由一系列参数组成,并用逗号隔开。在调用函数时,如果需要向函数传递参数,则被传入的参数称为实参,而函数定义时的参数称为形参,实参与形参之间可以传递数据。
7.3.1 位置参数
位置参数是指函数调用时传递实参的顺序与定义函数的形参顺序一致,如例所示。
在这里插入图片描述
在例中,第1、2行定义printInfo()函数。第3行调用该函数,其数据传递如图所示。第4行将两个实参的位置调换,则发生错误。
在这里插入图片描述
在图中,当函数调用时,实参的传递顺序与定义函数形参的顺序需保持一致。由于实参的顺序与函数定义时形参的位置有关,因此称为位置参数。
7.3.2 关键参数
关键参数是指通过对形参赋值传递的参数。关键参数允许函数调用时传递实参的顺序与定义函数的形参顺序不一致,因为 Python解释器能够用形参名匹配实参值,使用户不必记住位置参数的顺序,如例所示。
在这里插入图片描述
运行结果如图所示。
在这里插入图片描述
在例中,第1~2行定义printInfo()函数。第4行调用函数,其参数是根据函数定义时形参的名称进行数据传递,因此称为关键参数。
7.3.3 默认参数
如果在函数定义时参数列表中的某个形参有值,就称这个参数为默认参数。注意默认参数必须放在非默认参数的右侧,否则函数将出错,如例所示。
在这里插入图片描述
运行结果如图所示。
在这里插入图片描述
在例中,第3行调用函数时,由于定义函数时形参school有默认值’千锋教育’,因此调用时可以省略不写该参数。如果想修改默认值,则在调用时传入该参数即可,如本例中的第4行。
7.3.3 默认参数
默认参数可以让函数的调用更加简化,就如同安装PC端软件时,程序会提示用户默认安装路径,当然用户也可以自定义安装路径。
此外,如果将例题中的name与school调换位置,具体示例如下:
在这里插入图片描述
程序运行后,将会报错,如图所示。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43398418/article/details/110438853
7.1