如何创建一个 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 = 5
、s.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
...
设置更合理的默认值
如果我有一个像下面这样的简单 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 = 5
、s.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
...