[英]How to convert an instance into String type in python?
說類實例是類Hello
printHello
現在,當我執行以下代碼時
print printHello
輸出為"HelloPrinted"
現在,我想將printHello
與字符串類型進行比較,但由於printHello
是實例類型,因此無法實現。 有沒有一種方法可以捕獲print printHello
代碼的輸出並將其用於比較,或者將printHello
的類型轉換為字符串,我可以將其用於其他字符串比較? 任何幫助表示贊賞。
如果要專門比較字符串,可以用兩種不同的方法。 首先是為您的類定義__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"
在Hello類中定義str或repr
此處的更多信息-https: //docs.python.org/2/reference/datamodel.html#object。 力量
為此,應在您的類中定義一個特殊的方法__repr__:
class Hello:
def __init__(self, name):
self.name= name
def __repr__(self):
return "printHello"
我想你要:
string_value = printHello.__str__()
if string_value == "some string":
do_whatever()
print
使用__str__()
方法來理解類對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.