三行代码  ›  专栏  ›  技术社区  ›  kirihadinomoyet

如何添加自定义类的两个实例

  •  -3
  • kirihadinomoyet  · 技术社区  · 1 月前

    我想运行这个代码 (必须)包括 value total print 部分我应该在类中插入什么代码来执行此操作?

    class Random:
        def __init__(self, x):
            self.x = x
    
        def __add__(self, other):
            return self.x + other.x
    
    
    p1 = Random(2)
    p2 = Random(3)
    
    total = p1 + p2
    
    print(total.value)
    
    2 回复  |  直到 1 月前
        1
  •  4
  •   Matthias    1 月前

    返回的实例 Random 在你的 __add__ 方法并添加名为的属性 value 为了班级。

    class Random:
        def __init__(self, x):
            self.x = x
    
        def __add__(self, other):
            return Random(self.x + other.x)
    
        @property
        def value(self):
            return self.x
    
    
    p1 = Random(2)
    p2 = Random(3)
    
    total = p1 + p2
    
    print(total.value)
    

    x 具有 价值 . 那就不需要这个财产了。

    class Random:
        def __init__(self, x):
            self.value = x
    
        def __add__(self, other):
            return Random(self.value + other.value)
    
        2
  •  2
  •   balderman    1 月前

    制作 total A. Random

    class Random:
        def __init__(self, value):
            self.value = value
    
        def __add__(self, other):
            return Random(self.value + other.value)
    
    
    p1: Random = Random(2)
    p2: Random  = Random(3)
    
    total: Random = p1 + p2
    
    print(total.value)