Tipo Python ()

La funzione type () restituisce il tipo dell'oggetto o restituisce un nuovo tipo di oggetto in base agli argomenti passati.

La type()funzione ha due diverse forme:

 tipo (oggetto) tipo (nome, basi, dict)

type () con un parametro oggetto singolo

Se viene passato un singolo oggetto type(), la funzione restituisce il suo tipo.

Esempio 1: ottieni il tipo di un oggetto

 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))

Produzione

 

Se hai bisogno di controllare il tipo di un oggetto, è meglio usare invece la funzione isinstance () di Python. È perché la isinstance()funzione controlla anche se l'oggetto dato è un'istanza della sottoclasse.

type () Con nome, basi e parametri dict

Se vengono passati tre parametri type(), restituisce un nuovo tipo di oggetto.

I tre parametri sono:

Parametro Descrizione
nome un nome di classe; diventa l' __name__attributo
basi una tupla che specifica la classe base; diventa l' __bases__attributo
dict un dizionario che è lo spazio dei nomi contenente le definizioni per il corpo della classe; diventa l' __dict__attributo

Esempio 2: creare un oggetto di tipo

 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))

Produzione

 ('a': 'Foo', 'b': 12, '__module__': '__main__', '__dict__':, '__weakref__':, '__doc__': Nessuno) ('a': 'Foo', 'b ': 12,' __module__ ':' __main__ ',' __doc__ ': Nessuno)

Nel programma abbiamo utilizzato la funzione Python vars () che restituisce l' __dict__attributo. __dict__viene utilizzato per memorizzare gli attributi scrivibili dell'oggetto.

È possibile modificare facilmente questi attributi se necessario. Ad esempio, se è necessario modificare l' __name__attributo di o1 in 'Z', utilizzare:

 o1 .__ nome = 'Z'

Articoli interessanti...