【问题标题】:How to create a python instance that has another class object linked to it?如何创建一个链接到另一个类对象的python实例?
【发布时间】:2019-03-26 10:59:23
【问题描述】:

如果我有一个像下面这样的简单类:

class Usr:     
    def __init__(self, time_r):
        self.time_range = time_r

我希望属性time_r 成为TimeRange 类的对象,如下所示:

class TimeRange:
    def __init__(self, min_time, max_time):
        self.ti = min_time
        self.tf = max_time

我想创建一个 Usr s = Usr 的空实例,然后再分配属性。示例:s.time_range.ti = 5s.time_range.tf = 10

换句话说,Usr 中的time_r 应该是一个属性,它将自动为该Usr 实例创建TimeRange 的实例

如何以上述方式链接两个类?

【问题讨论】:

    标签: python-3.x class oop attributes instance


    【解决方案1】:

    您可以将初始化程序设置为默认值(例如 None):

    class TimeRange:
        def __init__(self, min_time=None, max_time=None):
            self.ti = min_time
            self.tf = max_time
    
    class Usr:     
        def __init__(self, time_r=None):
            self.time_range = time_r if time_r is not None else TimeRange()
    

    然后:

    s = Usr()
    s.time_range.ti = 5
    s.time_range.tf = 10
    

    您可能希望为TimeRange 设置更合理的默认值...

    【讨论】:

      猜你喜欢
      • 2018-03-30
      • 2014-12-05
      • 1970-01-01
      • 2013-09-13
      • 2020-10-16
      • 1970-01-01
      • 1970-01-01
      • 2011-04-10
      • 2011-04-14
      相关资源
      最近更新 更多