我正在研究使用播放器数据的模型。在开发期间,仅需要某些数据。我的想法是创建一个PlayerData
课程,但我的业余爱好者不理解/知道如何正确地做到这一点。
我理解这段代码是基本的,但它仅仅是例如......
class PlayerData(object):
def __init__(self, player_id):
self.player_id = player_id
def past_games(self):
# only if requested, query DB for data
def vital_info(self):
# only if requested, query DB for data
def abilities(self):
# only if requested, query DB for data
pd = PlayerData(235)
如果我是第一次调用pd.vital_info
,我只想在那时执行查询。我如何构造这个以便在没有其他查询的情况下运行所请求的查询(除非稍后需要)?
答案 0 :(得分:1)
以下代码可以帮助您了解如何在Python中调用类的函数。
class PlayerData:
def __init__(self,player_id):
print("Calling __init__. Yay!")
self.player_id = player_id
def past_games(self):
print("Calling past_games")
# only if requested, query DB for data
def vital_info(self):
print("Calling vital_info")
# only if requested, query DB for data
def abilities(self):
print("Calling Abilities")
# only if requested, query DB for data
>> p = PlayerData(1)
Calling __init__. Yay! #No other method was called so you see not print out
>>p.past_games()
Calling past_games
>>p.vital_info()
Calling Vital info
>>p.abilities()
Calling Abilities
如您所见,需要显式调用类函数。当类是初始化程序时,只有少数方法被调用。其中一个是__init__
答案 1 :(得分:0)
你根本不需要做任何事情。如果您的查询采用单独的方法,则只会执行您实际调用的方法。