如何创建一个 python 实例并链接到另一个 class 对象?

How to create a python instance that has another class object linked to it?

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

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

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

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 的实例

一个link两个class如何按照上面的方式?

您可以将初始值设定为默认值(例如 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...

设置更合理的默认值