Python OOP - 更改 class 文本

Python OOP - Change class text

嗨,我想更改 class 的默认文本。像 __str____repr__ 代表 object

class Force(SIUnit):
    name = "Force"
    symbol = "F"
    unit = "N"


print(f"F = 1000{Force}")

像这样。

您可以在元类上定义 __str__

class StringClassMeta(type):
    def __str__(cls):
        return cls.unit

class Force(metaclass=StringClassMeta):
    unit = 'N'

print(f'F = 1000 {Force}')
# F = 1000 N