Skip to main content
 首页 » 编程设计

python之子类 str 的实际值

2025年05月04日12傻小

如何从这个子类的实例中读取输入值 "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__ 来摆脱这种情况。正确的做法取决于您一开始为什么会陷入这种境地。