为了账号安全,请及时绑定邮箱和手机立即绑定

Python:链接类成员以访问实例变量

Python:链接类成员以访问实例变量

当年话下 2022-10-25 10:34:39
我正在使用方法(remaining_time)创建一个类(Workers)的几个实例。有些工人在做同一个任务,所以剩余时间方法需要知道这些工人来计算正确的时间。是否有一种 Python 方式来保留对类成员的引用,以便我可以访问所有实例或实例的特定变量?如果 Workers 也是一个包含所有实例的列表,则代码将如下所示:class Workers:    def __init__(self, task, working_power):        self.task = task        self.working_power = working_power    def remaining_time(self, task):        working_power = sum([x.working_power for x in Workers if x.task = self.task])        time = self.task.time/working_power我发现拥有这样一个列表的唯一方法是使用默认值空列表,该列表在所有实例之间共享:def __init__(self, task, working_power, instances = []):    self.task = task    self.working_power = working_power    instances.append(self)不过,这似乎并不优雅。
查看完整描述

1 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

通常的方式是一个类变量:


class Workers:

    instances = []


    def __init__(self, task, working_power):

        self.task = task

        self.working_power = working_power

        Workers.instances.append(self)


    def remaining_time(self, task):

        working_power = sum([x.working_power for x in Workers.instances if x.task = self.task])

        time = self.task.time/working_power


查看完整回答
反对 回复 2022-10-25
  • 1 回答
  • 0 关注
  • 81 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信