函数是Python编程语言的基本特性。函数提供代码部分的可重用性。函数提供了代码的一些抽象。我们可以定义一些代码块并在一行中使用它,而不必复制和粘贴整个代码块。
用Def定义函数
def
关键字用于标识python中的函数start。之后 def
关键字我们提供函数名和参数。括号中提供了参数 ( .. )
. 参数用逗号分隔 ,
. 参数是可选的,如果我们不需要它们,我们可以省略它们。函数定义以双点结束 :
.
在第一行之后,我们提供函数体或代码块。函数体缩进以指定体区域。下面是函数定义的语法。
def FUNCTION_NAME(PARAMETER1, PARAMETER2, ...): CODE1 CODE2 ...
现在我们来举个例子来学习函数。我们将创建一个函数,其中它没有参数,在它的主体或代码块中只有一行代码。函数名将为 myprint
.
def myprint(): print("I am working boss")
这对python来说很简单,但对我们来说很重要。
调用函数
调用函数比创建函数容易。我们将只提供函数的名称并在名称的末尾添加括号。如果我们需要提供参数,我们可以把它们放在括号里。
在这个例子中,我们将调用函数, myprint
,我们以前创建过。因为它没有参数,所以我们不把任何东西放在括号里。
myprint()
带参数的函数
使函数强大的是参数。我们可以在任何数据类型中提供任意数量的参数。现在创建一个示例,其中包含两个名为 a
和 b
. 参数类型为整数。此函数名为 sum
. 此函数将汇总 给定参数。
def sum(a,b): print(a+b)
返回函数
在前面的示例中,我们调用了函数并将一些文本打印到输出中。有时候这不是我们想要的。我们可能需要获取或返回一些数据,但不能将其输入到输出中。我们可以用 return
以便从函数中返回字符串、整数、对象、列表等数据。我们就把 return
以我们想要的回报发挥作用。
相关文章: Javascript数组变量类型
在本例中,我们将不打印sum和从函数返回的值,然后再打印它。
def sum(a,b): return(a+b)

Return一般放在函数的末尾,但它的位置没有限制。我们可以用 return
多次。多次使用 if-else
很受欢迎。
空函数
函数必须有代码块或代码体才能工作 正确地。但在某些情况下,我们没有完成函数体,而是想创建函数。我们可以把这些函数称为空函数。我们可以用 pass
关键字提供空的正文,它将不起任何作用。
def iamempty(name): pass

正如我们所看到的,名为 iamempty
关键字参数
在提供参数或参数时,序列很重要。我们需要根据函数定义将参数按要求的顺序放置。但也有另一种用法,我们不需要遵守顺序。我们也可以跳过一些参数并使用它们的默认值。我们将为参数提供关键字。
def sayhello(name,age): print("Hello {},{}").format(name,age)

我们调用了如下函数,所有函数都创建了相同的输出。
sayhello(name="ismail",age=35)sayhello(age=35,name="ismail")
默认参数
在调用我们需要的函数时 为函数提供所有参数。如果我们 不提供我们 将出现错误。在某些情况下,某些参数在大多数情况下可能是相同的,在每个函数调用中提供这些参数是一项简单的任务。为了使这种用法更实用,我们可以为参数设置一些默认值,如果这些参数未定义,则在调用它们时可以由函数假定默认值。
在这个例子中,我们假设 作为 adam
如果没有提供。默认参数是在函数定义中的普通参数之后指定的。
def sayhello(age,name='adam'): print("Hello {},{}").format(name,age)

可变长度参数
到目前为止,我们已经定义了具有特定数量参数的函数。我们严格提供了参数。但有时这并不是一个解决方案,会妨碍我们处理多个可变长度参数。我们可以使用可变长度参数来解决这个问题。我们将把变量名参数放在参数的末尾,把星号放在左边 *var
.
在本例中,我们将创建一个具有可变参数的函数。
def sayhello(name,age,*other): print("Hello {},{}").format(name,age) for var in other: print(var)

我们看到我们循环所有提供的options参数,并将参数打印到终端。参数的计数并不重要。
相关文章: Python变量和类型