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
嗨,我想更改 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