post

Python ro:Ce urmează

Dacă aţi citit această carte cu atenţie până acum şi aţi exersat o mulţime de programe, v-aţi familiarizat deja cu Python. Probabil aţi scris câteva programe ca să încercaţi diverse idei şi să vă exersaţi aptitudinile. Dacă nu aţi făcut aşa, ar trebui. Întrebarea este ‘Ce urmează?’

V-aş sugera să abordaţi această problemă:

Creaţi-vă propria carte de adrese cu interfaţă la linia de comandă, pe care o puteţi răsfoi, puteţi adăuga, şterge, modifica contacte precum prieteni, familie colegi etc. şi informaţiile lor precum adresa de e-mail şi numărul de telefon. Detaliile trebuie stocate pentru o accesare în viitor.

Asta este destul de uşor dacă vă gândiţi la ea prin prisma diverselor elemente studiate până acum. Dacă încă mai vreţi indicaţii cum să porniţi, iată un pont.

Pont (nu citiţi)
Creaţi o clasă pentru a reprezenta o persoană cu informaţiile ei. Folosiţi un dictionar pentru a stoca obiectele persoană cu cheie numele lor. Folosiţi modulul pickle pentru a stoca obiectele în mod persistent pe harddisc. Folosiţi metodele predefinite ale dicţionarelor pentru a adăuga, şterge şi modifica persoanele.

Odată ce puteţi face asta, puteţi spune că sunteţi programator Python. În acel moment trimiteţi-mi un e-mail de mulţumire pentru minunata carte;-) . Acest pas este opţional, dar recomandat. De asemenea, vă rog să luaţi în calcul o donaţie, participarea cu îmbunătăţiri sau voluntariatul la traduceri pentru a susţine dezvoltarea continuă acestei cărţi.

Dacă programul vi s-a părut uşor, iată altul:

Implementaţi comanda replace. Această comandă va înlocui un şir cu altul întro listă de fişiere dată.

Comanda replace poate fi atât de simplă sau de sofisticată cum vreţi, de la o simplă formulă de substituţie de şiruri până la căutarea de scheme (expresii regulare).

După asta, mai există câteva căi de a vă continua călătoria în Python:

Contents

Coduri exemplificative

Cea mai bună cale de a învăţa un limbaj de programare este de a citi şi scrie mult cod:

Întrebări şi răspunsuri

Ponturi si smecherii

(engl. tips and tricks)

Carti, documentatii, tutoriale, filmulete

Urmatorul pas logic dupa cartea aceasta este sa cititi minunata carte a lui Mark Pilgrim Dive Into Python (rom Aprofundare in Python) pe care o puteti citi si online. Cartea Dive Into Python exploreaza subiecte ca expresii regulare, procesare de XML, servicii web, testari de unitati, etc. in detaliu.

Alte resurse folositoare sunt:

Discuţie

Dacă vă încurcă o problemă Python şi nu ştiţi pe cine să întrebaţi, grupul de discuţii comp.lang.python este cel mai bun loc de a pune întrebarea.

Asiguraţi-vă că v-aţi făcut tema încercând întâi să o rezolvaţi singuri.

Noutăţi

Dacă vreţi să învăţaţi cele apărute mai nou în lumea Python atunci mergeţi la Planeta oficială Python şi/sau Planeta neoficială Python.

Instalarea bibliotecilor

Există un număr uriaş de biblioteci open source pe care le puteţi folosi în programe la Indexul pachetelor Python.

Pentru a le instala şi utiliza puteţi să folosiţi excelentul utilitar EasyInstall.

Software grafic

Să zicem că vreţi sa creaţi propriul program cu interfaţă grafică (GUI) folosind Python. Asta se poate face folosind o biblioteca GUI (engl. Graphical User Interface) cu conexiunile ei Python. Legăturile sunt ceea ce ne permite să scriem programe în Python şi să folosim biblioteci scrise în C sau C++, dar şi în alte limbaje.

Exista o mulţime de opţiuni de GUI care folosesc Python:

PyQt
Aceasta este o conexiune Python pentru kitul de utilitare Qt care este fundaţia pe care este construit KDE. Qt este extrem de uşor de folosit şi foarte puternic, în special datorită mediului Qt Designer şi uimitoarei documentaţii Qt. PyQt este free dacă vreţi să creaţi software open source (licenta GPL) respectiv trebuie să-l cumparaţi dacă vreţi să creaţi soft cu sursele protejate (închise). Începând cu Qt 4.5 îl puteţi folosi şi pentru a crea soft non GPL. Pentru a începe citiţi tutorialul PyQt sau cartea PyQt.
PyGTK
Aceasta este conexiunea Python pentru kitul de utilitare GTK+ care este baza pe care este construit GNOME. GTK+ are multe complicaţii în utilizare, dar îndata ce te familiarizezi cu el, poţi crea aplicaţii GUI rapid. Mediul Glade de proiectare a interfelelor grafice este indispensabil. Documentaţia mai trebuie îmbunătăţită. GTK+ lucrează bine pe Linux, iar portarea sa pe Windows este incompletă. Puteţi crea cu GTK+ atât soft open source şi soft non-GPL. Pentru a începe citiţi tutorialul PyGTK.
wxPython
Acesta este conexiunea Python pentru kitul de utilitare wxWidgets. wxPython are asociată o curba de învăţare. Totuşi este foarte portabil şi ruleaza pe Linux, Windows, Mac şi chiar pe platforme implantate (engl. embedded). Există multe IDE-uri disponibile pentru wxPython care includ medii de proiectare GUI precum SPE (Stani’s Python Editor) şi constructorul de GUI wxGlade. Puteţi crea cu wxPython atât soft open source şi soft non-GPL. Pentru a începe citiţi tutorialul wxPython.
TkInter
Acesta este unul din cele mai vechi kituri de utilitare GUI. Dacă aţi folosit IDLE, aţi văzut programul TkInter la lucru. Nu are cel mai bun aspect şi atmosferă ci unul de şcoala veche. TkInter este portabil şi merge atât pe Linux/Unix cât şi pe Windows. Important, TkInter este parte a distribuţiei standard Python. Pentru a începe citiţi tutorialul Tkinter.

Pentru mai multe opţiuni răsfoiţi pagina wiki GuiProgramming de pe websitul oficial Python].

Rezumatul utilitarelor GUI

Din nefericire nu existp un utilitar GUI standard pentru Python. Eu vp propun sp vp alegeşi una din uneltele de mai sus, în funcţie de situaţie. Primul factor este dacă doriţi să plătiţi pentru vreuna din uneltele GUI. Al doilea factor dacă vreţi să meargă programul numai pe Windows, numai pe Mac sau Linux sau pe toate. Al treilea factor, dacă a fost aleasă platforma Linux este dacă sunteţi utilizator KDE sau GNOME sub Linux.

Pentru o analiză comparativă mai detaliată citiţi pagina 26 din Publicaţia Python, Volumul 3, Numarul 1.

Diverse implementări

De obicei există două părţi ale unui limbaj de programare – limbajul şi programele. Un limbaj este cum să scriem ceva. Programul este ceea ce se foloseşte pentru a rula programele.

Pentru a rula programele noastre am folosit software-ul (pe scurt softul) CPython. I se spune CPython pentru că este scris în limbajul C şi este interpretorul Python clasic.

Mai există şi alte softuri care pot rula programe Python:

Jython
O implementare Python care rulează pe platforma Java. Asta înseamnă că puteţi folosi bibliotecile Java şi clase din Python şi reciproc.
IronPython
O implementare Python care merge pe platforma .NET. Asta înseamnă că puteţi folosi bibliotecile .NET şi clase din Python şi reciproc.
PyPy
O implementare Python scrisă în Python! Acesta este un proiect de cercetare având ca obiectiv scrierea unui interpretor care să fie uşor de îmbunătăţit întrucât interpretorul însuşi este scris întrun limbaj cu tipuri dinamice (spre deosebire de limbajele cu tipuri statice, precum C, Java sau C# în aceste trei implementări)
Stackless Python
O implementare Python specializată pentru performanţă orientată pe fir de execuţie.

Mai există şi altele, precum CLPython – O implementare Python scrisă în Common Lisp şi IronMonkey care este o portare a IronPython pentru a merge susţinută de un interpretor JavaScript ceea ce ar putea însemna că pot fi scrise programe de web-browser (“Ajax”) în Python (în loc de Javascript).

Fiecare din aceste implementări are domeniul ei în care este utilă, datorită specializării.

Rezumat

Am ajuns la sfârşitul acestei cărţi, dar cum se spune este începutul sfârşitului!. Acum sunteţi un utilizator avid de Python şi fără îndoială sunteti gata să rezolvaţi multe probleme folosind Python. Puteti să începeţi să automatizaţi calculatorul să facă tot felul de lucruri, de neimaginat până acum sau puteţi scrie propriile jocuri şi multe altele.
Deci să începem!