說類的實例是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