Python getattr ()

Metoda getattr () returnează valoarea atributului numit al unui obiect. Dacă nu este găsit, returnează valoarea implicită furnizată funcției.

Sintaxa getattr()metodei este:

 getattr (obiect, nume (, implicit))

Sintaxa de mai sus este echivalentă cu:

 obiect.nume

getattr () Parametri

getattr() metoda ia mai mulți parametri:

  • obiect - obiect a cărui valoare a atributului denumit trebuie returnată
  • nume - șir care conține numele atributului
  • implicit (Opțional) - valoare care este returnată atunci când atributul numit nu este găsit

Returnează valoarea de la getattr ()

getattr() metoda returnează:

  • valoarea atributului numit al obiectului dat
  • default, dacă nu se găsește niciun atribut numit
  • AttributeErrorexcepție, dacă atributul numit nu este găsit și defaultnu este definit

Exemplul 1: Cum funcționează getattr () în Python?

 class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)

Ieșire

 Vârsta este: 23 Vârsta este: 23 

Exemplul 2: getattr () când atributul numit nu este găsit

 class Person: age = 23 name = "Adam" person = Person() # when default value is provided print('The sex is:', getattr(person, 'sex', 'Male')) # when no default value is provided print('The sex is:', getattr(person, 'sex'))

Ieșire

 Sexul este: Male AttributeError: obiectul „Persoană” nu are atribut „sex” 

Atributul numit sex nu este prezent în clasa Persoană. Deci, atunci când se apelează getattr()metoda cu o valoare implicită Male, returnează Male.

Dar, dacă nu oferim nicio valoare implicită, atunci când atributul numit sex nu este găsit, se ridică o AttributeErrorzicală că obiectul nu are atribut sexual.

Articole interesante...