知识点
- 函数的定义
- 局部 / 全局变量的概念
- 默认参数,关键字参数及强制关键字参数
- 文档字符串的使用
- 高阶函数,map() 函数
函数的定义
使用关键字 def 来定义一个函数。
def 函数名(参数) :
语句 1
语句 2
局部 / 全局变量
使用 global 关键字将声明的变量指定为全局变量。
默认参数值
Python 没有函数重载的语法,函数重载的功能可以使用默认参数达到。
函数的参数变量可以有默认值。如果对指定的参数变量没有给出任何值则会赋其默认值,但是具有默认值的参数后面不能再有普通参数。
默认值只能被赋值一次。如果默认值是任何可变对象时,比如列表、字典或大多数类的实例,函数在后续调用过程中会累积(前面)传给它的参数。
关键字参数
函数可以通过关键字参数的形式来调用,形如 keyword = value
。
强制关键字参数
将函数的参数标记为只允许使用关键字参数。调用函数时将只能对每一个参数使用相应的关键字参数。
文档字符串
在 Python 里使用文档字符串(docstrings)来说明如何使用代码,也能用于自动创建文档。
高阶函数
高阶函数(Higher-order function)或仿函数(functor)是可以接受函数作为参数的函数。
- 使用一个或多个函数作为参数
- 返回另一个函数作为输出
map 是一个在 Python 里非常有用的高阶函数。它接受一个函数和一个序列(迭代器)作为输入,然后对序列(迭代器)的每一个值应用这个函数,返回一个序列(迭代器),其包含应用函数后的结果。
在 Python 中还有其它的高阶函数,如 sorted()、filter() 以及 functools 模块中的函数。
总结
- 定义函数
- 局域变量和全局变量
- 参数默认值
- 关键字参数