Python getattr ()

Η μέθοδος getattr () επιστρέφει την τιμή του γνωστού χαρακτηριστικού ενός αντικειμένου. Εάν δεν βρεθεί, επιστρέφει την προεπιλεγμένη τιμή που παρέχεται στη συνάρτηση.

Η σύνταξη της getattr()μεθόδου είναι:

 getattr (αντικείμενο, όνομα (, προεπιλογή))

Η παραπάνω σύνταξη ισοδυναμεί με:

 αντικείμενο. όνομα

getattr () Παράμετροι

getattr() Η μέθοδος απαιτεί πολλές παραμέτρους:

  • αντικείμενο - αντικείμενο του οποίου η τιμή που ονομάζεται χαρακτηριστικό πρόκειται να επιστραφεί
  • name - string που περιέχει το όνομα του χαρακτηριστικού
  • προεπιλογή (προαιρετικό) - τιμή που επιστρέφεται όταν δεν εντοπίζεται το χαρακτηρισμένο όνομα

Επιστροφή τιμής από getattr ()

getattr() η μέθοδος επιστρέφει:

  • τιμή του χαρακτηρισμένου ονόματος του δεδομένου αντικειμένου
  • default, εάν δεν βρεθεί χαρακτηριστικό με όνομα
  • AttributeErrorεξαίρεση, εάν το χαρακτηρισμένο χαρακτηριστικό δεν βρίσκεται και defaultδεν έχει οριστεί

Παράδειγμα 1: Πώς λειτουργεί το getattr () στο Python;

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

Παραγωγή

 Η ηλικία είναι: 23 Η ηλικία είναι: 23 

Παράδειγμα 2: getattr () όταν ονομάζεται χαρακτηριστικό δεν βρέθηκε

 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'))

Παραγωγή

 Το σεξ είναι: Male AttributeError: Το αντικείμενο "Person" δεν έχει χαρακτηριστικό "sex" 

Το όνομα χαρακτηριστικού φύλου δεν υπάρχει στην κατηγορία Πρόσωπο. Έτσι, όταν καλείτε τη getattr()μέθοδο με μια προεπιλεγμένη τιμή Male, επιστρέφει το Male.

Όμως, εάν δεν παρέχουμε καμία προεπιλεγμένη τιμή, όταν δεν έχει βρεθεί το όνομα χαρακτηριστικού φύλου, αναφέρει AttributeErrorότι το αντικείμενο δεν έχει χαρακτηριστικό φύλου.

ενδιαφέροντα άρθρα...