Τύπος Python ()

Η συνάρτηση type () είτε επιστρέφει τον τύπο του αντικειμένου είτε επιστρέφει ένα νέο αντικείμενο τύπου με βάση τα ορίσματα που έχουν περάσει.

Η type()συνάρτηση έχει δύο διαφορετικές μορφές:

 τύπος (αντικείμενο) τύπος (όνομα, βάσεις, υπαγόρευση)

type () Με μία παράμετρο αντικειμένου

Εάν περάσει ένα αντικείμενο type(), η συνάρτηση επιστρέφει τον τύπο της.

Παράδειγμα 1: Λήψη τύπου αντικειμένου

 numbers_list = (1, 2) print(type(numbers_list)) numbers_dict = (1: 'one', 2: 'two') print(type(numbers_dict)) class Foo: a = 0 foo = Foo() print(type(foo))

Παραγωγή

 

Εάν πρέπει να ελέγξετε τον τύπο ενός αντικειμένου, είναι προτιμότερο να χρησιμοποιήσετε τη συνάρτηση Python isinstance (). Είναι επειδή η isinstance()συνάρτηση ελέγχει επίσης εάν το δεδομένο αντικείμενο είναι μια παρουσία της υποκατηγορίας.

type () Με όνομα, βάσεις και παραμέτρους υπαγόρευσης

Εάν περάσουν τρεις παράμετροι type(), επιστρέφει ένα αντικείμενο νέου τύπου .

Οι τρεις παράμετροι είναι:

Παράμετρος Περιγραφή
όνομα όνομα τάξης γίνεται το __name__χαρακτηριστικό
βάσεις μια πλειάδα που αναφέρει την κλάση βάσης. γίνεται το __bases__χαρακτηριστικό
υπαγορεύω ένα λεξικό που είναι ο χώρος ονομάτων που περιέχει ορισμούς για το σώμα της τάξης · γίνεται το __dict__χαρακτηριστικό

Παράδειγμα 2: Δημιουργήστε ένα αντικείμενο τύπου

 o1 = type('X', (object,), dict(a='Foo', b=12)) print(type(o1)) print(vars(o1)) class test: a = 'Foo' b = 12 o2 = type('Y', (test,), dict(a='Foo', b=12)) print(type(o2)) print(vars(o2))

Παραγωγή

 ('a': 'Foo', 'b': 12, '__module__': '__main__', '__dict__':, '__weakref__':, '__doc__': Κανένα) ('a': 'Foo', 'b ': 12,' __module__ ':' __main__ ',' __doc__ ': Κανένα)

Στο πρόγραμμα, χρησιμοποιήσαμε τη συνάρτηση Python vars () που επιστρέφει το __dict__χαρακτηριστικό. __dict__χρησιμοποιείται για την αποθήκευση των εγγράψιμων χαρακτηριστικών του αντικειμένου.

Μπορείτε εύκολα να αλλάξετε αυτά τα χαρακτηριστικά εάν είναι απαραίτητο. Για παράδειγμα, εάν πρέπει να αλλάξετε το __name__χαρακτηριστικό του o1 σε 'Z', χρησιμοποιήστε:

 o1 .__ name = 'Z'

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