Home > OS >  className object has no attribute "" error HELP PLEASE
className object has no attribute "" error HELP PLEASE

Time:05-01

class Osoba:

def __init__(self, name=None, surname=None, nrTel=None):

    self.name = name
    self.surname = surname
    self.nrTel = nrTel

def wypiszOsobe(self):
    if self.name or self.surname or self.nrTel:
        print("\tInformation about person:")
        if self.name:
            print(f"\t\tName: {self.name}")
        if self.surname:
            print(f"\t\tSurname: {self.surname}")
        if self.nrTel:
            print(f"\t\tPhone number: {self.nrTel}")
        print()
    else:
        print("\tNo info about person.")

o = Osoba("Rostyslav", nrTel = "500 600 700") o.wypiszOsobe()

o2 = Osoba("Adam", "Kowalski") o2.wypiszOsobe()

#del o.name

o.wypiszOsobe()

CodePudding user response:

class Osoba: def init(self, imię, nazwisk,nrTel): self.imię = imię self.nazwisko = nazwisko self.nrTel = nrTel

def wypiszOsobe(self):
    if self.imię or self.nazwisko or self.nrTel:
        print("\tInformation about person:")
    if self.imię:
        print(f"\t\tName: {self.imię}")
    if self.nazwisko:
        print(f"\t\tSurname: {self.nazwisko}")
    if self.nrTel:
        print(f"\t\tPhone number: {self.nrTel}")
    else:
        print("\tNo info about person.")

CodePudding user response:

Instead of deleting the whole imię attribute of o, just set it to None (or an empty string ''):

# del o.imię
o.imię = None

That way, if self.imię won't throw an error but evaluate as False.

CodePudding user response:

class Osoba:

def __init__(self,imię,nazwisko,nrTel):
    self.imię = imię
    self.nazwisko = nazwisko
    self.nrTel = nrTel

def wypiszOsobe(self):
    if self.imię or self.nazwisko or self.nrTel: #something wrong in this line
        print("\tInformation about person:")
        if self.imię:
            print(f"\t\tName: {self.imię}")
        if self.nazwisko:
            print(f"\t\tSurname: {self.nazwisko}")
        if self.nrTel:
            print(f"\t\tPhone number: {self.nrTel}")
        print()
    else:
        print("\tNo info about person.")

o = Osoba("Rostyslav",nazwisko="give a value here", nrTel = "500 600 700") o.wypiszOsobe()

o2 = Osoba("Adam", "Kowalski", nrTel = "give something here too") o2.wypiszOsobe()

del o.imię o.wypiszOsobe()

CodePudding user response:

class Osoba:

def __init__(self,imię,nazwisko,nrTel):
    self.imię = imię
    self.nazwisko = nazwisko
    self.nrTel = nrTel

def wypiszOsobe(self):
    if self.imię or self.nazwisko or self.nrTel: #something wrong in this line
        print("\tInformation about person:")
        if self.imię:
            print(f"\t\tName: {self.imię}")
        if self.nazwisko:
            print(f"\t\tSurname: {self.nazwisko}")
        if self.nrTel:
            print(f"\t\tPhone number: {self.nrTel}")
        print()
    else:
        print("\tNo info about person.")

o = Osoba("Rostyslav",nazwisko="give a value here", nrTel = "500 600 700") o.wypiszOsobe()

o2 = Osoba("Adam", "Kowalski", nrTel = "give something here too") o2.wypiszOsobe()

  • Related