En aquest article, explorarem l'habilitat essencial per determinar el tipus d'objecte Python . Abans de realitzar qualsevol operació en un objecte dins del llenguatge de programació Python, és imprescindible tenir el coneixement de com comprovar-ne el tipus. Aquesta tasca fonamental es troba regularment, tant si es treballa en un projecte personal com en un sistema de producció complex.
Comproveu el tipus d'un objecte a Python
Python ofereix diversos mètodes per identificar el tipus d'un objecte, el més bàsic és la funció incorporada type(), que proporciona una manera ràpida de comprovar el tipus d'un objecte. Tècniques més avançades, com ara el és instància (), ofereixen l'avantatge de gestionar les jerarquies de classes i l'herència. Començarem repassant la funció incorporada type() i després passarem a mètodes més avançats com ara és instància () funció , la propietat __class__ i altres.
Obteniu i imprimiu el tipus d'un objecte: type()
tipus () retorna el tipus de l'objecte. És similar a un tipus en altres llenguatges de programació, ja que es pot utilitzar per obtenir i imprimir el tipus d'una variable o literal.
Python 3
print> (> type> (> 'string'> ))> #> print> (> type> (> 500> ))> #> print> (> type> ([> 9> ,> 8> ,> 7> ]))> #> |
>
>Sortida
>
Obteniu i imprimiu el tipus d'objecte: isinstance()
és instància (objecte, tipus) retorna True si l'argument de l'objecte és una subclasse o una instància del paràmetre de tipus subministrat. Utilitzeu una tupla com a segona opció per comprovar si hi ha diversos tipus. Retorna True si l'objecte és una instància d'algun dels tipus subministrats.
Python 3
print> (> isinstance> (> 'string'> ,> str> ))> # True> print> (> isinstance> (> 300> ,> str> ))> # False> print> (> isinstance> (> 700> , (> int> ,> str> )))> # True> |
>
>Sortida
True False True>
Obteniu i imprimiu el tipus d'un objecte: atribut class__
A Python, tot és un objecte, i cada objecte té característiques pròpies. L'atribut '__class__' és l'únic que pot retornar el tipus de classe de l'objecte. L'atribut __class__ a Python també es pot utilitzar per verificar el tipus d'objecte a més de les funcions integrades.
Cada objecte Python té un atribut anomenat __class__ que conté la informació de classe de l'objecte. Per exemple, la classe de l'enter 5 es pot trobar utilitzant el codi següent.
Python 3
què és mac os
x> => 10> print> (x.__class__)> #> y> => 'GeeksForGeeks'> print> (y.__class__)> #> z> => 90.0> print> (z.__class__)> #> |
>
>Sortida
>
Obteniu i imprimiu el tipus d'un objecte: operador '==' i type()
Un altre mètode per determinar el tipus d'un objecte és utilitzar la funció type() i l'operador ==. Això es pot utilitzar per comparar el tipus d'un objecte amb una classe específica. Per exemple, per determinar si l'enter 5 és de tipus int, podem utilitzar el codi següent:
Python
x> => 5> print> (> type> (x)> => => int> )> # True> y> => 5.0> print> (> type> (y)> => => float> )> # True> z> => 'techcodeview.com'> print> (> type> (z)> => => int> )> # False> |
>
>Sortida
True True False>
Recordeu que Python és un llenguatge de tipus dinàmic, el que significa que el tipus d'una variable pot canviar mentre s'utilitza. Com a resultat, pot ser necessari comprovar el tipus d'element abans de fer tasques especificades. Per exemple, per sumar dos nombres, hem d'assegurar-nos que tots dos siguin nombres enters o flotants.
Exemple
El codi anterior mostra com el tipus d'objecte d'una variable pot canviar durant l'execució.
Python
x> => 10> print> (> type> (x))> x> => 'GeeksForGeeks'> print> (> type> (x))> |
>
>Sortida
>
La instrucció d'impressió inicial mostrava el tipus com a 'int' ja que 10 és un nombre enter, però després d'assignar una cadena a la mateixa variable, la mateixa instrucció d'impressió mostrava el tipus com a 'str' a causa del canvi dinàmic del tipus d'objecte.
La naturalesa de tipus dinàmic de Python requereix el procés de comprovació dels tipus d'objectes. Per exemple, si volem sumar dos nombres, hem d'assegurar-nos que tots dos siguin nombres enters o flotants. Les operacions de tipus de classe incompatibles donarien lloc a errors que només es podrien depurar mitjançant funcions com type() o l'altre enfocament d'accés a la propietat '__class__'.
En resum, dominar la comprovació del tipus d'objecte a Python és crucial per als desenvolupadors de tots els nivells, tant si sou un principiant com un programador experimentat. Entendre les tècniques, com ara type(), isinstance() i classe , és essencial per crear codi eficient i fiable. Aquests mètodes proporcionen un conjunt d'eines versàtil per a diversos escenaris de verificació de tipus i milloraran la vostra competència en el desenvolupament de Python.