logo

Cum să verificați tipul unui obiect în Python

În acest articol, vom explora abilitățile esențiale de a determina tipul unui obiect în Piton . Înainte de a vă angaja în orice operațiuni asupra unui obiect în limbajul de programare Python, este imperativ să aveți cunoștințele despre cum să verificați tipul acestuia. Această sarcină fundamentală este întâlnită în mod regulat, indiferent dacă lucrați la un proiect personal sau la un sistem de producție complex.

Verificați tipul unui obiect în Python

Python oferă mai multe metode de identificare a tipului unui obiect, cea mai de bază fiind funcția încorporată type(), care oferă o modalitate rapidă de a verifica tipul unui obiect. Tehnici mai avansate, cum ar fi esteinstanță () oferă avantajul de a gestiona ierarhiile de clasă și moștenirea. Vom începe prin a trece peste funcția încorporată type() și apoi vom trece la metode mai avansate, cum ar fi esteinstanță () funcția , proprietatea __class__ și altele.

Obțineți și tipăriți tipul unui obiect: type()

tip() returnează tipul obiectului. Este similar cu un tip din alte limbaje de programare prin faptul că poate fi folosit pentru a obține și tipări tipul unei variabile sau al unui literal.



Python3




print>(>type>(>'string'>))> #> print>(>type>(>500>))> #> print>(>type>([>9>,>8>,>7>]))> #>

>

>

Ieșire

>

Obțineți și tipăriți tipul unui obiect: isinstance()

esteinstanță (obiect, tip) returnează True dacă argumentul obiect este o subclasă sau o instanță a parametrului de tip furnizat. Utilizați un tuplu ca a doua opțiune pentru a verifica diferite tipuri. Returnează True dacă obiectul este o instanță a oricăruia dintre tipurile furnizate.

Python3




print>(>isinstance>(>'string'>,>str>))> # True> print>(>isinstance>(>300>,>str>))> # False> print>(>isinstance>(>700>, (>int>,>str>)))> # True>

>

>

Ieșire

True False True>

Obțineți și imprimați tipul unui obiect: atributul class__

În Python, totul este un obiect și fiecare obiect are caracteristici proprii. Atributul „__class__” este singurul care poate returna tipul de clasă al obiectului. Atributul __class__ din Python poate fi folosit și pentru a verifica tipul de obiect în plus față de funcțiile încorporate.

Fiecare obiect Python are un atribut numit __class__ care conține informații despre clasa obiectului. De exemplu, clasa întregului 5 poate fi găsită folosind codul de mai jos.

Python3


diana ankudinova



x>=> 10> print>(x.__class__)> #> y>=> 'GeeksForGeeks'> print>(y.__class__)> #> z>=> 90.0> print>(z.__class__)> #>

>

>

Ieșire

>

Obțineți și tipăriți tipul unui obiect: operatorul „==” și tipul ()

O altă metodă pentru a determina tipul unui obiect este utilizarea funcției type() și a operatorului ==. Aceasta poate fi folosită pentru a compara tipul unui obiect cu o anumită clasă. De exemplu, pentru a determina dacă întregul 5 este de tip int, putem folosi următorul cod:

Piton




x>=> 5> print>(>type>(x)>=>=> int>)> # True> y>=> 5.0> print>(>type>(y)>=>=> float>)> # True> z>=> 'techcodeview.com'> print>(>type>(z)>=>=> int>)> # False>

>

>

Ieșire

True True False>

Amintiți-vă că Python este un limbaj tip dinamic, ceea ce înseamnă că tipul unei variabile se poate schimba în timp ce este utilizată. Ca urmare, poate fi necesar să verificați tipul unui articol înainte de a efectua sarcini specificate. De exemplu, pentru a adăuga două numere, trebuie să ne asigurăm că ambele sunt numere întregi sau flotanți.

Exemplu

Codul precedent demonstrează cum se poate schimba tipul de obiect al unei variabile în timpul execuției.

Piton




x>=> 10> print>(>type>(x))> x>=> 'GeeksForGeeks'> print>(>type>(x))>

>

>

Ieșire

>

Instrucțiunea de imprimare inițială a afișat tipul ca „int” deoarece 10 este un număr întreg, dar după ce a atribuit un șir aceleiași variabile, aceeași instrucțiune de tipărire a afișat tipul ca „str” din cauza schimbării dinamice a tipului de obiect.

Natura tipată dinamic a lui Python necesită procesul de verificare a tipurilor de obiecte. De exemplu, dacă dorim să adunăm două numere, trebuie să ne asigurăm că ambele sunt numere întregi sau flotanți. Operațiunile incompatibile cu tipul de clasă ar duce la erori care ar putea fi depanate numai folosind funcții precum type() sau altă abordare de accesare a proprietății „__class__”.

În rezumat, stăpânirea verificării tipului de obiect în Python este crucială pentru dezvoltatorii de la toate nivelurile, indiferent dacă sunteți începător sau programator experimentat. Înțelegerea tehnicilor, cum ar fi type(), isinstance() și clasă , este esențială pentru crearea unui cod eficient și de încredere. Aceste metode oferă un set de instrumente versatil pentru diferite scenarii de verificare a tipului și vă vor îmbunătăți competența în dezvoltarea Python.