说类的实例是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. 将字符串转换为类型实例
- 4. 将字节转换为实际字节类型的字符串
- 5. 将字符串转换为字符串的泛型类型
- 6. cocoa:如何将整数类型转换为字符串类型?
- 7. 将字符串转换为'Date'类型
- 8. 将字符串值转换为类型
- 9. 将字符串转换为类型UTCTime
- 10. 将字符串类型转换为int
- 11. 将字符串转换为类型“LuaFunction”
- 12. 将MYSQL_ROW类型转换为字符串
- 13. 如何将字符串转换为Typescript中的字符串文字类型?
- 14. 如何将日期类型实体字段转换为Java中的字符串?
- 15. C++中的字符串类型:如何将LPWSTR转换为LPSTR?
- 16. 将字符串转换为字符串类型的片段
- 17. 如何将字符串转换为泛型类型对象
- 18. 如何将字符串转换为任何类型的对象?
- 19. 如何在Angular 2中将“字符串”值转换为“类型”
- 20. 无法将类型'字符串'隐式转换为'字符串'
- 21. C宏将字符串转换为pascal字符串类型
- 22. 如何将字符串转换为MongoDB查询的类型
- 23. 如何将字符串转换为int类型的枚举?
- 24. 如何将数据类型转换为可读的字符串
- 25. 如何将字符串类型转换为MySQL/PHP中的浮点类型?
- 26. 将字节字符串转换为python中的字符串
- 27. 将字符串转换为类型对象 - Python
- 28. 将字符串转换为日期类型python
- 29. 如何在Python中检测并将字符串转换为正确类型
- 30. ruby将字符串中的类名转换为实际类
这是非常难以遵循的。请添加上下文的代码。 – Chris
您的比较目标是什么?如果你想查看对象是否是某种类型,使用'isinstance(printHello,Hello)'。 – tdelaney
如何在世界上做一个名为“你好”的类最终以便'print printHello'导致'“HelloPrinted”'? 'Hello'有'__str__'或'__repr__'方法吗?你可以用'printHello .__ class __.__ name__'得到这个类的名字,这就是你想要的吗? – tdelaney