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

Python OOP-更改类文本

  •  0
  • amirreza870  · 技术社区  · 2 月前

    嗨,我想更改 class . 喜欢 __str__ __repr__ 对于 object

    class Force(SIUnit):
        name = "Force"
        symbol = "F"
        unit = "N"
    
    
    print(f"F = 1000{Force}")
    

    像这样的。

    1 回复  |  直到 2 月前
        1
  •  2
  •   SUTerliakov    2 月前

    您可以定义 __str__ 在元类上:

    class StringClassMeta(type):
        def __str__(cls):
            return cls.unit
    
    class Force(metaclass=StringClassMeta):
        unit = 'N'
    
    print(f'F = 1000 {Force}')
    # F = 1000 N