English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La funzione type() restituisce il tipo dell'oggetto o restituisce un nuovo oggetto tipo in base ai parametri passati.
La funzione type() ha due forme diverse:
type(object) type(name, bases, dict)
Se si passa un oggetto a type(), la funzione restituirà il suo tipo.
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))
Risultato di output
<class 'dict'> <class 'Foo'> <class '__main__.Foo'>
Se è necessario verificare il tipo di un oggetto, è meglio utilizzareLa funzione isinstance() di Python. Questo è perché la funzione isinstance() verifica anche se l'oggetto fornito è un'istanza di sottoclasse.
Se si passano tre parametri a type(), si restituirà un nuovotypeOggetto.
Questi tre parametri sono:
Parametri | Descrizione |
---|---|
name | Il nome della classe; diventa l'attributo __name__ |
bases | Elenca il tuple delle classi di base; diventa l'attributo __bases__ |
dict | Il dizionario, che contiene la definizione del namespace del corpo della classe, diventa l'attributo __dict__ |
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))
Risultato di output
<class 'type'> {'b': 12, 'a': 'Foo', '__dict__': <attributo '__dict__' degli oggetti 'X', '__doc__': None, '__weakref__': <attributo '__weakref__' degli oggetti 'X'>}} <class 'type'> {'b': 12, 'a': 'Foo', '__doc__': None}
Nel programma, abbiamo utilizzatoFunzione vars() di PythonPer tornare all'attributo __dict__. __dict__ viene utilizzato per memorizzare le proprietà scrivibili dell'oggetto.
Puoi modificare facilmente queste proprietà secondo necessità. Ad esempio, se desideri modificare il valore della proprietà __name__ di o1 in 'Z', utilizza:
o1.__name = 'Z'