Python 函数

32 阅读5分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第6天,点击查看活动详情

在本教程中,您将学习使用def关键字开发 Python 函数。

什么是函数

函数是执行作业或返回值的命名代码块。

为什么你需要 Python 中的函数

有时,您需要在一个程序中多次执行一项任务。而且您不想到处复制同一任务的代码。

为此,您将代码包装在一个函数中,并在需要时使用此函数执行任务。

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

实际上,您可以使用函数将大型程序划分为更小且更易于管理的部分。这些函数将使您的程序更易于开发、阅读、测试和维护。

该print()函数是 Python 中众多内置函数之一。这意味着这些功能在程序中随处可用。

在本教程中,您将学习如何定义用户定义的 Python 函数。

定义 Python 函数

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

def greet():
    """ Display a greeting to users """
    print('Hi') 

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

1)函数定义

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

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

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

2)函数体

函数定义后的所有缩进线构成了函数体。

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

该行print('Hi')是函数体中唯一的实际代码行。该greet()函数执行一项任务:print('Hi').

调用函数

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

要调用一个函数,您需要写下函数的名称,然后在括号中加上函数所需的信息。

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

greet() 

如果您运行该程序,它会在屏幕上显示问候语:

Hi 

将信息传递给 Python 函数

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

def greet(name): 

这name称为函数参数或简称为参数。

将参数添加到函数定义时,可以将其用作函数体内的变量:

def greet(name):
    print(f"Hi {name}") 

并且您name只能在函数体内访问参数greet(),不能在外部访问。

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

greet('John') 

输出:

Hi John 

传递给函数的值称为参数。在这个例子'John'中是一个参数。

此外,您可以通过将变量传递给函数来调用该函数:

first_name = 'Jane'
greet(first_name) 

在这个例子中,first_name变量也是greet()函数的参数。

参数与参数

有时,参数和自变量可以互换使用。区分函数的参数和参数很重要。

参数是函数需要的一条信息。并且您在函数定义中指定参数。例如,该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 应用程序中使用它在用户登录后问候他们。

具有多个参数的 Python 函数

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

下面的例子定义了一个sum()计算两个数之和的函数:

def sum(a, b):
    return a + b


total = sum(10,20)
print(total) 

输出:

30 

在此示例中,该sum()函数有两个参数a和b,并返回它们的总和。

当一个函数有多个参数时,需要用逗号分隔。

调用函数时,需要传递所有参数。如果您将更多或更少的参数传递给该函数,则会出现错误。

在下面的函数调用中,函数体内的 a 将为 10,b 将为 20。

total = sum(10, 20) 

概括

  • Python 函数是可重用的命名代码块,用于执行任务或返回值。
  • 使用def关键字定义新函数。函数由函数定义和函数体组成。
  • 一个函数可以有零个或多个参数。如果一个函数有一个或多个参数,则需要将相同数量的参数传递给它。
  • 函数可以执行一项工作或返回一个值。使用return语句从函数返回值。