Documente Academic
Documente Profesional
Documente Cultură
INCREZĂTOR și COMPETENT !
Materiale
Platforma Moodle
https://curs.upb.ro/2023/course/
view.php?id=10517
14-IM-L-A2-S2: Programarea
calculatoarelor și limbaje de
programare (Seriile 1,2 - 2023)
Structura cursului
Examen – in sesiune
Ce se asteapta de la voi
Prezenta obligatorie la laborator
NU se fac recuperari la laborator.
Limbajul PYTHON 3
Medii de programare:
Spyder
Ipython
Jupyter Notebook
Scopul intregului curs
Încrezător și competent!
Cum să scriem cod
ȘTIINȚA
Teotetică (Calcul Științific)
Experimentală (Calcul Științific)
Calcul Științific
Trebuie:
-să se păstreze mediul/codul sursă/versiunea softwar-elor externe care au fost
utilizate pentru producerea datelor numerice/ simularilor în lucrările publicate.
Exemplu:
Bash
for in in {1..10}; do
echo Hello, World!
done
PowerShell
for ( $i=1; $i –le 10; $i++) {
Write-Host "Hello, World!"
}
De ce PYTHON pentru Calculul Științific ?
• Comunitate mare de utilizatori, multă documentație
• Vast ecosistem de biblioteci științifice/pachete/medii:
NumPy: http://numpy.scipy.org –Numerical Python
SciPy: http://www.scipy.org - Scientific Python
Matplotlib: http://www.matplotlib.org - Grafică
Pandas – http://pandas.pydata.org/ - Analiza Datelor
•Nu există costuri de licență -perfect atât pentru aplicații industriale cât și
ISTORIA PYTHON
•Python a fost creat de Guido van Rossum la sfârșitul anilor 1980, la Institutul
Național de Cercetare pentru Matematică și Informatică în Țările de Jos. La
fel ca Perl, codul sursă Python este disponibil sub licența GNU General
Public License (GPL).
• Inca din 1991 s-au dezvoltat mai multe versiuni disponibile pentru
WINDOWS, UNIX, și Mac OS .
Python 2.4, 2.6, 2.7 …(2000)… Python …. 3.7.11 (2020)
Ultima versiunea Python 3.11.5 – Mai 2023
https://www.python.org/downloads/
https://stackoverflow.blog/2017/09/06/incredible-growth-python/
https://www.netguru.com/blog/future-of-python
https://insights.stackoverflow.com/survey/2018#technology
Programare PYTHON
Rulam
Cod de programare = cod
succesiune de instrucțiuni
Scriem Click to add Evaluam
(linii de cod) cod
cod text
A. citiți codul înainte de a-l executa pentru a vedea dacă există erori
evidente
Static (compilare)
Dinamic ( interpretat)
Diferența între limbajele statice și dinamice este dacă tot codul este sau nu
compilat înainte de a fi rulat.
Ce este PYTHON ?
• Python este un limbaj de programare de
nivel înalt, interpretat, interactiv,
scripting orientat pe obiecte, și de scop
general.
• Python este interpretat: codul este
procesat în timpul rulării de către un
interpretor, nu este nevoie să compilați
programul înainte de a-l executa - similar
cu PERL și PHP.
• Python este interactiv: puteți sta la un
Python prompt și să interacționați în mod
direct pentru a scrie programe, ușor de
testat si depanat.
• Python este orientat-obiect: Python acceptă
stilul orientat pe obiect sau tehnica de
programare care incapsuleaza codul în
interiorul obiectelor.
Caracteristicile PYTHON
• Python este portabil: rulează pe o varietate de platforme hardware și are
aceeași interfață pe Windows,UNIX și Macintosh OS.
• Python este extensibil: se pot adăuga module de nivel jos pentru interpretor,
module ce permit adăugarea, personalizarea sau eficientizarea diverselor
instrumentele.
• Python are Programare GUI: suportă aplicații GUI, care pot fi create și
portate, are multe apeluri de sistem, biblioteci și sisteme de ferestre pentru
Windows MFC, Macintosh și sistemul X Window of Unix.
• Python este scalabil: oferă o structură mai bună și suport pentru programe
mai mari decât shell scripting.
Caracteristicile limbajului PYTHON ?
• Python este ușor de învățat: puține cuvinte cheie, structură simplă/clară și cu
sintaxa minimalistă, perioadă scurtă de învățare:
Tipuri de date nivel înalt: siruri de caractere, liste, dicționare, etc.
Structurile obișnuite de control: if-else, if-elif-else, while, plus un for
iterator
• Python este intuitiv și ușor de citit: dacă este bine scris e simplu de citit și de
înțeles.
• Python este expresiv, ușor de întreținut: mai puține linii de cod, mai puține
bug-uri, mai ușor de întreținut- mentenabilităte foarte bună cu dimensiunea
proiectelor.
gabi@koko:~$ ipython
Python 3.8.8 (default, Apr 13 2021, 19:58:26)
Type 'copyright', 'credits' or 'license' for more
information
IPython 7.26.0 -- An enhanced Interactive Python.
Type '?' for help.
In [1]:
https://www.python.org/shell/
https://www.onlinegdb.com/online_python_interpreter
https://repl.it/languages/python3
https://www.tutorialspoint.com/execute_python3_online.php
https://rextester.com/l/python3_online_compiler
https://trinket.io/python3
Versiunea Python2 sau Python3 ?
Python 3 a apărut în 2008, versiunea finala Python 2.7 în 2010 astfel
vesiunile Python 3.0 și 3.1 au fost portate și în versiunile 2.6 și 2.7
Exista convertoare 2to3 (code 3.x să fie generat din code 2.x) și 3to2
convertește code3.x la code2.x
https://wiki.python.org/moin/Python2orPython3
https://docs.python.org/3/whatsnew/3.0.html
Python3
Îmbunătățiri pentru a face limbajul mai clar și mai consistent:
Funcția print a fost înlocuită cu print()
print(x, y, z, sep=”\n”)
Python3:
type str (comportamentul și punerea în aplicare a tipului unicode
vechi).
type bytes (o secvență de numere întregi între 0 și 255 inclusiv,
conține întotdeauna date binare arbitrare)
Tipurile str și bytes nu pot fi amestecate! Trebuie convertite între
ele! str.encode() - de la str la bytes str(b, encoding=...)
bytes.decode() de la bytes la str. bytes(s, encoding=...)
Comparații clare și curate: Python3
Python2: <> # operator pentru „nu sunt egale” sau „sunt diferite”
Python3: != # operator pentru „nu sunt egale” sau „sunt diferite”
Python3
Operatorul de împărțire:
Python3: 1 // 2
0
# operator // pentru împarțirea cu rezultatul funcției 'floor'
Test
•Anacona www.anaconda.org
IPython: http://ipython.org
https://github.com/jrjohansson/scientific-python-lectures/blob/
master/Lecture-1-Introduction-to-Python-Programming.ipynb