上一章Python教程请查看:python3 pass语句
在本文中,你将了解Python的函数:函数是什么、函数的语法、函数的组成和函数类型,此外你还将学习如何在Python中创建函数。
Python中的函数是什么?在Python中,函数是一组执行特定任务的相关语句。
函数帮助我们将程序分解成更小的模块块,随着我们的程序变得越来越大,函数使它变得更有组织和可管理。
此外,它避免了重复并使代码可重用。
【python3 函数 –
Python3教程】定义函数的语法:
def function_name(parameters):
"""docstring"""
statement(s)
上面显示的是一个由以下组件组成的函数定义。
- 关键字def标志着函数头的开始。
- Function_name用来唯一标识它的函数名,函数命名遵循Python中编写标识符的相同规则。
- 参数(parameters),我们通过它将值传递给函数,他们是可选的。
- 一个冒号(:)来标记函数头的结尾。
- 描述函数功能的可选文档字符串(docstring)。
- 组成函数主体的一个或多个有效python语句,语句必须具有相同的缩进级别(通常为4个空格)。
- 一个可选的返回语句,从函数返回一个值。
def greet(name):
"""此函数向
作为参数传入的
人员打招呼"""
print("Hello, " + name + ". Good morning!")
如何在python中调用函数?一旦我们定义了一个函数,我们就可以从另一个函数、程序甚至Python提示调用它。要调用一个函数,只需用适当的参数输入函数名。
>>> greet('AAA')
Hello, AAA. Good morning!
注意:尝试在Python shell中运行上面的代码以查看输出。
文档字符串函数头后的第一个字符串称为docstring,是文档字符串的缩写,它用于简单地解释函数的作用。
尽管文档是可选的,但它是一种很好的编程实践,除非你记得上周你吃了什么,否则一定要记录你的代码。
在上面的例子中,我们在函数头的下面有一个文档字符串。我们通常使用三重引号,这样docstring可以扩展到多行,这个字符串是函数的_doc__属性。
例如:尝试在Python shell中运行以下代码以查看输出。
>>> print(greet.__doc__)
函数的返回语句return语句用于退出函数并返回到调用函数的位置。
Return语句的语法
return [expression_list]
此语句可以包含得到值并返回值的表达式,如果语句中没有表达式,或者返回语句本身不存在于函数中,那么函数将返回None对象。例如:
>>> print(greet("May"))
Hello, May. Good morning!
None
在这里,返回的值为None。
返回的例子
def absolute_value(num):
"""这个函数返回输入
数字的绝对值"""if num >= 0:
return num
else:
return -num# 输出: 2
print(absolute_value(2))# 输出: 4
print(absolute_value(-4))
函数在Python中是如何工作的?
文章图片
变量的作用域和生命周期变量的作用域是程序中识别变量的部分,在函数内部定义的参数和变量在外部是不可见的,因此,它们具有局部作用域。
变量的声明周期是变量在内存中存在的周期,函数中变量的生命周期与函数执行的时间一样长。
一旦我们从函数返回,它们就被销毁了,因此,函数不会记住前面调用的变量的值。
这里有一个例子来说明函数中变量的作用域。
def my_func():
x = 10
print("函数内部的变量:",x)x = 20
my_func()
print("函数外部的变量:",x)
这里,我们可以看到x的初始值是20,即使函数my_func()将x的值更改为10,它也不会影响函数之外的值。
这是因为函数内部的变量x与外部的变量x不同,虽然它们有相同的名称,但它们是两个不同的变量,具有不同的作用域。
另一方面,函数外部的变量从内部是可见的,它们的业务范围遍及全局。
我们可以从函数内部读取这些值,但不能更改(写入)它们。为了修改函数外部变量的值,必须使用关键字global将它们声明为全局变量。
函数的类型基本上,我们可以把函数分为以下两类:
内置函数——内置在Python中的函数。
用户定义函数——由用户自己定义的函数。
推荐阅读
- python3 函数参数 – Python3教程
- python3 pass语句 – Python3教程
- python3 break和continue语句 – Python3教程
- python3 while循环语句 – Python3教程
- python3 for循环语句 – Python3教程
- python3 if…else语句 – Python3教程
- python3名称空间和作用域 – Python3教程
- python3操作符 – Python3教程
- python3输入,输出和导入 – Python3教程