Python 函数、模块相关知识与实践
1. 函数相关注意事项
在 Python 编程中,有两个常见的函数相关问题需要注意。
1.1 封闭作用域与循环变量:工厂函数
在编写工厂函数(即闭包)时,要谨慎依赖封闭函数作用域来查找被封闭循环改变的变量。当后续调用生成的函数时,所有此类引用都会记住封闭函数作用域中最后一次循环迭代的值。此时,必须使用默认值来保存循环变量的值,而不是依赖封闭作用域的自动查找。
1.2 赋值隐藏内置函数:遮蔽
在较近的局部或全局作用域中,可能会重新赋值内置名称,这会有效地隐藏并替换该内置名称在赋值作用域剩余部分的原始值。如果代码依赖于某个内置名称,重新赋值可能会导致问题。可以避免这样做,或者使用像 PyChecker 这样的工具来发出警告。
2. 迭代工具与 Python 实现的速度比较
通过测试,可以得出以下关于 Python 迭代工具和不同 Python 实现相对速度的结论。
2.1 Python 迭代工具的速度
迭代工具 | 速度特点 |
---|---|
列表推导式 | 通常是最快的 |
map |
仅当所有工具都必须调用函数时,在 Python 中比列表推导式快 |
f |