Python中的函数详解

551 查看

Python中的函数,无论是命名函数,还是匿名函数,都是语句和表达式的集合。在Python中,函数是第一个类对象,这意味着函数的用法并没有限制。Python函数的使用方式就像Python中其他值一样,例如字符串和数字等。Python函数拥有一些属性,通过使用Python内置函数dir就能查看这些属性,如下代码所示:

其中,一些重要的函数属性包括以下几个:

1. __doc__返回指定函数的文档字符串。

2. __name__返回函数名字。

3. __module__返回函数定义所在模块的名字。

4. func_defaults返回一个包含默认参数值的元组,默认参数将在后文进行讨论。

5. func_globals返回一个包含函数全局变量的字典引用。

6. func_dict返回支持任意函数属性的命名空间。

7. func_closure返回一个胞体元组,其中胞体包含了函数自由变量的绑定,闭包将在后文讨论。

函数可以作为参数传递给其他函数。这些以其他函数作为参数的函数通常称为更高阶函数,这就构成了函数式编程中一个非常重要的部分。高阶函数一个很好的例子就是map函数,该函数接受一个函数和一个迭代器作为参数,并将函数应用于迭代器中的每一项,最后返回一个新的列表。我们将在下面的例子中演示这一点,例子中将前面定义的square函数和一个数字迭代器传递给map函数。