python 模块没有属性
python module has no attribute
AttributeError: module 'actions' has no attribute 'MoveEast' 一直在终端中弹出。我尝试重命名函数并执行不同的导入方法,例如
from actions import Actions
但是没有任何反应。
import items, enemies, dungeon, player, actions
#rooms.py
#function in question
def adjacent_moves(self):
moves = []
if dungeon.room_exists(self.x + 1, self.y):
moves.append(actions.MoveEast())
if dungeon.room_exists(self.x - 1, self.y):
moves.append(actions.MoveWest())
if dungeon.room_exists(self.x, self.y - 1):
moves.append(actions.MoveNorth())
if dungeon.room_exists(self.x, self.y + 1):
moves.append(actions.MoveSouth())
return moves
#actions.py
class Actions:
def __init__(self, method, name, hotkey, **kwargs):
self.method = method
self.hotkey = hotkey
self.name - name
self.kwargs = kwargs
def MoveEast(Actions):
def __init__(self):
super().__init__(method=Player.move_right, name="Move Right", hotkey="r")
#from player.py
def move(self, dx, dy):
self.location_x += dx
self.location_y += dy
print(dungeon.room_exists(self.location_x, self.location_y).intro_text())
def move_right(self):
self.move(dx= 1, dy= 0)
改变
def MoveEast(Actions):
def __init__(self):
super().__init__(method=Player.move_right, name="Move Right", hotkey="r")
至
class MoveEast(Actions):
def __init__(self):
super().__init__(method=Player.move_right, name="Move Right", hotkey="r")
AttributeError: module 'actions' has no attribute 'MoveEast' 一直在终端中弹出。我尝试重命名函数并执行不同的导入方法,例如
from actions import Actions
但是没有任何反应。
import items, enemies, dungeon, player, actions
#rooms.py
#function in question
def adjacent_moves(self):
moves = []
if dungeon.room_exists(self.x + 1, self.y):
moves.append(actions.MoveEast())
if dungeon.room_exists(self.x - 1, self.y):
moves.append(actions.MoveWest())
if dungeon.room_exists(self.x, self.y - 1):
moves.append(actions.MoveNorth())
if dungeon.room_exists(self.x, self.y + 1):
moves.append(actions.MoveSouth())
return moves
#actions.py
class Actions:
def __init__(self, method, name, hotkey, **kwargs):
self.method = method
self.hotkey = hotkey
self.name - name
self.kwargs = kwargs
def MoveEast(Actions):
def __init__(self):
super().__init__(method=Player.move_right, name="Move Right", hotkey="r")
#from player.py
def move(self, dx, dy):
self.location_x += dx
self.location_y += dy
print(dungeon.room_exists(self.location_x, self.location_y).intro_text())
def move_right(self):
self.move(dx= 1, dy= 0)
改变
def MoveEast(Actions):
def __init__(self):
super().__init__(method=Player.move_right, name="Move Right", hotkey="r")
至
class MoveEast(Actions):
def __init__(self):
super().__init__(method=Player.move_right, name="Move Right", hotkey="r")