Η μέθοδος 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
ότι το αντικείμενο δεν έχει χαρακτηριστικό φύλου.