MEMOO
MEMOO
Published on 2025-04-18 / 2 Visits
0
0

Python函数

摘要:在本节中,你将学习如何使用 def 关键字开发 Python 函数。

什么是函数

函数是一个命名的代码块,用于执行任务或返回值。

为什么在 Python 中需要函数

有时,你需要在程序中多次执行某个任务。但你不想在多个地方重复复制相同的代码。

为此,你可以将代码封装在一个函数中,并在需要时调用此函数来执行任务。

例如,每当你想在屏幕上显示一个值时,都需要调用 print() 函数。在幕后,Python 会运行 print() 函数内部的代码以在屏幕上显示一个值。

在实践中,你可以使用函数将大型程序分解为更小、更易于管理的部分。这些函数将使你的程序更易于开发、阅读、测试和维护。

print() 函数是 Python 中众多内置函数之一。这意味着这些函数在程序的任何地方都可以使用。

在本节中,你将学习如何定义用户自定义的 Python 函数。

定义 Python 函数

以下是一个显示问候语的简单函数:

def greet():

    """ Display a greeting to users """

    print('Hi')

此示例展示了函数最简单的结构。一个函数有两个主要部分:函数定义和函数体。

函数定义

函数定义以 def 关键字和函数名greet)开头。

如果函数需要一些信息来完成其工作,你需要在括号 () 内指定这些信息。此示例中的 greet 函数不需要任何信息,因此其括号是空的。

函数定义总是以冒号 : 结尾。

函数体

所有缩进的行(紧跟在函数定义之后)构成了函数体。

被三引号包围的文本字符串称为文档字符串(docstring)。它描述了函数的功能。Python 使用文档字符串自动生成函数的文档。

print('Hi') 是函数体中唯一一条实际代码greet() 函数执行一项任务:打印 'Hi'

调用函数

当你想使用一个函数时,需要调用它。函数调用指示 Python 执行函数内部的代码。

要调用一个函数,你需要写出函数名,并在括号中指定函数所需的信息。

以下示例调用了 greet() 函数。由于 greet() 函数不需要任何信息,因此你需要像这样指定空括号:

greet()

如果你运行程序:

def greet():

    """ Display a greeting to users """

    print('Hi')

    

greet()

它将在屏幕上显示一条问候语:

Hi

向 Python 函数传递信息

假设你想通过用户的名字(name)来问候他们。为此,你需要在函数定义的括号中指定一个名字,如下所示:

def greet(name):

name被称为函数参数(function parameter),或者简称为参数。

当你向函数定义中添加一个参数时,你可以在函数体中将其用作一个变量:

def greet(name):

    print(f"Hi {name}")

你只能在 greet() 函数的函数体内访问 name 参数,而不是在函数体外。

当你调用带有参数的函数时,需要传递信息。例如:

greet('John')

以下是完整的程序:

def greet(name):

    print(f"Hi {name}")

    

greet('John')

输出:

Hi John

你传递给函数的值称为实参(argument)。在此示例中'John' 就是一个实参。

或者,你也可以通过传递一个变量来调用该函数:

def greet(name):

    print(f"Hi {name}")

    

first_name = 'Jane'

greet(first_name)

输出:

Hi Jane

在这个示例中first_name 变量也是 greet() 函数的实参(argument)。

参数 vs 参数值(形参 vs 实参)

有时,参数(parameter,形参)和参数值(argument,实参)会互换使用。但区分函数的参数和参数值是很重要的。

参数(形参)是函数所需的信息。你在函数定义中指定参数。例如greet() 函数有一个名为 name 的参数。

参数值(实参)是你传递给函数的数据。例如,文本字符串 'John' 或变量 jane 是函数的参数值(实参)。

返回值

函数可以像 greet() 函数那样执行任务,也可以返回一个值。函数返回的值称为返回值

要从函数中返回值,你需要在函数体中使用 return 语句。

return value

以下示例修改了 greet() 函数,使其返回一条问候语,而不是在屏幕上显示它:

def greet(name):

    return f"Hi {name}" 

当你调用 greet() 函数时,可以将其返回值赋给一个变量:

greeting = greet('John')

然后在屏幕上显示它:

print(greeting)

新的 greet() 函数比旧的好,因为它不依赖于 print() 函数。

之后,你可以在其他应用程序中重用 greet() 函数。例如,你可以在 Web 应用程序中使用它,在用户登录后向他们问候。

def greet(name):

    return f"Hi {name}"

    

greeting = greet('John')

print(greeting)

输出:

Hi John

Python 中具有多个参数的函数

一个函数可以有零个、一个或多个参数。

以下示例定义了一个名为 sum() 的函数,该函数用于计算两个数的和:

def sum(a, b):

    return a + b

total = sum(10,20)

print(total)

输出:

30

在这个示例中sum() 函数有两个参数 ab,并返回它们的和。

当函数有多个参数时,你需要使用逗号将它们分隔开。

当你调用函数时,需要传递所有的参数值(实参)。如果你向函数传递了过多或过少的参数值(实参),就会得到一个错误。

在以下函数调用中,在函数体内 a 将是 10,b 将是 20:

total = sum(10, 20)

总结

  • Python 函数是一个可重用的命名代码块,用于执行任务或返回值。

  • 使用 def 关键字来定义一个新函数。函数由函数定义和函数体组成。

  • 一个函数可以有零个或多个参数。如果函数有一个或多个参数,你需要向它传递相同数量的参数值(实参)。

  • 一个函数可以执行一个任务或返回值。使用 return 语句从函数中返回值。


Comment