函数定义与调用
函数定义与调用
什么是函数
函数是一段可重复使用的代码块,它执行特定的任务并返回一个结果。
在编程中,函数用于将一段代码逻辑封装起来,以便在需要时可以方便地调用。
函数的主要目的是提高代码的重用性和可维护性。
函数通常由以下几个组成部分构成:
- 函数名:函数名用于标识函数,以便在代码中调用它时使用。
- 参数:参数是函数在执行时所需的数据。
- 函数体:函数体是函数的实际代码逻辑,由若干语句组成。
- 返回值:返回值是函数体代码执行过后的运行结果。
内置函数
内置函数是指开发语言中预先定义好的实现特定功能的函数,可以直接使用。
比如: 输入函数 input()
, 输出函数 print()
等
函数定义
虽然系统预先定义好了大量的内置函数,但这些函数,还不能满足实际的开发需求,所以程序中允许根据实际需求自定义函数。
语法格式:
def function_name([parameter_list]):
['''注释信息''']
[function_body]
return [result]
说明:
def
: 自定义函数的关键字。function_name
: 函数名称,在调用函数时使用,命名需要符合标识符命名规则。()
: 函数的特征,用来书写参数列表。parameter_list
: 用来接收函数运行时所需的外部数据(此章节不讲解)。:
:Python 固定语法。注释信息
:非必须部分,函数的注释内容,通常是说明该函数的功能、要传递的参数的作用等。function_body
:函数体,用来实现函数功能的逻辑代码。return [result]
: 用来结束函数或将函数运行结果返回(此章节不讲解)。
def show():
"""
此函数用来输出 Hogwarts
"""
print("Hogwarts")
注意:函数定义完成之后直接运行程序,将不显示任何内容。
函数调用
调用函数也就是执行函数。如果把创建函数理解为理解为创建一个具有某种功能的工具,那么调用函数就相当于使用该工具。
语法格式:
function_name([parameters_value])
function_name
:函数名称,要调用的函数名称,必须是已经创建好的(包括内建的和自定义的)。parameters_value
:参数列表,用来提供函数运行时使用的数据,可省略。()
: 函数的特征,参数列表可省略,但圆括号不能省略。
print("第一次函数调用")
show()
print("第一次函数调用")
show()
print("程序执行结束")
函数返回值
函数返回值是指函数在被调用执行后,经过一系列的代码执行运算,得到一个处理结果,交给函数调用者的结果就是返回值。比如去饭店点菜后,返回的结果就是做好的被点的菜。
函数返回值通过 return
语句实现,一个函数在执行过程中,一旦遇到 return
语句,立刻就会停止执行,返回到函数调用处继续向下执行。
如果一个函数中,没有显示的书写 return
语句,函数实际也有返回值,默认返回值为 None
def get_number():
num = input("请输入一个数字:")
num = int(num)
return num
上面的函数用来从键盘输入一个数字,因为默认键盘所有输入的内容都是以字符串形式加载到程序中,所以需要进行类型转换,将转换后的数字返回给使用者。
如果想使用一个输入的数字时,就可以调用该函数。
print("hello" * get_number())
上面的代码是将字符串 hello
重复拼接 N 次(通过get_number函数从键盘输入的数字)后输出。
在这里只简单介绍函数返回值的使用,后面还会有章节详细讲解函数返回值的使用。
函数参数
函数参数是指在调用函数执行时,给定的一些函数执行过程中需要的数据。比如点外卖时,需要告知吃哪些菜,送到哪里,这些就是外卖在制做和送达时需要的数据。
程序也是一样,很多情况下,函数在执行过挰中,需要调用者给被调函数传入一个数据,才能让函数正确执行。
函数的参数根据不同的场景分为 实际参数
和 形式参数
两种 :
实际参数
: 也称为实参,是在函数调用时需要被传递的数据,可以是任意形式能得到一个具体值的表达式。形式参数
: 也称为形参,是函数在定义在函数参数列表中的变量,用来接收数据,并在函数执行时通过形参使用接收的数据,所以形参只能是变量。
def add(a, b):
return a + b
print(add(1, 2))
print(add(3, 4))
上面代码中, add
函数只负责对两个数字进行加法计算,并将结果返回,具体对哪两个数字计算,函数并不知道,也不关心。
在调用 add
函数时,通过实参传递的两个数字会被 add
函数的形参接收,并进行计算。
关于函数的参数,还有很多形式,在这里只介绍简单的使用,后面还会有章节详细讲解函数参数的使用。
注意:
- 程序在执行到函数调用时,会跳转到函数定义位置执行函数体中的代码。
- 函数体执行结束后,将返回到函数调用处继续向后执行其它代码。
- 形式参数是用来接收数据的变量
- 实际参数是执行函数时真正参与计算的数据。