Disciplina noastră implică în mod evident multe calcule – de fapt, mă aștept ca prima imagine care îmi vine în minte atunci când majoritatea oamenilor aud cuvintele „știința datelor” este una de calcul numeric. Aici voi prezenta sintaxa Python pentru efectuarea diferitelor operații matematice pe numere, precum și manipularea șirurilor. Aceste lucruri apar în fiecare program și veți găsi totul direct.
Și apoi voi arunca o bombă. Voi dezvălui un comportament Python, pe care probabil îl veți găsi complet neașteptat, care derutează aproape orice student care îl vede pentru prima dată, și totuși pe care trebuie să îl înțelegeți și să îl stăpâniți pentru a reuși în Python sau în orice limbaj de programare.
În primul rând, partea ușoară. Python are un număr de operatori încorporați pentru a face operațiile matematice familiare . Figura 5.1 este un tabel cu cele pe care le vom folosi. Câteva sunt ușor surprinzătoare (* în loc de X pentru înmulțire; / în loc de ^ pentru împărțire, pe care pariez că oricum nu le-ați putea găsi pe tastatură) și trebuie să vă amintiți să folosiți numai paranteze rotunde (nu pătrate [] , acolade {} sau unghiulare <>) pentru gruparea sub-expresiilor într-o expresie mai mare. Altfel, este foarte ușor.
Operator | Operația |
+ | adunare |
– | scădere |
* | înmulțire |
/ | împărțire |
** | exponențiere (“ridicare la puterea a”) |
() | grupare |
Figura 5.1: Operatorii matematici de bază din Python.
Toate acestea trebuie să apară în partea dreaptă a unui semn egal, apropo, niciodată în stânga. Acest lucru poate părea surprinzător, deoarece în matematică ecuațiile „x = y + 3” și „y + 3 = x” înseamnă același lucru. De ce contează în ce ordine scrieți? Vă veți aminti că răspunsul este că într-un program simbolul „=” nu înseamnă „este egal cu”, ci mai degrabă „face egal cu”. Nu este o ecuație; este o comandă. Și nu puteți comanda „y + 3” să fie egal cu nimic. Prin urmare, singurul lucru permis în partea stângă a unui semn egal este un singur nume de variabilă simplă.
Pentru a înțelege sintaxa, vedeți dacă sunteți de acord ca următoarea expresie matematică:
gpa = (creds1 • gpts1 + creds2 • gpts2) : (creds1 + creds2)
ar trebui să arate așa în Python:
gpa = (creds1 * gpts1 + creds2 * gpts2) / (creds1 + creds2)
și că aceasta:
a = ([x2y(4 − z) + (x + q) ∙ y] × 215y+2z) : (19x3 − (yz)(y−1)2)
ar trebui să arate așa:
a = (((x**2)*y*(4-z) + (x+q)*y) * 2**(15*y+2*z)) / (19*(x**3) – (y*z)**((y-1)**2))
Dacă da, poți merge mai departe. Este plictisitor, dar nu complicat.
Python are, de asemenea, o mulțime de funcții pentru valoare absolută, sinus și cosinus, logaritmi, rădăcini pătrate și orice altceva vă puteți gândi. Le vom învăța pe toate la momentul potrivit (sau se pot găsi foarte bine pe Google dacă doriți să le căutați acum).
Un model comun: totaluri cumulative
Iată o tehnică pe care o vom folosi în repetate rânduri în codul nostru, dar care poate părea un pic deranjantă pentru prima dată când o vedeți. Verificați această linie de cod:
balance = balance + 50
Acum, nu există niciun univers în care afirmația să fie adevărată matematic. (Gândește-te la asta: poți veni cu orice număr care să fie egal cu el însuși plus cincizeci? Eu zic că nu.) Dar din nou, aceasta este programare, nu algebră. Comandăm variabilei balance să ia o nouă valoare. Și care este acea nouă valoare? Simplu: oricare ar fi fost valoarea sa anterioară, plus 50.
Efectul net este de a crește valoarea balance cu 50. Urmăriți acest lucru:
balance = 1000
print(„In July, I had ${}.”.format(balance))
balance = balance + 50
print(„In August, I had ${}.”.format(balance))
balance = balance – 200
balance = balance + 120
print(„In September, I had ${}.”.format(balance))
I In July, I had $1000.
I In August, I had $1050.
I In September, I had $970.
Ați prins ideea. Această abordare va deveni utilă mai ales când vom ajunge la bucle, deoarece vom putea incrementa în mod repetat valoarea unei variabile cu o cantitate dorită în mod automat.
Câteva alte lucruri. În primul rând, un caz special foarte frecvent din cele de mai sus este acela de a incrementa o variabilă cu exact unu:
number_of_home_runs = number_of_home_runs + 1
Acest lucru ne permite să numărăm aparițiile diferitelor lucruri: de fiecare dată când cineva face un home run în baseball (sau orice altceva), linia de cod de mai sus va crește valoarea variabilei contorului corespunzătoare cu unu.
În al doilea rând, Python are o sintaxă alternativă specială pentru această operație de incrementare. Pare ciudat:
balance += 50
number_of_home_runs += 1
Cele două caractere „+” și „=” (pronunțate „plus-egal”) ne permit să prescurtăm această operațiune și să evităm să introducem numele variabilei de două ori. Cele două linii de cod de mai sus sunt sinonime exacte pentru acestea:
balance = balance + 50
number_of_home_runs = number_of_home_runs + 1
Puteți utiliza oricare dintre acestea doriți, deși să fiți conștienți de faptul că colegii dvs. de programare îl pot alege pe cel dintâi, așa că trebuie să înțelegeți ce înseamnă.
Sursa: Stephen Davies, The Crystal Ball – Instruction Manual, Vol. 1: Introduction to Data Science, v. 1.1. Copyright © 2021 Stephen Davies. Licența CC BY-SA 4.0. Traducere și adaptare: Nicolae Sfetcu
© 2021 MultiMedia Publishing, Introducere în Știința Datelor, Volumul 1
Lasă un răspuns