来自pythonreference manual:
A scope defines the visibility of a name within a block. If a local variable is defined in a block, its scope includes that block.
以及
When a name is used in a code block, it is resolved using the nearest enclosing scope.
因此,从这段引文来看,范围的含义并不明显。作用域是绑定的集合name-->value
是真的吗?什么是enclosing scope
?这是否意味着每个作用域都必须包含对enclosing scope
的引用?在
@Martjin Pieters的澄清和回答非常棒,但是我想补充一点,除了python之外,scope是一个计算机科学/编程概念,它基本上涵盖了当前使用的所有编程语言。在
除了在python中,要了解范围的更多信息,我将从这里开始: http://en.wikipedia.org/wiki/Scope_(computer_science)
包括python在内的许多语言都遵循相同的一组基本作用域规则,但是不同语言之间的细节可能有所不同。因此,如果你真的问“什么是范围?”那么从一个通用的源代码开始可能比学习python复杂的作用域更有用(至少一开始)。在
相关问题 更多 >
编程相关推荐