Использование логического выражения в методе __str__ в python - PullRequest
0 голосов
/ 24 апреля 2019

У меня проблема с моей программой в моем методе str в python.

Таким образом, в моем методе tostring я распечатываю информацию о пользователе. У меня возникает проблема, когда я печатаю данные, если пользователь хочет быть в списке рассылки.

Эта часть, которую я хочу поставить как логический ответ, так что "да" или "нет".

Я пытаюсь выяснить, как использовать временную переменную, чтобы для моего первого клиента было показано «да», а для второго - «нет»

class person(Person):
    def __init__(self):
        super().init(name,address,phone)

    def __str__(self):
        return super().__str__()

class Customer(Person):
    def __init__(self,name,address,phone,Num,Mail):
        super().__init__(name,address,phone)
        self._cusNum = Num
        self._mailList = Mail

    @property
    def Num(self):
        return self._cusNum

    @property
    def Mail(Self):
        return self._mailList

    @Num.setter
    def Num(self,Number):
        self._cusNum = Number

    @Mail.setter
    def Mail(self,List):
        self._mailList = List

Ниже приведен вопрос:

    def __str__(self):
        return super().__str__() + " Customer Num: " + str(self._cusNum) + " Mailing List? "
        if self._mailList == temp:
            _mailList = "Yes"
        else:
            _mailList = "No"
        return _mailList   

Вот в чем проблема, я хочу использовать переменную "_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

Это то, что мне сказали сделать ниже «Логический атрибут данных, который указывает хочет ли клиент быть в списке рассылки или нет. «

1 Ответ

1 голос
/ 24 апреля 2019

Все, что вам нужно сделать, это преобразовать логическое значение self._mailList в строку, затем добавить , что к остальным.

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