Weekendul trecut a avut loc la Facultatea de Informatică un workshop despre un limbaj de programare relativ nou, Python. Fiind un limbaj de programare nu atât de mult întâlnit, mulți elevi pasionați de informatică au vrut să participe la acest eveniment.
Ce este Python? Python este un limbaj de programare care se presupune a fi mai rapid, mai eficient și mai ușor de învățat decât celelalte limbaje de programare. Python pune accentul pe curățenia și simplitatea codului, iar sintaxa sa le permite dezvoltatorilor să exprime unele idei programatice într-o manieră mai clară și mai concisă decât în alte limbaje de programare ca C.
Cine folosește Python? Python este un limbaj multifuncțional folosit, de exemplu, de către companii ca Google sau Yahoo! pentru programarea aplicațiilor web, însă există și o serie de aplicații științifice sau de divertisment programate parțial sau în întregime în Python.
Variabile în Python. Tipul variabilelor nu este fixat la momentul declarării acestora (de fapt, declararea variabilelor nu este necesară ca în C), ci este determinat de interpretator după conținutul lor sau după operațiile efectuate. Într-un asemenea caz se vorbește de tipizare dinamică. Avantajul acestei metode de a lucra cu tipuri este că codul produs este mai clar și mai intuitiv.
Tipuri mutabile și nemutabile. Așa cum implică numele, datele cu un tip mutabil pot fi alterate după inițializare, în vreme ce la date nemutabile lucrul acesta este imposibil. Luând ca exemplu o listă (mutabilă), constatăm că putem adăuga elemente la listă sau le putem modifica fără probleme. În cazul unui șir de caractere (nemutabil), acest lucru nu este permis.
lista_mea= [„măr”,”pară”]
lista_mea.append(„strugure”) # adaugă la listă
printlista_mea[2] # afișază: strugure
șirul_meu=”varză”
șirul_meu[0] =”b”# schimbăcuvântulîn „barză” ->Eroare
Structuri de date. Python oferă tipuri tradiționale de date, cum ar fi numărul întreg (integer, int) sau cel rațional (float), dar introduce, totodată, și concepte noi. De exemplu, un grad mare de flexibilitate îl oferă listele (tablourile) în Python. Acestea nu sunt statice – ci pot conține orice tipuri de date (în cadrul aceleiași liste) și pot fi modificate pe loc adăugând și eliminând elemente fără a declara sau utiliza funcții de manipulare a memoriei.
lista_mea= [10,”șir de caractere”,variabilă, [„altă”,”listă”],chiar_și_o_funcție]
Alte structuri de date sunt tuplurile / perechile (tuples) și dicționarele (dictionaries, mappings). Tuplurile sunt liste care au un număr prestabilit de elemente și nu pot fi modificate parțial.
Stil. Python este un limbaj multi-paradigmă, concentrându-se asupra programării imperative, orientate pe obiecte și funcționale, ceea ce permite o flexibilitate mai mare în scrierea aplicațiilor. Din punctul de vedere al sintaxei, Python are un număr de contrucții și cuvinte cheie cunoscute oricărui programator, dar prezintă și un concept unic: nivelul de indentare are semnificație sintactică. Blocurile de cod sunt delimitate prin simplă indentare.
Ce am învăţat la workshop? Am învățat structurile de date, instrucțiuni, funcții (inclusiv funcții recursive) toate fiind făcute ca o comparație între Python și limbajul care ne este cunoscut nouă, C++. Această metodă de a compara cele două limbaje ne-a ajutat să înțelegem foarte ușor acest nou limbaj.
Care au fost minusurile acestui workshop? Workshop-ul trebuia să înceapă la ora 10:00, dar a început cu o oră întârziere, deoarece nu se găseau laboratoare în care să încapă toți participanți.
Concluzii. Una peste alta, cu plusuri şi cu minusuri, a fost o experienţă interesantă şi toţi cei interesaţi au plecat acasă cu informaţii noi, pe care le vor aplica în activitatea lor viitoare.
Foarte fain articolul, o observatie, python nu este atat de nou… Este un limbaj utilizat demult atat pe scara larga cat si ca limbaj de invatare.
Frumos articol, ne place faptul că feedback-ul tău chiar relevă ceea ce s-a petrecut, atât cu minusuri cât și cu plusuri. Bine punctată și ideea cu paralela C/C++ Python și mai ales că elevii au plecat cu ceva cunoștințe noi, nu neaparat legate strict de limbaj ci de algoritmică în general la nivel teoretic.
Mulțumim de implicare.