如何从这个子类的实例中读取输入值 "transform"?
class Str(str):
def __repr__(self):
return "mesh"
def __str__(self):
return "mesh"
string = Str("transform")
print(string)
# mesh
print(repr(string))
# mesh
请您参考如下方法:
您无法编辑该值。您可以使用
将其作为常规字符串检索str.__str__(string)
直接使用覆盖的 __str__ 方法。
C++ 绑定(bind)很可能是通过 Python C API 读取字符串,它直接进入对象从 str 继承的结构中的底层存储,绕过您编写的方法。
至于您应该做什么,您应该通过子类化 str 并覆盖 __str__ 来摆脱这种情况。正确的做法取决于您一开始为什么会陷入这种境地。
