本文所记述的是一些基础知识点中平时用的比较少的方法。
一、给函数编写文档
除了在程序文件中添加注释外,还有另一种方法可以为函数添加文档,既在def语句的下一行添加独立字符串,称之为“文档字符串”,例如:
def square(x):
'Calculates the square of the number x.'
return x * x
然后通过
square.__doc__
查看函数文档。
二、作用域
在函数中使用全局变量时,python会将其默认为局部变量,从而产生全局变量被“遮盖”的问题,为了解决这个问题,可以使用global声明,例如:
>>> x = 1
>>> def change_global():
global x
x = x + 1
作用域的另外一个重要体现是闭包。在函数嵌套的情况下,按照上述理论,外部函数下的变量既不属于全局变量又不属于内部函数的局部变量,但是在这种情况下内部函数可以访问外部函数下的变量。
三、函数式编程
使用lambda构建简单函数,个人认为函数式编程主要适用于构建简单函数。与map 、 filter 和 reduce 等方法配合使用效果比较明显。例如:
seq = ["foo", "x41", "?!", "***"]
filter(lambda x: x.isalnum(), seq)
# 输出:
['foo', 'x41']