La funzione type() viene utilizzata principalmente per scopi di debug. È possibile passare due diversi tipi di argomenti alla funzione type(), argomenti singoli e tre. Se viene passato un singolo argomento type(obj), restituisce il tipo dell'oggetto specificato. Se vengono passati tre tipi di argomento (oggetto, basi, dict), restituisce un nuovo tipo di oggetto.
Sintassi della funzione Python type()
Sintassi: tipo(oggetto, basi, dict)
Parametri:
- oggetto: Necessario. Se viene specificato un solo parametro, la funzione type() restituisce il tipo di questo oggetto
- basi: tupla di classi da cui deriva la classe corrente. Successivamente corrisponde all'attributo __bases__.
- detto: un dizionario che contiene gli spazi dei nomi per la classe. Successivamente corrisponde all'attributo __dict__.
Ritorno: restituisce una nuova classe di tipo o essenzialmente una metaclasse.
Come funziona la funzione type() in Python?
Nell'esempio fornito, stiamo stampando il tipo di variabile x. Determineremo il tipo di un oggetto in Python.
Python3
tipi di apprendimento automatico
x> => 10> print> (> type> (x))> |
>
>Produzione
>
Esempi della funzione type() in Python
Usando la funzione type(), possiamo determinare il tipo di un oggetto in Python. Di seguito sono riportati alcuni altri esempi relativi alla funzione type():
Trovare il tipo di un oggetto Python
Qui stiamo controllando il tipo di oggetto utilizzando la funzione type() in Pitone .
Python3
a> => (> 'Geeks'> ,> 'for'> ,> 'Geeks'> )> b> => [> 'Geeks'> ,> 'for'> ,> 'Geeks'> ]> c> => {> 'Geeks'> :> 1> ,> 'for'> :> 2> ,> 'Geeks'> :> 3> }> d> => 'Hello World'> e> => 10.23> f> => 11.22> print> (> type> (a))> print> (> type> (b))> print> (> type> (c))> print> (> type> (d))> print> (> type> (e))> print> (> type> (f))> |
>
>
programmazione stdin cProduzione
>
Controlla se un oggetto è di tipo in Python
In questo esempio, stiamo testando l'oggetto utilizzando le condizioni e stampando il valore booleano.
Python3
print> (> type> ([])> is> list> )> print> (> type> ([])> is> not> list> )> print> (> type> (())> is> tuple> )> print> (> type> ({})> is> dict> )> print> (> type> ({})> is> not> list> )> |
>
10 di 100
>Produzione
True False True True True>
Utilizzo di type() con l'istruzione condizionale
In questo esempio, stiamo usando la funzione type() per determinare il tipo di un oggetto in Python con l'istruzione condizionale if-else.
Python3
# Example variables> my_tuple> => (> 10> ,> 'Hello'> ,> 45> ,> 'Hi'> )> my_dict> => {> 1> :> 'One'> ,> 2> :> 'Two'> ,> 3> :> 'Three'> }> # Check if the variables have the same object type> if> type> (my_tuple)> is> not> type> (my_dict):> > print> (> 'The variables have different object types.'> )> else> :> > print> (> 'The variables have the same object type.'> )> |
>
>Produzione
The variables have different object types.>
Tipo Python() con 3 parametri
Nell'esempio fornito, stiamo creando un file classe senza una classe base e una classe derivata da una classe base. La funzione type() consente di definire a livello di codice le classi e i relativi attributi in fase di runtime.
Python3
ordinamento per inserimento Java
# New class(has no base) class with the> # dynamic class initialization of type()> new> => type> (> 'New'> , (> object> , ),> > dict> (var1> => 'techcodeview.com'> , b> => 2009> ))> # Print type() which returns class 'type'> print> (> type> (new))> print> (> vars> (new))> # Base class, incorporated> # in our new class> class> test:> > a> => 'Geeksforgeeks'> > b> => 2009> # Dynamically initialize Newer class> # It will derive from the base class test> newer> => type> (> 'Newer'> , (test, ),> > dict> (a> => 'Geeks'> , b> => 2018> ))> print> (> type> (newer))> print> (> vars> (newer))> |
>
>
Produzione
{'var1': 'techcodeview.com', 'b': 2009, '__module__': '__main__', '__dict__': , '__weakref__': , '__doc__': Nessuno}
{'a': 'Geeks', 'b': 2018, '__module__': '__main__', '__doc__': Nessuno}
Applicazioni della funzione Python type()
- tipo( ) viene utilizzata fondamentalmente per scopi di debug. Quando si utilizzano altre funzioni di stringa come .upper(), .lower() e .split() con testo estratto da un web crawler, potrebbe non funzionare perché potrebbero essere di tipo diverso che non supporta le funzioni di stringa. Di conseguenza, continuerà a generare errori, di cui è molto difficile eseguire il debug [Considera l'errore poiché GeneratorType non ha attributo lower() ].
- tipo() La funzione può essere utilizzata a quel punto per determinare il tipo di testo estratto e quindi modificarlo in altre forme di stringa prima di utilizzare funzioni di stringa o qualsiasi altra operazione su di esso.
- tipo() con tre argomenti può essere utilizzato per inizializzare dinamicamente classi o classi esistenti con attributi. Viene utilizzato anche per registrare le tabelle del database SQL .
- Nei framework di test unitari,
type()>
può essere utilizzato per convalidare l'output di funzioni o metodi, garantendo che vengano restituiti i tipi di dati previsti.