在本教程中,您将学习使用def关键字开发 Python 函数。
函数是执行作业或返回值的命名代码块。
有时,您需要在一个程序中多次执行一项任务。而且您不想到处复制同一任务的代码。
为此,您将代码包装在一个函数中,并在需要时使用此函数执行任务。
例如,每当你想在屏幕上显示一个值时,你需要调用该print()函数。在幕后,Python 运行print()函数内的代码以在屏幕上显示一个值。
实际上,您可以使用函数将大型程序划分为更小且更易于管理的部分。这些函数将使您的程序更易于开发、阅读、测试和维护。
该print()函数是 Python 中众多内置函数之一。这意味着这些功能在程序中随处可用。
在本教程中,您将学习如何定义用户定义的 Python 函数。
这是一个显示问候语的简单函数:
def greet():
""" Display a greeting to users """
print('Hi')
此示例显示了函数的最简单结构。函数有两个主要部分:函数定义和函数体。
函数定义以def关键字和函数名称 ( greet) 开头。
如果函数需要一些信息来完成它的工作,你需要在括号内指定它()。本greet例中的函数不需要任何信息,因此它的括号是空的。
函数定义总是以冒号 ( 😃 结尾。
函数定义后的所有缩进线构成了函数体。
被三重引号包围的文本字符串称为文档字符串。它描述了函数的作用。Python 使用文档字符串自动为函数生成文档。
该行print(‘Hi’)是函数体中唯一的实际代码行。该greet()函数执行一项任务:print(‘Hi’).
当你想使用一个函数时,你需要调用它。函数调用指示 Python 执行函数内的代码。
要调用一个函数,您需要写下函数的名称,然后在括号中加上函数所需的信息。
以下示例调用该greet()函数。由于该greet()函数不需要任何信息,因此您需要像这样指定空括号:
greet()
如果您运行该程序,它会在屏幕上显示问候语:
Hi
假设您想用用户的名字来问候他们。为此,您需要在函数定义的括号中指定一个名称,如下所示:
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 应用程序中使用它在用户登录后问候他们。
一个函数可以有零个、一个或多个参数。
下面的例子定义了一个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)