主要工作内容
到目前为止,我们一直在 app.py 中编写所有代码,但是随着程序的增长,我们需要一种更好的方式来组织我们的代码。 我们需要将代码分解成更小、更易于管理和更易于维护的块,我们称之为函数。 该函数是执行特定任务的几行代码的容器。
例如,您已经了解了 Python 中的一些内置函数 print()
和 input()
. 每个功能都有一个目的,并且知道如何执行特定的任务。 因此,当我们构建大型复杂程序时,我们应该将代码分解成更小的可重用块,即函数。
让我们通过构建一个打印问候消息的程序来理解这个概念。
print('Hi there!')
print('Welcome aboard!')
这里我们有一个只有两行代码的简单程序。 现在,假设我们将在其他程序中需要它们,以便将它们放入可以重用的函数中。
让我介绍一个保留关键字 def
Python中define的缩写,用于定义函数。
def greet_user():
print('Hi there!')
print('Welcome aboard!')
现在这段代码将定义一个函数“greet_user
” 之后的代码行。 每当调用此函数时,将执行这两行。 让我们使用这个:
print('start')
greet_user()
print('finish')
该程序是按顺序执行的,这意味着您必须在程序中调用它之前定义一个函数。
参数
定义函数的工作方式与 Python 的内置函数略有不同。 例如,在 print()
一个函数,它需要一些我们想要打印的信息,但是我们的 greet 函数不带任何信息。 如果您可以在此处传递用户名,而不是说“您好”,您可以打印用户名,这不是更好吗?
您可以通过在已定义函数的括号内添加参数来做到这一点。 我来给你展示:
def greet_user(name):
print('Hi there!')
print('Welcome aboard!')
现在 ”name
” 括号内的行为就像一个局部变量,我们可以在调用它时传递用户名。
greet_user('Shahbaz')
现在名称参数设置为“Shahbaz
”。 让我们修改程序以使用它。
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
print('finish')
需要注意的重要一点是,第一行中的“名称”称为参数,而提供的名称(即 Shahbaz)称为参数。
让我们继续运行这个程序。
所以有了这些参数,我们就可以在函数中接收信息。
现在,让我们做一些有趣的事情。 假设您想在问候消息中添加另一个名称。 这很简单。
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
greet_user('Aayush')
print('finish')
现在请注意,当函数有参数时,我们有义务为该参数传递一个值。 如果您从函数中删除名称并运行程序,我们将收到错误消息。 您还可以在单个函数中使用多个参数,以逗号分隔。
例如, greet_user(first_name, last_name):
. 参数也将采用类似的格式。
关键字参数
到目前为止,我们已经了解到,每当我们为函数定义参数时,我们应该始终提供值,否则我们会得到一个错误。 在最后一个程序中,参数 'Shahbaz'
和 'Bhatti'
被称为位置参数,意味着它们在程序中的位置或顺序很重要。
在 Python 中,我们有另一种称为关键字参数的参数,位置无关紧要。 让我向您展示它们是如何工作的。
看最后一个程序。 我们可以这样修改:
def greet_user(first_name, last_name):
print(f'Hi {first_name} {last_name}')
print('Welcome aboard!')
print('start')
greet_user(first_name='Shahbaz', last_name='Bhatti')
print('finish')
现在 first_name
和 last_name
是关键字参数。 您可以切换他们的位置,结果将是相同的。
现在这并不意味着我们应该总是使用关键字参数。 大多数时候我们使用位置参数,但在某些情况下,这些关键字参数可以帮助我们提高代码的可读性。
关于关键字参数,您还需要了解一件事。 关键字参数应始终位于位置参数之后。
退货声明
到目前为止,我们已经学习了如何创建函数并使用它们的参数向它们发送信息。 现在让我们学习如何创建返回值的函数。 如果您正在执行某种计算并且想要将结果返回给使用您的函数的任何人,这将特别有用。 我来给你展示。
让我们定义一个计算数字平方的函数。
def square(number):
return number*number
我们已经使用 return 语句在函数之外返回这个数字。 现在,如果我们调用这个函数,它会返回一个值,就像 input()
功能。 让我们在终端上打印它。
您可以争辩说,不使用 return 语句也可以获得相同的结果。 让我们来看看。
我们看到两件事,数字 9 和没有。 这里发生了什么?
当 Python 解释器执行这段代码时,首先它会调用 square 函数,然后将控制转移到该函数。 在这里,我们计算这个给定数字的平方,然后在终端上打印出来。
现在,默认情况下,所有函数都返回值 none。 因此,如果我们在这里没有 return 语句,默认情况下 Python 不会返回任何内容。 None 是一个表示没有值的对象。 在 C、C++、Java 和 Javascript 中,它就像什么都没有或 null。
包起来!
我希望你已经了解函数的重要性。
如果您打算在编码生涯中编写大型和复杂的程序,它们是 Python 学习的一个重要方面。
发表评论