我正在导入模块
from Boards import CheckerBoardModule
CheckerBoardModule
包含一个名为CheckerBoard
当我想使用它时,我需要拨打CheckerBoardModule.CheckerBoard
,而不仅仅是CheckerBoard
。 e.g。
class SnakesAndLaddersBoard(CheckerBoardModule.CheckerBoard):
def __init__(self,width,canvas):
CheckerBoardModule.CheckerBoard.__init__(self,width,canvas)
self.snakes = []
self.ladders = []
为什么我不能在没有CheckerBoard
前缀的情况下使用CheckerBoardModule
?
答案 0 :(得分:4)
因为您导入了CheckerBoardModule
模块对象,所以不是 CheckerBoard
类。如果您只想使用CheckerBoard
,请导入 :
from Boards.CheckerBoardModule import CheckerBoard
除了执行模块(如果尚未发生)之外,所有导入操作都会将导入的名称绑定在您自己的命名空间中。 from foo import bar
将bar
绑定到bar
绑定的任何foo
。 from foo import bar as baz
允许您指定新名称。