Python 函数
Python 函数
在本文中,您将了解函数、函数是什么、语法、组件和函数类型。此外,您还将学习在 Python 中创建函数。
视频:Python 函数简介
什么是 Python 中的函数?
在 Python 中,函数是一组执行特定任务的相关语句。
函数有助于将我们的程序分解成更小的模块化块。随着我们的程序变得越来越大,功能使其更有条理和更易于管理。
此外,它避免了重复,使代码可重用。
函数语法
def function_name(parameters): """docstring""" statement(s)
上图是一个函数定义,由以下组件组成。
- 关键字
def
这标志着函数头的开始。 - 唯一标识函数的函数名。函数命名遵循 Python 中编写标识符的相同规则。
- 我们将值传递给函数的参数(参数)。它们是可选的。
- 用冒号 (:) 标记函数头的结束。
- 描述函数作用的可选文档字符串(docstring)。
- 构成函数体的一个或多个有效的 Python 语句。语句必须具有相同的缩进级别(通常为 4 个空格)。
- 可选的
return
从函数返回值的语句。
函数示例
def greet(name):
"""
This function greets to
the person passed in as
a parameter
"""
print("Hello, " + name + ". Good morning!")
如何在python中调用函数?
一旦我们定义了一个函数,我们就可以从另一个函数、程序甚至 Python 提示符中调用它。要调用函数,我们只需键入带有适当参数的函数名称。
>>> greet('Paul')
Hello, Paul. Good morning!
尝试在带有函数定义的 Python 程序中运行上述代码以查看输出。
def greet(name):
"""
This function greets to
the person passed in as
a parameter
"""
print("Hello, " + name + ". Good morning!")
greet('Paul')
注意 :在 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!")
# Erro: name 'greet' is not defined
文档字符串
函数头之后的第一个字符串称为文档字符串,是文档字符串的缩写。用于简要说明函数的作用。
虽然是可选的,但文档是一种很好的编程习惯。除非您记得上周晚餐吃了什么,否则请始终记录您的代码。
在上面的示例中,我们在函数头的正下方有一个文档字符串。我们通常使用三引号,以便文档字符串可以扩展到多行。这个字符串作为 __doc__
提供给我们 函数的属性。
例如 :
尝试在 Python shell 中运行以下命令以查看输出。
>>> print(greet.__doc__)
This function greets to
the person passed in as
a parameter
要详细了解 Python 中的文档字符串,请访问 Python 文档字符串。
返回语句
return
语句用于退出函数并返回到调用它的地方。
返回语法
return [expression_list]
该语句可以包含一个被评估并返回值的表达式。如果语句中没有表达式或 return
语句本身不存在于函数中,则函数将返回 None
对象。
例如:
>>> print(greet("May"))
Hello, May. Good morning!
None
这里,None
是自 greet()
以来的返回值 直接打印名字而没有return
使用语句。
返回示例
def 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
函数在 Python 中是如何工作的?
<图>变量的作用域和生命周期
变量的范围是识别变量的程序部分。在函数内部定义的参数和变量在函数外部是不可见的。因此,它们具有本地范围。
变量的生命周期是变量在内存中存在的时间段。函数内部变量的生命周期与函数执行的时间一样长。
一旦我们从函数返回,它们就会被销毁。因此,函数不会记住之前调用的变量值。
下面是一个例子来说明函数内部变量的作用域。
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
将它们声明为全局变量 .
函数类型
基本上,我们可以将函数分为以下两种:
- 内置函数 - Python 中内置的函数。
- 用户自定义函数 - 用户自己定义的函数。
Python