在python中的_str__方法中使用布尔表达式

在python中的_str__方法中使用布尔表达式,python,boolean,tostring,Python,Boolean,Tostring,我对python中的str方法中的程序有一个问题 因此,在我的tostring方法中,我打印出了用户的信息。我遇到的问题是当我打印数据时,如果用户希望在邮件列表中 我想把它作为一个布尔答案,所以说“是”或“否” 我正试图找出如何使用一个临时变量,以便我的第一个客户显示“是”,第二个客户显示“否” 问题如下: def __str__(self): return super().__str__() + " Customer Num: " + str(self._cusNum)

我对python中的str方法中的程序有一个问题

因此,在我的tostring方法中,我打印出了用户的信息。我遇到的问题是当我打印数据时,如果用户希望在邮件列表中

我想把它作为一个布尔答案,所以说“是”或“否”

我正试图找出如何使用一个临时变量,以便我的第一个客户显示“是”,第二个客户显示“否”

问题如下:

    def __str__(self):
        return super().__str__() + " Customer Num: " + str(self._cusNum) + " Mailing List? "
        if self._mailList == temp:
            _mailList = "Yes"
        else:
            _mailList = "No"
        return _mailList   
这就是问题所在,我想使用“\u mailList”变量将其转换为布尔表达式

from Person import*
def main():
    person1 = Customer("John Smith", "5 myStreet","973-111-1111",1,True)
    person2 = Customer("Henry Haus", "1 myHouse","973-222-2222",2,False)
    print(person1)
    print(person2)

main()
上面的类调用对象,最后一个变量为true和false

这就是下面告诉我的 “布尔数据属性,表示
客户是否希望在邮件列表中。“

您需要做的就是将布尔值
self.\u mailList
转换为字符串,然后将其添加到其余字符串中

def __str__(self):
    return "{} Customer Num: {} Mailing List? {}".format(
        super().__str__(),
        self._cusNum,
        "Yes" if self._mailList else "No"
    )

您的
\uuu str\uuuu
中有一个
return
作为第一条语句,因此如果
,它将在该点退出而不执行
。您的意思是
temp=super()。\uu str\uuuuuu()+…
?什么是
self.\u邮件列表
?当你只定义了
person1
person2
时,你为什么要写
print(person)
?@chepner它已经更新了,我正在做调整it@Prune我添加了这个类,如果我要添加所有的类,当错误只出现在toString方法中时,它将是无用的
def __str__(self):
    return "{} Customer Num: {} Mailing List? {}".format(
        super().__str__(),
        self._cusNum,
        "Yes" if self._mailList else "No"
    )