oferite de limbajul de programare Python Coninut 1. Introducere 2. Tipuri de date 3. Colecii 4. Structuri de control i funcii 5. Module 6. Clase i obiecte 7. Lucrul cu fiiere 8. Depanare i testare Introducere Python (91) limbaj de programare folosit pentru programe sau scripting n cele mai diverse domenii Free, portabil, foarte expresiv Monty Pythons Flying Circus import this principiile de baz Python Implementri: Jython, IronPython, PyPy, Stackless Versiuni 2.X i 3.X merg n paralel de la 3.0 (2008) s-a rupt compatibilitatea cu versiunile anterioare ver. 3.X: Unicode, accent pe iteratori i generatori, stil nou de clase, schimbri la bibliotecile standard 2.X legacy, stabil, nc foarte folosit, standard de facto Caracteristici Python: Limbaj de programare general, ofer suport pentru programare procedural, funcional i orientat pe obiecte Calitatea codului se citete uor, mentenabil, acces la OOP, programare funcional Productivitate: 20 35% din cod Java sau C++ Portabilitate platfome diverse Biblioteci standard sau oferite de teri Integrare cu alte limbaje (C, C++, Java) i tehnologii (.NET, COM,CORBA, SOAP, etc.) Limbaj interpretat vitez Limbajul evolueaz permanent complexitate crescut Python se folosete n foarte multe locuri: http://www.python.org/about/success http://www.python.org/about/apps Ce se poate face cu Python? Utilitare i unelte pentru administrare sistem (shell tools), programe ce acceseaz resurse ale SO Interfee grafice GUI: tkinter, wxPython, PyQT, etc. Scripting Internet: comunicare prin socket-uri, ftp, mail, Django (web development framework) Integrare de componente glue language Programare baze de date Construcia prototipurilor care se vor implementa ulterior n alte limbaje Calcule tiinifice, matematice biblioteci NumPy, SciPy Gaming, procesare de imagini, data mining, roboi Interpretor >python nume.py Sursa byte code (*.pyc) Python Virtual Machine Alternativ: frozen binaries (ncapsulare PVM i byte code sub forma unei aplicaii) py2exe, PyInstaller, py2app, freeze, cx_freeze JIT just-in-time compiler folosit de PyPy Execuie: interactiv >>> import abc >>> reload(abc) >>> exec(open(abc.py').read()) IDLE IDE: Eclipse & PyDev, NetBeans IDE for Python