🎯 Obiectivul tău:

Să înțelegi ce sunt tipurile de date în Python, cum funcționează, cum le poți transforma dintr-unul în altul și cum să le folosești corect în calcule. Vei învăța să eviți greșelile care apar atunci când încerci să combini tipuri incompatibile.


🧊 6.1 Ce este un „tip de date”?

Hai să începem cu o întrebare simplă: Ce înseamnă „10”?

  • Poate fi un număr: „Am 10 lei.”
  • Sau poate fi un text: „Nota ta este ‘10’.”

În viața reală, contextul ne ajută să înțelegem sensul. Dar calculatorul nu are intuiție – el trebuie să știe dinainte ce este o valoare și ce poate face cu ea.

În Python, tipul de date spune clar ce reprezintă o valoare: e un număr? un text? un adevăr? o absență?
Acest lucru influențează profund cum se comportă acea valoare într-un program.


🔠 6.2 Tipurile de bază în Python

Iată cele mai frecvente tipuri de date cu care vei lucra:

TipCe înseamnăExemplu
intnumăr întreg (fără virgulă)5, -12, 100
floatnumăr zecimal3.14, -0.5
strșir de caractere (adică text)"Ana", "123"
boolvaloare logică: adevărat/falsTrue, False
NoneTypeabsența unei valoriNone

📌 Cum afli tipul unei valori?
Python îți oferă o funcție specială numită type(). Îți spune exact ce tip are orice valoare.

pythonCopyEditprint(type(5))       # ➝ int
print(type(3.5))     # ➝ float
print(type("Ana"))   # ➝ str

🧪 6.3 Activitate: Ce tip are fiecare valoare?

Testează aceste linii și ghicește răspunsul înainte de a-l rula:

pythonCopyEditprint(type(3))        # ?
print(type(True))     # ?
print(type("3.14"))   # ?
print(type(3.14))     # ?

Răspunsuri:

  • int
  • bool
  • str
  • float

Observație: "3.14" este text (str), chiar dacă pare un număr!


🔄 6.4 Conversii între tipuri (numite și casting)

Uneori ai nevoie să transformi o valoare într-un alt tip. Python te ajută cu funcții simple:

FuncțieTransformă în…Exemplu
int()număr întregint("7")7
float()număr zecimalfloat("3.14")3.14
str()text (string)str(123)"123"

🔍 Atenție:
Nu orice conversie funcționează! Dacă încerci să transformi un text ca "abc" în int, vei primi o eroare:

pythonCopyEditint("abc")    # ❌ eroare
float("3.7")  # ✅ 3.7

🧪 6.5 Activitate: Ce se afișează?

pythonCopyEditprint(int(3.9))       # ?
print(float(3))       # ?
print(str(10))        # ?

Răspunsuri:

  • 3 → Python trunchiază partea zecimală, nu rotunjește.
  • 3.0 → devine float.
  • "10" → e text acum.

🔢 6.6 Ce operații poți face cu fiecare tip?

TipOperații posibileExemplu
int+, -, *, /, //, %, **3 + 58
floatLa fel ca int, dar rezultatul e zecimal5 / 22.5
strconcatenare +, repetare *"Ana" + " are""Ana are"
booland, or, notTrue and FalseFalse

🔺 Atenție! Nu poți aduna un int cu un str direct:

pythonCopyEditprint("Ana are " + 3)       # ❌ eroare
print("Ana are " + str(3))  # ✅ corect

📊 6.7 Exercițiu combinat

pythonCopyEditx = 5
y = 2
print(x / y)
print(type(x / y))

Răspuns:

  • Afișează 2.5
  • Tipul rezultatului este float, chiar dacă x și y sunt int.
    De ce? Pentru că / în Python returnează automat un rezultat zecimal.

🧠 Recapitulare Lecția 6

🔹 Orice valoare are un tip: int, float, str, bool, NoneType.
🔹 Tipul controlează ce operații poți face cu valoarea.
🔹 Conversiile (int(), float(), str()) te ajută să transformi valori când ai nevoie.
🔹 Dacă amesteci tipuri fără grijă, obții erori.


✅ Autoevaluare rapidă

  1. Ce tip de date are valoarea "123"?
    str
  2. Ce face funcția float(5)?
    ➝ Transformă 5 în 5.0
  3. Ce eroare apare dacă scrii "Ana" + 5?
    ➝ TipError: nu poți aduna str cu int
  4. Scrie un program simplu:
pythonCopyEditx = input("Dă-mi un număr întreg: ")
x = int(x)         # transformăm din text în int
x = float(x)       # apoi în float
print(x * 2)       # și îl înmulțim cu 2

✍️ Curiozitate practică

Ai observat că "5" și 5 par la fel, dar se comportă complet diferit?

  • "5" este un text – îl poți concatena: "5" + "2""52"
  • 5 este un număr – îl poți aduna: 5 + 27

Programatorii începători fac des greșeala de a crede că dacă ceva „arată” ca un număr, chiar este. De aceea, verificarea tipului este esențială!


📍 Ce urmează în Lecția 7?

Vom intra mai adânc în matematică:

  • Vom discuta despre ordinea operatorilor (+, *, **)
  • Cum folosim parantezele în calcule
  • Cum evaluăm expresii complexe

Și, bineînțeles, vom avea multe exemple și exerciții!


Dacă ți-a plăcut această lecție, spune-mi într-un comentariu care parte ți s-a părut cea mai interesantă. Sau mai bine: creează un mini-program care folosește cel puțin 3 tipuri de date!

📚 Surse recomandate și bibliografie

  1. Documentația oficială Python
    https://docs.python.org/3/library/functions.html#type Aici se găsesc explicații clare despre funcțiile type(), int(), float(), str(), și conversiile de bază între tipuri.
  2. W3Schools – Python Data Types
    https://www.w3schools.com/python/python_datatypes.asp Un ghid prietenos pentru începători, cu exemple simple pentru fiecare tip de date.
  3. Real Python – Python Data Types
    https://realpython.com/python-data-types/ Un articol detaliat despre tipuri de date și cum funcționează în Python, potrivit pentru cei care vor să înțeleagă mai profund.
  4. Programiz – Python Data Types
    https://www.programiz.com/python-programming/variables-datatypes Explică diferențele între int, float, str, bool, și cum se comportă fiecare în calcule.
  5. Luciano Ramalho, Fluent Python (O’Reilly, 2015) O resursă excelentă pentru învățarea tipurilor de date avansate în Python. Deși este mai avansată, merită menționată pentru pasionați.

📝 Notă pentru cititorii blogului

Toate conceptele prezentate în această lecție sunt adaptate pentru începători, folosind exemple inspirate din sursele de mai sus. Dacă vrei să te aventurezi mai departe în universul Python, îți recomand să explorezi și documentația oficială – este bine scrisă și mereu actualizată.

Lasă un comentariu

Quote of the week

„And so with the sunshine and the great bursts of leaves growing on the trees, I had that familiar conviction that life was beginning over again with the summer.”

~ F. Scott Fitzgerald, The Great Gatsby