Skip to content

函数定义与调用

函数定义与调用

什么是函数

函数是一段可重复使用的代码块,它执行特定的任务并返回一个结果。

在编程中,函数用于将一段代码逻辑封装起来,以便在需要时可以方便地调用。

函数的主要目的是提高代码的重用性和可维护性。

函数通常由以下几个组成部分构成:

  1. 函数名:函数名用于标识函数,以便在代码中调用它时使用。
  2. 参数:参数是函数在执行时所需的数据。
  3. 函数体:函数体是函数的实际代码逻辑,由若干语句组成。
  4. 返回值:返回值是函数体代码执行过后的运行结果。

内置函数

内置函数是指开发语言中预先定义好的实现特定功能的函数,可以直接使用。

比如: 输入函数 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 函数的形参接收,并进行计算。

关于函数的参数,还有很多形式,在这里只介绍简单的使用,后面还会有章节详细讲解函数参数的使用。

注意

  • 程序在执行到函数调用时,会跳转到函数定义位置执行函数体中的代码。
  • 函数体执行结束后,将返回到函数调用处继续向后执行其它代码。
  • 形式参数是用来接收数据的变量
  • 实际参数是执行函数时真正参与计算的数据。