说类的实例是printHello
类Hello
现在,当我执行下面的代码
print printHello
输出为"HelloPrinted"
现在我想比较printHello
用字符串类型,无法实现,因为printHello
是类型的实例。 有没有一种方法来捕获print printHello
代码的输出并将其用于比较或将printHello
的类型转换为字符串,我可以将其用于其他字符串比较? 任何帮助表示赞赏。如何将实例转换为Python中的字符串类型?
0
A
回答
0
1
要么定义STR或再版在Hello类
这里更多信息 - https://docs.python.org/2/reference/datamodel.html#object.str
1
__repr__应该在你的类中定义的用于此目的的特殊方法:
class Hello:
def __init__(self, name):
self.name= name
def __repr__(self):
return "printHello"
2
如果你想特别比较字符串,你可以用两种不同的方式做到这一点。首先是定义为类的__str__
方法:
class Hello:
def __init__(self, data="HelloWorld"):
self._data = data
def __str__(self):
return self._data
然后,你可以比较一个字符串:
h = Hello()
str(h) == "HelloWorld"
或者你可以专门使用__eq__
特殊功能:
class Hello:
def __init__(self, data="HelloWorld"):
self._data = data
def __str__(self):
return self._data
def __eq__(self, other):
if isinstance(other, str):
return self._data == other
else:
# do some other kind of comparison
然后您可以执行以下操作:
h = Hello()
h == "HelloWorld"
相关问题
- 1. python将实例的字符串转换为实例?
- 2. C#如何将字符串转换为类的实例?
- 3. 将Python类对象实例转换为mongodb BSON字符串
- 4. 将html文件(API类型)实例转换为字符串?
- 5. 将字符串转换为类型实例
- 6. 如何将字符串转换为as3中的实例名称
- 7. 将字节转换为实际字节类型的字符串
- 8. 将字符串转换为字符串的泛型类型
- 9. cocoa:如何将整数类型转换为字符串类型?
- 10. 如何将字符串转换为Typescript中的字符串文字类型?
- 11. 将LinqToExcel.RowNoHeader类型转换为字符串
- 12. 将MYSQL_ROW类型转换为字符串
- 13. 将字符串转换为'Date'类型
- 14. 将字符串转换为类型“LuaFunction”
- 15. 将字符串转换为类型UTCTime
- 16. 将字符串类型转换为int
- 17. 将字符串值转换为类型
- 18. 如何将日期类型实体字段转换为Java中的字符串?
- 19. 如何将类的字符串表示形式转换为类的实例?
- 20. 如何将time_t类型转换为C++中的字符串?
- 21. C++中的字符串类型:如何将LPWSTR转换为LPSTR?
- 22. 如何将数组中的字符串类型转换为json
- 23. 如何将类型字符串转换为Unity3D中的文本?
- 24. 如何将ASCII字符转换为Python中的字符串
- 25. 如何将int类型的unsigned char字符串转换为python中的int
- 26. 将字符串转换为字符串类型的片段
- 27. 如何将字符串类型转换为java中的类类型
- 28. 如何将字符串类型转换为任务型
- 29. 如何将字符串转换为泛型类型对象
- 30. 如何将字符串转换为任何类型的对象?
这是非常难以遵循的。请添加上下文的代码。 – Chris
您的比较目标是什么?如果你想查看对象是否是某种类型,使用'isinstance(printHello,Hello)'。 – tdelaney
如何在世界上做一个名为“你好”的类最终以便'print printHello'导致'“HelloPrinted”'? 'Hello'有'__str__'或'__repr__'方法吗?你可以用'printHello .__ class __.__ name__'得到这个类的名字,这就是你想要的吗? – tdelaney