type() în Python

Returnează tipul unei valori (int, str, list...) sau, cu trei argumente, creează o clasă nouă.

Sintaxă
type(obiect)
type(nume, baze, dict)

Ce face type()

Cu un argument, type() spune ce fel de valoare ai: type(42) este <class 'int'>. Numele tipului îl obții cu type(x).__name__. Este util la depanare.

Pentru a verifica un tip în cod, preferă isinstance(), care ține cont și de moștenire. Forma cu trei argumente creează dinamic o clasă și este folosită rar, în cod avansat.

Parametri

Parametru Descriere
obiect Valoarea al cărei tip îl afli.
nume, baze, dict Forma avansată: numele clasei, tuplul claselor părinte și dicționarul cu atribute.

Ce returnează

Tipul (clasa) obiectului sau o clasă nouă.

Exemple

Exemplul 1: Tipul unor valori

for valoare in [42, 3.14, "text", [1, 2], {"a": 1}, (1,), None, print]:
    print(type(valoare).__name__)

Rezultat

int
float
str
list
dict
tuple
NoneType
builtin_function_or_method

Exemplul 2: Comparație cu isinstance()

print(type(True) == int)
print(isinstance(True, int))
print(type("abc") is str)

Rezultat

False
True
True

Exemplul 3: Crearea unei clase cu type()

Punct = type("Punct", (), {"x": 0, "y": 0, "descrie": lambda self: f"({self.x}, {self.y})"})
p = Punct()
p.x = 3
print(p.descrie(), type(p).__name__)

Rezultat

(3, 0) Punct

Greșeli frecvente

  • Verifici tipul cu type(x) == list. O subclasă a listei nu va trece testul; folosește isinstance(x, list).

Comenzi înrudite

  • isinstance() și issubclass(): Verifică dacă un obiect este de un anumit tip, sau dacă o clasă moștenește alta.
  • Variabile și tipuri de date: Cum creezi variabile în Python și care sunt tipurile de bază: int, float, str, bool, None, list, dict.
  • dir(): Listează numele (atribute și metode) disponibile într-un obiect sau modul.
  • class: Definește o clasă: un șablon pentru obiecte care au date (atribute) și comportament (metode).