Documente Academic
Documente Profesional
Documente Cultură
platforma Moodle
http://curs.pub.ro/2021
InformaticăAplicată2
Structura cursului
Prezenta obligatorie la laborator
NU se fac recuperari la laborator.
Data Science
Limbajul PYTHON - Avantaje
Mediul Ipython
Librării
Scopul cursului
Încrezător și competent în folosirea
datelor
“Construim inteligență”
Data Science Workflow - fluxul de lucru
2. Internet of Things (IoT)
Exemplu: ceas inteligent
date generat de senzori → învățare automată
3. Deep Learning (DL)
Exemplu: identific dacă o imagine conține un om
• problema bine definita
• mai multe straturi de mini-algoritmi - „neuroni”
• multe, multe seturi de date + învață relații între date
• clasificarea imaginilor sau înțelegerea limbajului
Aplicații Data Science
Sectorul Medical
Stock Market
Meteorologie
Transport Aerian
Logistică
Vânzări
Publicitate
…... etc.
Angajare în Data Science
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 Data Science ?
• 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
pentru cercetarea academică.
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.8.12– 3 Mai 2021
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
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]:
$ jupyter notebook
[NotebookApp] Serving notebooks from local
directory: /Users/jakevdp/...
[NotebookApp] 0 active kernels
[NotebookApp] The IPython Notebook is running at:
http://localhost:8888/
[NotebookApp] Use Control-C to stop this server and
shut down all kernels…
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()
Python2: print "Răspunsul este", 2*2
Python3: print("Răspunsul este", 2*2)
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=...)
Python3
Comparații clare și curate:
Python2: permite compararea tipurilor diferite folosind <, >, etc:
>>> 42 < 'hello'
True
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'
NumPy
NumPy- Numerical Python și SciPy - Scientific Python sunt
pachetele fundamentale folosite în calculul științific.
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
Test
•Anacona www.anaconda.com
Python: http://www.python.org/
Python Documentations: https://docs.python.org/3/
Python Tutorial https://docs.python.org/3/tutorial/
IPython: http://ipython.org/
Jupyter Notebook: https://jupyter.org/
NumPy: http://www.numpy.org/
SciPy: https://www.scipy.org/
Pandas: http://pandas.pydata.org/
Matplotlib -2D: http://matplotlib.org/
Mayavi - 3D:http://code.enthought.com/projects/mayavi/
Bibliografie
https://github.com/jrjohansson/scientific-python-
lectures/blob/master/Lecture-1-Introduction-to-Python-
Programming.ipynb