归档 | 首页
回到顶部 Back to Top

《简明Python教程》—— 4.函数

目录

函数

函数(Functions) 是指可重复使用的程序片段。它们允许你为某个代码块赋予名字,允许你通过这一特殊的名字在你的程序任何地方来运行代码块,并可重复任何次数。这就是所谓的调用(Calling)函数。

函数可以通过关键字 def 来定义。这一关键字后跟一个函数的标识符名称,再跟一对圆括号,其中可以包括一些变量的名称,再以冒号结尾,结束这一行。随后而来的语句块是函数的一部分。

函数参数

函数中的参数通过将其放置在用以定义函数的一对圆括号中指定,并通过逗号予以分割。当我们调用函数时,以同样的形式提供需要的值。

在定义函数时给定的名称称作 “形参”(Parameters) ,在调用函数时提供的给函数的值称作 “实参”(Arguments)

局部变量

在一个函数的定义中声明变量时,它们不会以任何方式与身处函数之外但具有相同名称的变量产生关系,也就是说这些变量名只存在于函数这一局部(Local)。这被称为变量的作用域(Scope)。所有变量的作用域是它们被定义的块,从定义它们名字的定义点开始。

global语句

如果你想给一个在程序顶层的变量赋值(也就是说它不存在于任何作用域中,无论是函数还是类),那么你必须告诉 Python 这一变量并非局部的,而是全局(Global)的。我们需要通过 global 语句来完成这件事。因为在不使用 global 语句的情况下,不可能为一个定义于函数之外的变量赋值。

你可以使用定义于函数之外的变量的值(假设函数中没有具有相同名字的变量)。 然而,这种方式不会受到鼓励而且应该避免, 因为它对于程序的读者来说是含糊不清的,无法弄清楚变量的定义究竟在哪。

默认参数值

可以通过在函数定义时附加一个赋值运算符(=)来为参数指定默认参数值。

只有那些位于参数列表末尾的参数才能被赋予默认参数值,意即在函数的参数列表中拥有默认参数值的参数不能位于没有默认参数值的参数之前。

关键字参数

如果你有一些具有许多参数的函数,而你又希望只对其中的一些进行指定,那么你可以通过命名它们来给这些参数赋值——这就是关键字参数(Keyword Arguments)——我们使用命名(关键字)而非位置(一直以来我们所使用的方式)来指定函数中的参数。

这样做有两大优点——其一,我们不再需要考虑参数的顺序,函数的使用将更加容易。其二,我们可以只对那些我们希望赋予的参数以赋值,只要其它的参数都具有默认参数值。

可变参数

如果想定义的函数里能够有任意数量的变量,也就是参数的数量是可变的,可以通过星号来实现。

return 语句

return 语句用于从函数中返回,也就是中断函数。也可以选择在中断函数时从函数中返回一个值。

DocStrings

Python 有一个甚是优美的功能称作 文档字符串(Documentation Strings) ,在称呼它时通常会使用另一个短一些的名字 docstrings

该文档字符串所约定的是一串多行字符串,其中第一行以某一大写字母开始,以句号结束。第二行为空行,后跟的第三行开始是任何详细的解释说明。

作者 © YoursAF

最后更新: 2020-01-09 四 22:59

Built with Emacs 29.3 (Org mode 9.7.18)

冀ICP备17032034号-1