我有以下课程:
class Player(object):
def __init__(self, name, age):
self.name = name
self.age = age
我有一个包含玩家的class(Lobby)
。
该类应该为每个玩家提供额外的属性。
例如,idle
时间:
class Lobby(object):
def __init__(self, players):
self.players = players
for player in players:
player.idle = 0
我有另一个class(Game)
这个类应该为每个玩家提供额外的属性。例如,team
属性
class Game(object):
def __init__(self, players):
self.players = players
self.organize_teams();
def organize_teams(self):
for player in self.players:
if condition1:
player.team = 0
elif condition2:
player.team = 1
elif condition3:
player.team = 2
问题是玩家的额外属性只与特定类有关。 所以我想到了另一种方法。
例如,Lobby类:
class Lobby(object):
def __init__(self, players):
self.players = {}
for player in players:
self.players[player] = {idle: 0}
这是一个好习惯吗?
答案 0 :(得分:0)
如果我说得对,您希望为每个Player
实例存储值,但这些值应由Game
的实例管理。因此Game
的不同实例可以为某个Player
设置不同的值。在这种情况下,您只需要Player
和值之间的映射。那只是dict
。所以我建议你在Lobby
中展示的解决方案。