Menu Close

Python 函数,函数语法, 如何在 python 中调用函数?Python 中的函数如何工作?

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内置函数,比如print()。

但你也可以自己创建函数,这被叫做用户自定义函数。

1.函数语法

def function_name(parameters):
	"""docstring"""
	statement(s)
    return expression (可选择项)

上面显示的是由以下组件组成的函数定义。

  1. 关键字def,用于标记函数头的开始。
  2. 用于唯一标识函数的函数名称。 函数命名遵循相同的规则,即在 Python 中编写标识符。
  3. 通过其将值传递给函数的参数(参数)。 它们是可选的。
  4. 冒号(:)标记函数头的结尾。
  5. 可选的文档字符串(docstring),用于描述函数的功能。
  6. 组成函数体的一个或多个有效 python 语句。 语句必须具有相同的缩进级别(通常为 4 个空格)。
  7. 可选的return语句,用于从函数返回值。

例1.1 函数示例

def greet(name):
    """
    This function greets to
    the person passed in as
    a parameter
    """
    print("Hello, " + name + ". Good morning!")

2.如何在 python 中调用函数?

定义函数后,我们可以从另一个函数,程序甚至 Python 提示符下调用它。 要调用函数,我们只需键入带有适当参数的函数名称即可。

例2.1对例1.1函数的调用

>>> greet('Paul') 
Hello, Paul. Good morning!

把例1.1函数定义和例2.1函数调用结合起来

例2.2函数的定义和调用

def greet(name):
    """
    This function greets to
    the person passed in as
    a parameter
    """
    print("Hello, " + name + ". Good morning!")

greet('Paul')

结果

Hello, Paul. Good morning!

在 python 中,函数定义应该总是出现在函数调用之前。否则,我们会得到一个错误。例如,

# function call
greet('Paul')

# function definition
def greet(name):
    """
    This function greets to
    the person passed in as
    a parameter
    """
    print("Hello, " + name + ". Good morning!")

3.文档字符串

函数头之后的第一个字符串称为 docstring,是文档字符串的缩写。 简要说明了函数的作用。

尽管是可选的,但文档是一种好的编程习惯。 除非您记得上周的晚餐时间,否则请务必记录您的代码。

在上面的示例中,我们在函数标头的正下方有一个文档字符串。 我们通常使用三引号,以便文档字符串可以扩展到多行。 该字符串可作为函数的__doc__属性使用。

以下语法可用于打印出函数的文档字符串:

print(function_name.__doc__)

例3.1 打印出一个函数的文档字符串

# A simple Python function to check
# whether x is even or odd


def evenOdd(x):
    """Function to check if the number is even or odd"""

    if (x % 2 == 0):
        print("even")
    else:
        print("odd")


# Driver code to call the function
print(evenOdd.__doc__)

结果

Function to check if the number is even or odd

 

4.return语句

return 语句用于退出函数并返回到调用它的位置。

return语法

return [expression_list]

该语句可以包含一个被求值的表达式并返回值。 如果该语句中没有表达式,或者return语句本身不存在于函数中,则该函数将返回None对象。

例2.2示例中None是返回值,因为greet()直接打印名称并且不使用return语句。

return示例

例4.1 绝对值

ef absolute_value(num):
    """This function returns the absolute
    value of the entered number"""

    if num >= 0:
        return num
    else:
        return -num

print(absolute_value(2))

print(absolute_value(-4))

结果

2
4

5.Python 中的函数如何工作?

Python的函数是如何工作的?
Python的函数是如何工作的?

如上图所示,Python 函数由函数定义组成,其中定义了函数的功能。如上所示,函数定义由函数名、函数参数、文档字符串、代码语句和返回语句组成。

一旦定义了一个函数,我们需要在主程序中调用该函数来执行该函数。为此,有函数调用语句。

6.变量的范围和寿命

变量的范围是程序中可以识别该变量的部分。 从函数外部看不到在函数内部定义的参数和变量。 因此,它们具有本地范围。

变量的生存期是变量在内存中退出的时间。 函数内部变量的生存期与函数执行的时间一样长。

一旦我们从函数返回,它们就会被销毁。 因此,函数无法记住其先前调用中的变量值。

这是一个示例,说明函数内部变量的范围。

例6.1 函数内变量随函数而消失

def my_func():
	x = 10
	print("Value inside function:",x)

x = 20
my_func()
print("Value outside function:",x)

结果:

Value inside function: 10
Value outside function: 20

在这里,我们可以看到x的初始值是 20。 即使函数my_func()将x的值更改为 10,它也不会影响功能外部的值。

这是因为函数内部的变量x与外部的变量不同(局部于函数)。 尽管它们具有相同的名称,但是它们是两个具有不同作用域的不同变量。

另一方面,从外部可以看到函数外部的变量。 它们具有全局范围。

我们可以从函数内部读取这些值,但不能更改(写入)它们。 为了在函数外部修改变量的值,必须使用关键字global将它们声明为全局变量。

除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Leave the field below empty!

Posted in Python教程

Related Posts