在内部,函数的局部变量表将包含的条目
str,该条目在该函数中是局部的。您仍然可以通过
builtins.str在Py3和
__builtin__.strPy2中进行操作来访问函数中的内置类。函数外的任何代码都看不到函数的任何局部变量,因此内置类可以在其他地方安全使用。
这里还有另一个警告/拐角的情况,此问题对此进行了描述。本地表条目是在编译时而不是在运行时创建的,因此
str即使在分配
"asdfasdf asdf"给函数之前,也无法在函数中使用的全局定义:
def blah(): x = str(12) str = "asdf asdf asdf" doStuff(str)
将以失败
UnboundLocalError。



