Buna ziua si bine v-am regasit! Astazim continuam seria “Invata in 10 minute” cu un episod despre Python.
Ce este Python?
Python este un limbaj de programare fascinant. Este usor de inteles si sintaxa este simpla dar in acelasi timp, eleganta. Python este destul de usor de invatat din punctul de vedere al unui incepator, dar este in acelasi timp suficient de puternic, fiind in spatele unor produse de la NASA, Google, Facebook, Microsoft s.a.md. Oricare ar fi scopul tau, Python produce o experienta de programare unica, facandu-te sa scrii la fel de natural ca in limba engleza.
In ce domenii se foloseste Python?
Python este folosit in multiple domenii, fiind o optiune fiabila indiferent daca discutam despre mici sau mari. Aici sunt cateva exemple care o sa va atraga curiozitatea:
Dezvoltare web
- Poti sa folosesti Python pentru a creea aplicatii web, folosind framework-uri precum Flask, Pyramid si Django. Iar pentru a enumara cateva proiecte: Disqus, Mozilla, NASA si Reddit folosesc Python.
Analiza datelor
- Python este cel mai folosit limbaj atunci cand vine vorba de analizat date. Si-a capatat popularitatea datorita multor librarii folositoare, precum NumPy si Pandas. Iar pentru vizualizarea datelor Matplotlib si Seaborn ne vin in ajutor.
Machine learning
- Python mai este folosit pentru a prezice satisfacerea clientilor. De asemenea il mai poti folosii si pentru a prezice stocurile din urmatoarele zile, bazandu-te pe datele din anii trecuti. Cateva librarii care te pot ajuta sa implementezi acesti algoritmi ar fi Scikit-Learn, NLTK si TensorFlow
Computer vision
- Poti folosii Python pentru a tecta culori, obiecte si asa mai departe folosind librarii precum OpenCV.
Python – Instalarea
Pentru a testa bucati scurte de cod, in Python uneori putem scrie codul direct in Command Prompt (sau Terminal – pe Linux / Mac). Este mult mai usor si rapid decat creearea unui fiiser si executarea ulterioara a acestuia. Pentru a verifica daca aveti instalat Python in PC, trebuie sa scrieti python –version (sau python3 — version).
Daca primiti un mesaj asemanator inapoi, inseamna ca aveti Python instalat. In cazul in care primiti o eroare, puteti urmarii tutorialul realizat de Catalin:
Vom incepe cu o comanda simpla: scriem prima oara python in CMD, iar pe urma executam comanda print().
print("Tutoriale-Pe.NET - Invata in 10 minute")
Si vom obtine urmatorul rezultat:
Nota: De fiecare data cand executam comenzi in Python direct din Terminal vom observa ca fiecare linie este precedata de >>>. Acest lucru se intampla doar atunci cand folosim Terminal-ul.
Daca doriti sa opriti executarea comenzilor puteti apasa Ctrl+D sau puteti scrie exit().
Python – Sintaxa
Acum vom discuta despre sintaxa. Daca in alte limbaje de programare indentarea joaca mai mult un rol estetic, in Python, identarea este esentiala pentru a rula codul.
Python – Comentariile
Comentariile pe o singura linie incep cu # (echivalentul // in C++) iar cele pe mai multe linii cu ” ”’ ” (echivalentul /* */). Va las mai jos un exemplu pentru a intelege mai bine.
#Comentariu pe o singura linie ''' Comentariu pe mai multe linii '''
Python – Variabilele
In comparatie cu alte limbaje de programare, in Python nu este nevoie sa declari tipul variabilelor inainte de a le folosii. O variabila este creeata in momentul in care o folosesti pentru prima oara.
x = 10 s = "Tutoriale-Pe.NET" print(x) print(s)
De asemenea, putem schimba tipul variabilelor oricand, sa trecem de la o variabila de tip “int” la o variabila de tip “string”.
x = 10 x = "Tutoriale-Pe.NET" print(x)
Numele variabilelor in Python
Aceleasi reguli pe care le cunoastem se aplica in continuare si in Python, si anume:
- Numele unei variabile trebuie sa inceapa cu o litera sau cu underscore (” _ “)
- Numele unei variabile NU poate incepe cu un numar
- Numele unei variabile trebuie sa contina doar caractere alfa-numerice si underscore
- Numele variabilelor sunt case-sensitive (de exemplu variabila “xy” este diferita de variabila “XY”)
Pentru a afisa valorile unor variabile in Python, dupa cum am mentionat mai sus putem folosii functia print(). Insa trebuie sa aveti grija, deoarece nu puteti afisa si numere si string-uri in acelasi timp! De exemplu
x = "super" print("Tutoriale-Pe.NET este " + x)
Se va executa, deoarece avem doar doua stringuri.
x = 10 y = 5 print(x + y)
Se va executa, deoarece avem doar numere.
In schimb..
x = 10 y = "TPN" print(x + y)
.. nu se va executa deoarece avem doua tipuri diferite de variabile, trebuie sa convertim variabila x intr-un string mai intai
x = 10 y = "TPN" print(str(x) + y)
Numerele in Python
In Python se regasesc urmatoarele tipuri de numere:
- Numere intregi
- Numere reale (cu virgula)
- Numere complexe
Pentru a verifica tipul unei variabile, in Python se poate folosii functia type().
x = 10 y = "TPN" print(type(x)) print(type(y))
Numerele complexe in Python
In Python exista posibilitatea folosirii numerelor complexe. Se va folosii litera “j” pentru a nota partea imaginara. De exemplu
x = 4 + 10j y = 4j z = -4j print(type(x))
Stringurile in Python
Un lucru important de notat in Python este faptul ca acesta nu are notiunea de “caracter”. O litera este considerata un string format dintr-un singur element. De asemenea, lucrul cu caractere in Python este foarte asemanator cu cel in C++.
str = "Tutoriale-Pe.NET" print(str[1]) #Va afisa u
Un lucru care imi place foarte mult in Python este obtinerea unor sub-stringuri. De exemplu pentru a scoate literele “Pe” din denumirea site-ului nostru trebuie sa scriem
str = "Tutoriale-Pe.NET" print(str[10:-4])
Cum functioneaza treaba aceasta? Ei bine pentru a taia un string trebuie sa mentionam mai intai de unde il taiem, si am mentionat faptul ca il taiem dupa caracterul numarul 10 (numaratoarea incepe de la 0). Mai trebuie sa precizam unde dorim sa se opreasca taierea, numarand in sens invers.
Listele in Python
In Python exista 4 tipuri de date atunci cand lucrezi cu mai multe variabile:
- List – este o colectie de elemente ordonata ce poate fi schimbata. Elementele duplicate sunt permise
- Tuple – este o colectie ordonata de date ce nu poate fi schimbata. Elementele duplicate sunt permise
- Set – este o colectie neordonata de date in care elementele duplicate nu sunt permise (traducerea acestui tip de date ar fi “multime” – intr-o multime nu poti sa ai de doua ori acelasi element)
- Dictionary – este o colectie de date ce stocheaza elementele pe baza unei chei si valori (discutam despre ea mai jos)
Listele in Python au rolul de a stoca mai multe elemente simultan.
fructe = ["mere", "pere", "cirese", "capsuni"] print(fructe)
Pentru a accesa un singur element din lista, exact ca si in C++ trebuie sa mentionam numarul elementului, de exemplu:
fructe = ["mere", "pere", "cirese", "capsuni"] print(fructe[2])
O chestie interesanta in Python este faptul ca poti numara si de la sfarsit, de exemplu:
fructe = ["mere", "pere", "cirese", "capsuni"] print(fructe[-2])
Daca doresti sa aflii cate elemente sunt in lista ta poti folosii functia len():
fructe = ["mere", "pere", "cirese", "capsuni"] print(len(fructe))
Pentru a adauga elemente, se foloseste functia append().
fructe = ["mere", "pere", "cirese", "capsuni"] fructe.append("visine") print(fructe)
Pentru a scoate elemente, se poate folosii functia pop(). Daca nu ii specificam nici un parametru, atunci se va elimina ultimul element. Daca in schimb ii dam ca si parametru index-ul unui membru, il va scoate pe acela.
fructe = ["mere", "pere", "cirese", "capsuni"] fructe.append("visine") print(fructe) fructe.pop() print(fructe) fructe.pop(1) print(fructe)
Pentru a verifica daca un element se afla intr-o lista, vom scrie:
fructe = ["mere", "pere", "cirese", "capsuni"] print("mere" in fructe) #Se va afisa True
Listele de tip “dictionar”
In Python listele de tip “dictionar” se declara folosind acolade. Haideti sa definim un dictionar ce defineste o masina.
dictionar = { "brand" : "Volkswagen", "model" : "Passat", "an" : 2010, "culoare" : "albastru" }
Pentru a accesa un element dintr-un dictionar, trebuie sa folosim cheia ce il defineste. De exemplu:
dictionar = { "brand" : "Volkswagen", "model" : "Passat", "an" : 2010, "culoare" : "albastru" } print(dictionar["an"])
Daca dorim sa scoatem toate cheile, sau toate valorile dintr-un dictionar putem apela la functiile keys() si values().
dictionar = { "brand" : "Volkswagen", "model" : "Passat", "an" : 2010, "culoare" : "albastru" } print(dictionar.keys()) print(dictionar.values())
Structura IF in Python
Acum ca am prezentat in ansamblu limbajul, a venit timpul sa vorbim despre structurile alternative si repetitive. Vom incepe cu structura if. Dupa cum bine stiti, este folosita pentru a verifica daca o conditie este adevarata.
Daca avem o conditie adevarata, Python va rula o secventa de cod ce este definita sub aceasta. Daca in schimb conditia este falsa, compilatorul va rula structura ce se afla sub else. De exemplu:
x = 10 if x == 10: print("x este zece") else: print("x nu este zece")
Structurile repetitive in Python
Exista in total doua tipuri de structuri repetitive “for” si “while”.
Structura for se foloseste in general atunci cand vrei sa repeti o bucata de cod de un numar “n” de ori. In general se foloseste atunci cand doresti sa parcurgi o lista
fructe = ["mere", "pere", "cirese", "capsuni"] for fruct in fructe: print("Mihai iubeste: " + fruct)
Structura while – exact ca si structura for se foloseste pentru a repeta o anumita bucata de cod de mai multe ori. In schimb functia while continua atata timp cat conditia este satisfacuta, de exemplu:
x = 3 print("Racheta se lanseaza in ") while x > 0: print(x) x -= 1
Functiile in Python
Exact ca in C++, functiile sunt bucati de cod ce pot fi reutilizate in alte parti intr-un cod pentru a executa aceleasi instructiuni. Pentru a definii o functie in Python se foloseste keyword-ul “def”, de exemplu:
def suma(nr1, nr2): return nr1 + nr2 print(suma(2,3))
De asemenea, daca dorim sa specificam o valoare initiala a unui parametru putem scrie:
def suma(nr1, nr2 = 10): return nr1 + nr2 print(suma(2))