簡體   English   中英

如何在python中將實例轉換為String類型?

[英]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類中定義strrepr

此處的更多信息-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM