English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Corso di base di Python

Controllo dei flussi in Python

Funzione in Python

Tipi di dati in Python

Operazioni di file in Python

Oggetti e classi in Python

Date e ora in Python

Conoscenze avanzate di Python

Manuale di Python

Uso e esempio di type() in Python

Funzioni integrate di Python

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)

type() con singolo parametro oggetto

Se si passa un oggetto a type(), la funzione restituirà il suo tipo.

Esempio 1: Ottenere il tipo dell'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))

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.

type() ha i parametri name, bases e dict

Se si passano tre parametri a type(), si restituirà un nuovotypeOggetto.

Questi tre parametri sono:

ParametriDescrizione
nameIl nome della classe; diventa l'attributo __name__
basesElenca il tuple delle classi di base; diventa l'attributo __bases__
dictIl dizionario, che contiene la definizione del namespace del corpo della classe, diventa l'attributo __dict__

Esempio 2: Creare un oggetto 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))

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'

Funzioni integrate di Python