1. Deschizându-vă apetitul
**************************

Dacă lucrați mult pe calculator, atunci ați întâlnit activități pe
care v-ar plăcea să le automatizați. De exemplu, poate că doriți să
realizați o căutare-cu-înlocuire într-un număr mare de fișiere text,
ori să redenumiți și să rearanjați un set de fișiere foto într-un fel
sofisticat. Poate că v-ar plăcea să scrieți o mică bază de date
personalizată, ori o aplicație GUI specializată, ori un joc simplu.

Dacă sunteți un dezvoltator software profesionist, atunci poate că
trebuie să utilizați anumite biblioteci C/C++/Java însă constatați că
ciclul tipic scrie/compilează/testează/recompilează durează prea mult.
Poate că scrieți o suită de teste pentru o asemenea bibliotecă și
constatați că scrierea codului de testare este o sarcină sâcâitoare.
Ori poate că ați scris un program căruia i-ar fi de folos un limbaj de
extindere dar nu doriți nici să proiectați și nici să implementați un
întreg limbaj nou pentru o singură aplicație.

Python-ul este limbajul potrivit pentru dumneavoastră.

Ați putea scrie un script de comenzi Unix ori niște fișiere de comenzi
Windows pentru unele din aceste sarcini, doar că scripturile de
comenzi se pricep cel mai bine la mutări de fișiere și la modificări
de text și nu se prea potrivesc la aplicații GUI și nici la jocuri.
Ați putea scrie un program C/C++/Java, numai că până și prima schiță a
lui vă va înghiți o mulțime de timp. Python-ul se folosește mai
simplu, este disponibil în sistemele de operare Windows, macOS și Unix
și vă va ajuta să vă faceți treaba repede.

Python-ul este simplu de folosit, însă este un limbaj de programare
adevărat, care oferă mult mai multă structurare și suport pentru
programele de dimensiuni mari decât o pot face script-urile de comenzi
ori fișierele de comenzi. Pe de altă parte, Python-ul oferă și mult
mai multă verificare a erorilor decât C-ul, apoi, fiind un *limbaj de
nivel foarte înalt*, are predefinite tipuri de date de nivel înalt,
precum tablourile flexibile și dicționarele. Datorită tipurilor sale
de date mai generale, Python-ul este utilizabil într-o problematică
mult mai largă decât Awk-ul sau chiar decât Perl-ul, iar multe
chestiuni se rezolvă cel puțin la fel de ușor în Python ca în aceste
limbaje.

Python-ul vă permite să vă împărțiți programul în module care pot fi
reutilizate în alte programe Python. El vine cu o mare colecție de
module standard pe care le puteți folosi drept bază a programelor
dumneavoastră --- sau ca exemple atunci când veți începe să învățați
programarea în Python. Unele din aceste module oferă facilități pentru
I/E de fișiere, apeluri de sistem, socluri și chiar interfețe cu
seturile de unelte dedicate interfeței grafice cu utilizatorul cum ar
fi Tk-ul.

Python-ul este un limbaj interpretat, care vă poate economisi timp
considerabil pe perioada dezvoltării unui program deoarece nu va fi
nevoie nici de compilare și nici de editarea legăturilor.
Interpretorul poate fi utilizat în mod interactiv, ceea ce ușurează
experimentarea caracteristicilor limbajului, scrierea unor programe de
unică folosință, ori testarea de funcții în timpul dezvoltării unui
program de-jos-în-sus. În plus, este un calculator de birou la
îndemână.

Python-ul permite ca programele să fie scrise compact și lizibil.
Programele scrise în Python sunt, de obicei, mult mai scurte decât
programele C, C++ sau Java echivalente lor, din mai multe motive:

* tipurile de date de nivel înalt vă permit să exprimați operații
  complexe într-o singură instrucțiune;

* gruparea instrucțiunilor se face prin indentare în loc de acolade de
  început și de sfârșit;

* nu sunt necesare declarațiile de variabile ori de argumente.

Python-ul este *extensibil*: dacă știți să programați în C, va fi ușor
să adăugați o nouă funcție predefinită sau un nou modul la
interpretor, fie pentru a efectua operații critice la viteză maximă,
fie pentru a lega programele Python la biblioteci ce pot fi accesate
numai în formă binară (precum o bibliotecă grafică comercială). Iar
când vă va prinde microbul Python-ului, îi veți putea lega
interpretorul la o aplicație scrisă în C ca să-l folosiți fie pe post
de limbaj de extensie fie pe post de limbaj de comenzi pentru
respectiva aplicație.

Apropo, limbajul a fost denumit după emisiunea "Circul zburător al lui
Monty Python" a canalului BBC și nu are nimic de-a face cu reptilele.
Referirile la scenetele din Monty Python în documentație nu numai că
sunt permise, ele sunt încurajate!

Acum că sunteți nerăbdător să aflați despre Python, veți dori să-l
examinați mai îndeaproape. Și cum cea mai bună metodă de a învăța un
limbaj este să-l folosiți, tutorialul de față vă invită să vă jucați
cu interpretorul de Python pe parcursul lecturii.

În capitolul următor vă vor fi explicate  mecanismele de utilizare a
interpretorului. Chiar dacă va părea ceva neimportant, aceste
informații vor fi esențiale atunci când veți testa exemplele care vă
vor fi prezentate.

Restul tutorialului introduce diverse caracteristici ale limbajului și
sistemului Python cu ajutorul exemplelor, începând cu expresii simple,
instrucțiuni și tipuri de date, continuând cu funcții și module și, în
final, atingând concepte avansate precum excepțiile și clasele
definite de către utilizator.
