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