|
39
|
| Srikar Appalaraju Tonetel · 技术社区 · 15 年前 |
|
|
1
46
命名空间是实现作用域的一种方法。
在Python中,每个包、模块、类、函数和方法函数都拥有一个“名称空间”,在该名称空间中解析变量名。另外,如果名称不在本地名称空间中,则使用全局名称空间。 每个变量名都签入本地命名空间(函数体、模块等),然后签入全局命名空间。
通常只在本地命名空间中创建变量。这个
|
|
|
2
5
来自Java背景,您可能熟悉如何使用包来实现这一点,例如,您可以创建
|
|
|
3
4
要理解名称空间,还必须对Python中的模块有一些了解。模块只是包含Python代码的文件。这些代码可以是Python类、函数的形式,也可以只是一个名称列表。每个模块都有自己的全局命名空间。因此,不能在同一个模块中有两个类或两个函数,它们的名称与共享模块的命名空间的名称相同。 |
|
4
0
|
|
5
0
例如,在命名空间的上下文中,以下表达式
在Python中,基本上有两种名称空间类型; 实例和类命名空间 实例命名空间 对于源代码中定义的每个类。此类型的命名空间处理对象的所有实例共享的所有成员。 例子
|
|
|
6
-1
如果你和其他人一起做一个大程序,你可以根据自己的需要编写程序的一部分。文件中的所有变量都是私有的,不会发生冲突。 在编写PHP程序时,很容易错误地重写全局变量。在python中,如果需要,可以导入其他模块变量,它们在模块上是“全局”的。 你可以用Python把一个文件看作一个对象。编写PHP程序时,可以通过编写带有实例变量的类来实现相同的目的。 |