post

Python ro:Primii paşi

Contents

Introducere

Vom afla acum ce trebuie făcut pentru a rula tradiţionalul program ‘Hello World’ în Python. Astfel vom învăţa cum să scriem, salvăm şi rulăm programe Python.

Sunt doua căi de a folosi Python pentru a rula un program – folosind promptul interactiv al interpretorului sau folosind fişierul sursă. Vom afla cum se folosesc ambele metode.

Folosind promptul interpretorului

Porniţi interpretorul de la linia de comandă introducând python la prompt.

Pentru utilizatorii de Windows, puteţi rula interpretorul din linia de comandă dacă aveţi setată corect variabila PATH.

Dacă folosiţi IDLE (de la Integrated Developpement Linux Environment), dati clic pe StartProgramsPython 3.0IDLE (Python GUI).

Acum introduceţi print('Hello World') urmat de tasta Enter. Ar trebui să vedeţi ca rezultat cuvintele Hello World.

   $ python
   Python 3.0b2 (r30b2:65106, Jul 18 2008, 18:44:17) [MSC v.1500 32 bit (Intel)] on win32
   Type "help", "copyright", "credits" or "license" for more information.
   >>> print('Hello World')
   Hello World
   >>>

Observaţi că Python va da rezultatul comenzii imediat! Ceea ce tocmai aţi introdus este o declaraţie Python singulară. Folosim print pentru (nesurprinzator) a tipări orice valoare pe care i-o furnizăm. Aici îi furnizăm textul Hello World şi acesta este tipărit rapid pe ecran.

Cum să părăsiţi interpretorul
Ca să părăsiţi prompt-ul, tastaţi Ctrl-D dacă folosiţi IDLE sau un shell Linux/BSD. În cazul consolei Windows (Command prompt), tastaţi Ctrl-Z urmat de tasta ENTER.

Alegerea unui editor

Înainte de a trece la scrierea de programe Python În fişiere sursă avem nevoie de un editor pentru a crea aceste fişiere. Alegerea editorului este crucială. Trebuie ales la fel ca şi maşinile. Un editor bun vă va ajuta să scrieţi programe Python uşor, făcând timpul petrecut o călătorie confortabilă
şi vă va ajuta să ajungeţi la destinaţie (să vă atingeţi obiectivul) întro maniera rapidă şi sigură.

O cerinţă de bază este evidenţierea sintaxei [1] în care diferitele componente ale sintaxei sunt colorate de aşa natură încât să poţi vizualiza programul şi rularea lui.

Dacă utilizaţi Windows, vă recomand să folosiţi IDLE. IDLE face syntax highlighting şi multe altele printre care faptul că vă permite să rulaţi programele tot în IDLE. O notă specială: Nu folosiţi Notepad – este o opţiune rea fiindcă nu face syntax highlighting şi nu suportă indentarea textului, ceea ce este foarte important în cazul nostru, aşa cum veţi vedea în continuare. Editoarele bune precum IDLE (şi VIM) vă vor ajuta automat să indentaţi textul.

Dacă utilizaţi Linux/FreeBSD, atunci aveţi o mulţime de opţiuni pentru editor. Dacă sunteţi chiar la începutul carierei de programator, poate o să preferaţi ‘geany’. Are interfaţă grafică cu utilizatorul şi butoane speciale pentru compilat şi rulat programele Python fără complicaţii.

Dacă sunteţi programator experimentat, atunci probabil că folosiţi deja Vim sau Emacs. Nu mai e nevoie să precizăm că acestea două sunt cele mai puternice editoare şi veţi avea nenumărate avantaje din folosirea lor la scrierea de programe Python. Eu personal folosesc Vim pentru majoritatea programelor. Dacă sunteţi programator începător, puteţi folosi Kate care este unul din favoritele mele. În cazul în care doriţi să alocaţi timpul necesar învăţării lucrului cu Vim sau Emacs, vă recomand să le învăţaţi pe amândouă, întrucât pe termen lung veţi culege foloase mult mai mari.

În această carte vom folosi IDLE, editorul nostru IDE cel mai recomandat. IDLE este instalat în mod implicit de către installerele Python pentru Windows şi Mac OS X. Este disponibil şi pentru Linux şi BSD în colecţiile (‘engl. repositories’) respective.

Vom explora folosirea mediului IDLE în capitolul următor. Pentru mai multe detalii, vă rog să vizitaţi documentaţia IDLE .

Dacă tot mai doriţi să vedeţi şi alte opţiuni pentru editor, recomand cuprinzătoarea listă de editoare pentru Python şi să optaţi. Puteţi alege şi un IDE (Integrated Development Environment) pentru Python. A se vedea lista de medii integrate (IDE) care suportă Python pentru detalii suplimentare. Imediat ce veţi începe să scrieţi programe Python mari, IDE-urile pot fi cu adevărat foarte folositoare.

Repet, vă rog să alegeţi un editor adecvat – el poate face scrierea de programe Python mai distractivă şi uşoară.

Pentru utilizatorii de Vim
Există o introducere bună despre ‘Cum să faci Vim un IDE puternic pentru Python’ de John M Anderson.
Pentru utilizatorii de Emacs
Există o introducere bună despre ‘Cum să faci Emacs un IDE puternic pentru Python’ de Ryan McGuire.

Folosind un fişier sursă

Să ne întoarcem la programare. Există o tradiţie ca de câte ori înveţi un nou limbaj de programare, primul program pe care îl scrii să fie programul ‘Hello World’ – tot ce face el este să afişeze ‘Hello World’ când îl rulezi. După expimarea lui Simon Cozens [2], este ‘incantaţia tradiţională către zeii programării ca sa te ajute să înveţi limbajul mai bine’:) .

Porniţi editorul ales, introduceţi programul următor şi salvaţi-l sub numele helloworld.py

Dacă folosiţi IDLE, daţi clic pe FileNew Window şi introduceţi programul de mai jos. Apoi clic pe FileSave.

#!/usr/bin/python 
#Fisier: helloworld.py

print('Hello World')

Rulaţi programul deschizând un shell [3] şi introducând comanda python helloworld.py.

Daca folosiţi IDLE, deschideţi meniul RunRun Module sau direct F5 de pe tastatură.

Rezultatul este afişat astfel:

   $ python helloworld.py
   Hello World

Daca aţi obţinut rezultatul afişat mai sus, felicitări! – aţi rulat cu succes primul program în Python.

În caz ca aţi obţinut un mesaj de eroare, vă rog, tastaţi programul anterior exact ca în imagine şi rulaţi programul din nou. De reţinut că Python este case-sensitive [4] aşadar print nu este acelaşi lucru cu Print – observaţi p minuscul în primul exemplu şi P majuscul în al doilea exemplu. De asemenea, asiguraţi-vă că nu există spaţii sau TAB înaintea primului caracter din fiecare linie – vom vedea mai târziu de ce este atât de important.

Cum funcţionează

Să considerăm primele două linii din program. Acestea sunt numite comentarii – orice s-ar afla la dreapta caracterului # devine comentariu şi este util în special pentru documentarea cititorului programului.

Python foloseşte comentarii numai pentru acest caz. Prima linie este numita linie shebang – de fiecare dată când începe cu #! urmată de locaţia unui program; asta spune sistemului nostru Linux/Unix că fişierul trebuie înteles prin acest interpretor atunci când este executat. O explicaţie mai detaliată va fi prezentată în capitolele următoare. De reţinut că puteţi rula oricând programul pe orice platformă specificând interpretorul în linia de comandă, ca în exemplul python helloworld.py .

Important
Folosiţi cu grijă comentarii în programe pentru a explica detalii importante ale unor instrucţiuni – Asta va ajuta cititorul să înţeleagă mai uşor ce ‘face’ programul. Acel cititor puteţi fi dumneavoastră, peste şase luni!

Comentariile sunt urmate de o declaraţie Python. În cazul nostru apelăm funcţia print care pur şi simplu tipăreşte pe ecran textul 'Hello World'. Vom învăţa despre funcţii într-un alt capitol; ce trebuie reţinut acum este că orice am fi pus în paranteze ar fi aparut pe ecran. În acest caz punem 'Hello World', ceea ce se poate numi string – fiţi fără grijă, vom explora mai târziu terminologia aceasta în detaliu.

Programe Python executabile

Partea aceasta se aplică numai utilizatorilor de Linux/Unix, dar utilizatorii de Windows ar putea fi curioşi în legătură cu prima linie din program. Pentru început, va trebui să dăm fişierului permisiunea de a fi executabil folosind comanda chmod şi apoi să rulăm programul sursă.

   $ chmod a+x helloworld.py
   $ ./helloworld.py
   Hello World

Comanda chmod este folosită aici pentru a schimba [5] mod-ul fişierului dându-i drept de execuţie pentru toţi [6] utilizatorii sistemului. Pe urmă executăm programul direct, specificând locaţia programului sursă. Folosim ./ pentru a indica localizarea programului executabil în directorul curent.

Pentru a face lucrurile şi mai distractive, puteţi redenumi fişierul cu numele helloworld şi îl puteţi rula cu ./helloworld şi tot va merge, folosind interpretorul de la locaţia specificată pe primul rând din fişier..

Ce e de făcut dacă nu ştim unde este localizat Python? Atunci puteţi folosi programul env specific sistemelor Linux. Modificaţi primul rând astfel:

#!/usr/bin/env python

Programul env la rândul lui va căuta interpretorul Python care va rula programul.

Până acum am putut să executăm programele noastre doar dacă ştiam calea exactă. Dar dacă dorim să rulăm programul din orice director? Putem să facem asta dacă memorăm programul întrunul din directoarele listate în variabila de mediu PATH. Oridecâte ori rulaţi vreun program, sistemul caută acel program în directoarele listate în variabila PATH şi apoi rulează programul. Putem face programul nostru disponibil în orice director prin copierea programului întrunul din directoarele din PATH.

   $ echo $PATH
   /usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/swaroop/bin
   $ cp helloworld.py /home/swaroop/bin/helloworld
   $ helloworld
   Hello World

Putem afişa conţinutul variabilei PATH folosind comanda echo şi prefixând numele variabilei cu caracterul $ pentru a-i transmite shell-ului că avem nevoie de valoarea acestei variabile. Observăm că /home/swaroop/bin este printre directoarele din PATH, unde swaroop este numele de utilizator [7] pe care eu îl folosesc în sistemul meu. Există unul similar pentru numele de utilizator al fiecaruia pe sistemul său. Ca alternativă, puteţi adăuga un director anume la variabila PATH – se face executând PATH=$PATH:/home/swaroop/mydir unde '/home/swaroop/mydir' este directorul pe care eu vreau sa-l adaug la variabila PATH.
Această metodă este foarte utilă dacă vreţi să scrieţi scripturi utile pe care vreţi să le rulaţi oricând din orice locaţie a sistemului. Seamănă cu a-ţi crea propriile comenzi, precum cd sau orice altă comandă pe care o execuţi în terminalul Linux sau DOS prompt.

Atenţie
Din punctul de vedere al Python-ului, program sau script sau software înseamnă acelaşi lucru!

Cum obţinem ajutor

Dacă aveţi nevoie repede de informaţii despre vreo funcţie sau declaraţie din Python, atunci puteţi apela la functionalitatea inclusă [8] help. Este foarte folositor, mai ales la promptul interpretorului. De exemplu rulaţi help(print) – se va afişa documentaţia de asistenţă pentru funcţia print folosită pentru afişarea pe ecran.

Notă
Tastaţi q pentru a ieşi din help.

Similar, puteţi obţine informaţii despre aproape orice din Python. Folosiţi help() pentru a afla mai multe despre însuşi help!

În cazul în care aveţi nevoie de ajutor în legătură cu operatori precum return, atunci va trebui să-i puneţi în ghilimele (ca în help('return')) pentru ca Python să inţeleagă fără confuzie ce încercaţi să faceţi.

Rezumat

Acum ar trebui să puteţi scrie, salva şi rula cu uşurinţă programe Python. Pentru ca aţi devenit utilizator de Python, să mai învăţăm câteva concepte din Python.


Referinţe:

  1. engl. syntax highlighting
  2. autorul minunatei cărţi ‘Beginning Perl’
  3. terminal Linux sau DOS prompt
  4. sensibil faţă de cazul caracterelor n.tr. minuscule/majuscule
  5. engl. change
  6. engl. all
  7. engl. username
  8. engl. built-in