如何将类变量/方法创建并仅在需要时使用?

2024-06-02 06:41:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究一个使用玩家数据的模型。在开发过程中,只需要某些数据。我的想法是创建一个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,我只想在那个时候执行查询。我该如何构造这个结构,以便在运行请求的查询的同时不运行其他查询(除非以后需要)?你知道吗


Tags: 数据selfinfoidonlyfordbdata
2条回答

下面的代码应该可以帮助您理解在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__

你什么都不用做。如果您的查询在单个方法中,那么将只执行您实际调用的方法。你知道吗

相关问题 更多 >