taf*_*afi 4 python scope namespaces
我有两个python模块:
//// funcs.py
from classes import *
def func():
d = D()
print "func"
if __name__ == "__main__":
c = C()
Run Code Online (Sandbox Code Playgroud)
//// classes.py
from funcs import *
class C:
def __init__(self):
print "C class"
func()
class D:
def __init__(self):
print "D class"
Run Code Online (Sandbox Code Playgroud)
运行funcs.py会产生一个NameError,表示"未定义全局名称'D'".但是,如果我注释掉D()实例的创建,一切正常.
为什么会这样?
谢谢
这个工作正常,而不会使您的代码复杂化:
///funcs.py
import classes
def func():
d = classes.D()
print "func"
if __name__ == "__main__":
c = classes.C()
Run Code Online (Sandbox Code Playgroud)
///classes.py
import funcs
class C:
def __init__(self):
print "C class"
funcs.func()
class D:
def __init__(self):
print "D class"
Run Code Online (Sandbox Code Playgroud)
有时候使用简单的导入比使用简单得多from ... import ....有很好的文章:http:
//effbot.org/zone/import-confusion.htm
| 归档时间: |
|
| 查看次数: |
401 次 |
| 最近记录: |