先来看个示例,目录结构如下:
base.py文件代码:#!/usr/bin/python
class Base:
def call(self):
print 123
test.py文件代码:#!/usr/bin/python
import base
a = Base()
a.call()
执行test.py,输出结果:Traceback (most recent call last):
File "C:\Users\dondonliu\Desktop\test\test.py", line 5, in
a = Base()
NameError: name 'Base' is not defined
执行出错了。修改test.py文件代码:#!/usr/bin/python
import base
a = base()
a.call()
执行,输出结果:Traceback (most recent call last):
File "C:\Users\dondonliu\Desktop\test\test.py", line 5, in
a = base()
TypeError: 'module' object is not callable
还是报错了。修改test.py代码:#!/usr/bin/python
from base import Base
a = Base()
a.call()
执行,输出结果:123
执行成功了,这是为什么呢?
查了一番资料,__使用import方式引入模块的话,使用时需要加上模块名__。
类似上面的示例,test.py正确的代码应该是:#!/usr/bin/python
import base
a = base.Base()
a.call()