logo

Come verificare il tipo di un oggetto in Python

In questo articolo esploreremo l'abilità essenziale di determinare il tipo di oggetto in Pitone . Prima di intraprendere qualsiasi operazione su un oggetto all'interno del linguaggio di programmazione Python, è imperativo possedere la conoscenza su come verificarne il tipo. Questo compito fondamentale si incontra regolarmente, sia che si lavori su un progetto personale o su un sistema di produzione complesso.

Controlla il tipo di un oggetto in Python

Python offre diversi metodi per identificare il tipo di un oggetto, il più elementare dei quali è la funzione incorporata type(), che fornisce un modo rapido per verificare il tipo di un oggetto. Tecniche più avanzate, come il isinstance (), offrono il vantaggio di gestire gerarchie di classi ed ereditarietà. Inizieremo esaminando la funzione incorporata type() e poi passeremo a metodi più avanzati come isinstance () funzione , la proprietà __class__ e altri.

Ottieni e stampa il tipo di un oggetto: type()

tipo() restituisce il tipo dell'oggetto. È simile al tipo di altri linguaggi di programmazione in quanto può essere utilizzato per ottenere e stampare il tipo di una variabile o di un valore letterale.



Python3




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

>

>

Produzione

>

Ottieni e stampa il tipo di un oggetto: isinstance()

isinstance (oggetto, tipo) restituisce True se l'argomento oggetto è una sottoclasse o un'istanza del parametro di tipo fornito. Utilizza una tupla come seconda opzione per verificare la presenza di vari tipi. Restituisce True se l'oggetto è un'istanza di uno qualsiasi dei tipi forniti.

Python3




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

>

>

Produzione

True False True>

Ottieni e stampa il tipo di un oggetto: attributo class__

In Python tutto è un oggetto e ogni oggetto ha caratteristiche proprie. L'attributo '__class__' è l'unico che può restituire il tipo di classe dell'oggetto. L'attributo __class__ in Python può essere utilizzato anche per verificare il tipo di oggetto oltre alle funzioni integrate.

Ogni oggetto Python ha un attributo chiamato __class__ che contiene le informazioni sulla classe dell'oggetto. Ad esempio, la classe dell'intero 5 può essere trovata utilizzando il codice seguente.

Python3


np.clip



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

>

>

Produzione

>

Ottieni e stampa il tipo di un oggetto: operatore '==' e type()

Un altro metodo per determinare il tipo di un oggetto è utilizzare la funzione type() e l'operatore ==. Questo può essere usato per confrontare il tipo di un oggetto con una classe specifica. Ad esempio, per determinare se l'intero 5 è di tipo int, possiamo utilizzare il seguente codice:

Pitone




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

>

>

Produzione

True True False>

Ricorda che Python è un linguaggio tipizzato dinamicamente, il che significa che il tipo di una variabile potrebbe cambiare mentre viene utilizzata. Di conseguenza, potrebbe essere necessario verificare il tipo di articolo prima di eseguire attività specifiche. Ad esempio, per sommare due numeri, dobbiamo assicurarci che siano entrambi interi o in virgola mobile.

Esempio

Il codice precedente dimostra come il tipo di oggetto di una variabile potrebbe cambiare durante l'esecuzione.

Pitone




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

>

>

Produzione

>

L'istruzione print iniziale mostrava il tipo come 'int' poiché 10 è un numero intero, ma dopo aver assegnato una stringa alla stessa variabile, la stessa istruzione print mostrava il tipo come 'str' ​​a causa del cambiamento dinamico del tipo di oggetto.

La natura tipizzata dinamicamente di Python richiede il processo di controllo dei tipi di oggetto. Ad esempio, se desideriamo sommare due numeri, dobbiamo assicurarci che siano entrambi interi o in virgola mobile. Operazioni di tipi di classe incompatibili comporterebbero errori di cui è possibile eseguire il debug solo utilizzando funzioni come type() o l'altro approccio di accesso alla proprietà '__class__'.

In sintesi, padroneggiare il controllo del tipo di oggetto in Python è fondamentale per gli sviluppatori a tutti i livelli, che tu sia un principiante o un programmatore esperto. Comprendere le tecniche, come type(), isinstance() e classe , è essenziale per creare codice efficiente e affidabile. Questi metodi forniscono un toolkit versatile per vari scenari di controllo del tipo e miglioreranno la tua competenza nello sviluppo di Python.