Home » Articole » Articole » Afaceri » Știința datelor (Data Science) » Tipuri de date atomice în Python

Tipuri de date atomice în Python

Cele trei tipuri obișnuite de date atomice descrise mai sus sunt în limbaj general: aceasta înseamnă că sunt conceptuale, nu sunt legate de niciun limbaj de programare specific sau instrument de analiză. Orice tehnologie utilizată pentru știința datelor va avea capacitatea de a face față acestor trei tipuri de bază. Modalitățile specifice în care fac acest lucru vor diferi oarecum de la o limbă la alta. Să aflăm cum le implementează Python.

Numere întregi: int

Unul dintre cele mai de bază tipuri de date Python este „int”, care înseamnă „întreg”. Este ceea ce folosim pentru a reprezenta numerele întregi.

În Python, creați o variabilă prin simpla tastare a numelui său, a unui semn egal și apoi a valorii sale inițiale, astfel:

revolution = 1776

Aceasta este prima noastră linie de cod (3). După cum vom vedea, liniile de cod sunt executate una câte una – există un timp înainte și un timp după, fiecare linie este efectiv executată. Acest lucru se va dovedi a fi foarte important. (Oh, iar o „linie de cod” este uneori numită și o instrucțiune.)

Numele variabilelor Python pot fi cât de lungi doriți, cu condiția să fie alcătuite doar din litere mari și mici, cifre și caractere de subliniere. (Trebuie să fiți în concordanță cu scrierea dvs. cu majuscule și cu ortografiia dvs.: nu puteți apela o variabilă Movie într-o linie de cod și movie în alta.) Sublinierile (undersore) sunt adesea folosite ca pseudo-spații, dar nu sunt permise alte semne de punctuație ciudate în numele unei variabile. (4)

Și întrucât suntem la subiect, permiteți-mi să vă încurajez să vă numiți bine variabilele. Aceasta înseamnă că fiecare nume de variabilă ar trebui să reflecte exact ceea ce reprezintă valoarea pe care o stochează. Exemplu: dacă o variabilă este menită să stocheze ratingul (în „stele”) pe care un utilizator IMDB l-a acordat unui film, nu o denumiți movie. Denumiți-o rating. (Sau chiar mai bine, movie_rating.) Credeți-mă: atunci când lucrezi la un program complex, există suficiente lucruri grele la care să te gândești fără să te încurci pe tine (și colegii tăi) prin nume de variabile apropiate, dar nu exacte. (5)

Acum amintiți-vă că o variabilă are trei lucruri – un nume, o valoare și un tip. Primele două apar în mod explicit în linia de cod în sine. În ceea ce privește tipul, de unde știe Python că revolution ar trebui să fie un „int?” Simplu: este un număr fără punct zecimal.

Ca o verificare a corectitudinii, putem cere lui Python să ne spună în mod explicit tipul variabilei, scriind acest cod:

type(revolution)

Dacă această linie de cod este executată după executarea celei anterioare, Python răspunde cu:

I int

Deci, asta e.

Iată un alt „fragment de cod” (“code snippet” un termen care înseamnă doar „unele linii de cod pe care mă concentrez, care sunt, în general, doar o parte a unui program mai mare”):

revolution = 1776

moon_landing = 1969

revolution = 1917

Acum, dacă aceasta ar fi o clasă de matematică, acel set de ecuații ar fi absurd. Cum ar putea aceeași variabilă (revolution) să aibă două valori contradictorii? Dar într-un program, acest lucru este perfect legitim: înseamnă doar că imediat după executarea primei linii de cod, revolution are valoarea 1776, iar câteva momente mai târziu, după executarea celei de-a treia linii, valoarea sa s-a schimbat la 1917. Valoarea sa depinde în întregime de „pe unde este programul” în timpul execuției sale.

Numere reale (fracționale): float

Singurul lucru ciudat despre al doilea tip de date din Python este numele său. În alt univers, s-ar fi putut numi o variabilă „reală” sau „zecimală” sau „fracționată”, dar din anumite motive istorice bizare este numită float. (6)

Toate aceleași reguli și reglementări se referă la float, la fel ca la int; singura diferență este că tastați un punct zecimal. Astfel:

GPA =3.17

price_of_Christian_Louboutin_shoes = 895.95

interest_rate = 6.

Rețineți că variabila interest_rate este într-adevăr un tip float (chiar dacă nu are parte fracțională) deoarece am tastat o perioadă:

type(interest_rate)

I float

Text: str

Vorbind de nume ciudate, o variabilă de text Python este de tip str, care înseamnă „șir” (”string”. Ai putea să te gândești la asta ca la o grămadă de litere „strânse” împreună ca un colier cu mărgele.

Important: atunci când specificați o valoare str, trebuie să utilizați ghilimele (simple sau duble). În primul rând, așa știe Python că intenționați să creați un str, spre deosebire de un alt tip. Exemple:

slang = ‘lit’

grade = „3rd”

donut_store = „Paul’s Bakery”

url = ‘http://umweagles.com’

 

Observați, apropo, că un șir de cifre nu este același lucru cu un întreg. Pentru a înțelege:

schwarzenegger_weight = 249
action_movie = „300”

type(schwarzenegger_weight)

 

I int

 

type(action_movie)

 

I str

Vedea? Ghilimelele fac toată diferența.

Lungimea unui șir

Probabil cel mai de bază este pur și simplu să întrebi despre lungimea unui șir sau despre numărul de caractere pe care le conține. Pentru a face acest lucru, includem numele variabilei între paranteze după cuvântul len:

len(slang)

 

I 3

len(donut_store)

 

I 13

După cum vom vedea, operația len() (și multe altele ca aceasta) este un exemplu de funcție în Python. În limbajul adecvat, atunci când scriem o linie de cod precum len (donut_store) spunem că „apelăm funcția”, ceea ce înseamnă pur și simplu să o invocăm sau să o declanșăm.

Mai mult lingo: din motive obscure, valoarea din interiorul parantezelor (aici, donut_store) este numită un argument pentru funcție. Și spunem că „trecem” unul sau mai multe argumente unei funcții atunci când o apelăm.

Toți acești termeni pot părea pedanți, dar sunt exacți și folosiți universal, așa că asigurați-vă că îi învățați. Linia de cod precedentă poate fi complet rezumată spunând:

Apelăm la funcția len() și îi trecem variabila donut_store ca argument.”

Rețineți, apropo, că funcția len() așteaptă un argument str. Nu puteți apela len() cu o variabilă int sau float ca argument:

schwarzenegger_weight = 249

len(schwarzenegger_weight)

 

I TypeError: object of type ‘int’ has no len()

(Ați putea crede că „lungimea” unui int ar fi numărul său de cifre, dar nu e așa.)

Un lucru pe care elevii îl confundă adesea este diferența dintre o variabilă de șir numită și cea a unei valori de șir (nenumită). Luați în considerare diferența în rezultatele următoarelor:

slang = ‘lit’

len(slang)

 

I 3

 

len(‘slang’ )

 

I 5

În primul exemplu, am întrebat „cât de lungă este valoarea în variabila slang?” Răspunsul a fost 3, deoarece „lit” are trei caractere. În al doilea exemplu, am întrebat „cât de lung este cuvântul „slang”?” iar răspunsul este 5. Nu uitați: numele variabilelor nu se pun niciodată între ghilimele. Dacă ceva este între ghilimele, este luat literal.

Combinarea și tipărirea variabilelor

Puteți face o mulțime de lucruri cu alte variabile decât să le creați. Un lucru pe care doriți să-l faceți frecvent este să imprimați o variabilă, ceea ce înseamnă să puneți valoarea acesteia pe pagină, astfel încât să o puteți vedea. Acest lucru se face cu ușurință apelând funcția print():

print(donut_store)

print(price_of_Christian_Louboutin_shoes)

print(„slang”)

print(slang)

 

IPaul’s Bakery
I895.95
Islang
Ilit

Din nou, nu ratați diferența crucială dintre tipărirea lui „slang” și tipărirea lui slang. Primul este literal și cel de-al doilea nu. În prima dintre acestea, trecem cuvântul „slang” ca argument, nu variabila slang.

Deseori vom dori să combinăm biți de informații într-o singură instrucțiune de tipărire. De obicei, una dintre variabile este un șir care conține mesajul general. Există mai multe modalități de a realiza acest lucru, dar cea mai flexibilă se va dovedi a fi metoda .format().

O metodă este foarte asemănătoare cu o funcție, dar nu exact. Diferența constă în sintaxa utilizată pentru a o numi. Când apelați o funcție (cum ar fi type() sau len()), pur și simplu introduceți numele acesteia, urmată de o pereche de paranteze în interiorul cărora puneți argumentele (separate prin virgule, dacă există mai multe). Dar când „apelați o metodă”, puneți o variabilă înainte de un punct („.”) și numele metodei, apoi parantezele. Aceasta este denumită „apelarea metodei pe variabilă”.

Sună mai confuz decât este. Iată un exemplu de .format() în acțiune:

price_of_Christian_Louboutin_shoes = 895.95

message = „Honey, I spent ${} today!”

print(message.format(price_of_Christian_Louboutin_shoes))

Rețineți cum scriem „message.format” în loc de „format”. Acest lucru se datorează faptului că .format() este o metodă, nu o funcție. Spunem că apelăm .format() „pe” message și trecem price_of_ Christian_Louboutin_shoes ca argument. (7) De asemenea, asigurați-vă că observați parantezele duble „))” la sfârșitul ultimei linii. Avem nevoie de amândouă, deoarece în programare, fiecare paranteză stângă trebuie să se potrivească cu o paranteză dreaptă corespunzătoare. Întrucât apelăm două funcții / metode pe o singură linie (print() și .format()), aveam două paranteze din stânga pe acea linie. Fiecare are nevoie de un partener.

În ceea ce privește specificul modului în care funcționează .format(), veți vedea că variabila de șir pe care o apelați poate include perechi de curlie (acolade). Acestea sunt substituenți pentru locul în care trebuie să lipiți valorile altor variabile în ieșire. Aceste variabile sunt apoi incluse ca argumente pentru metoda .format(). Codul de mai sus produce această ieșire:

I Honey, I spent $895.95 today!

Adesea, în loc să creăm un nou nume de variabilă pentru a menține șirul preformatat, doar vom folosi print() literalmente, astfel:

print(„Honey, I spent ${} today!”.format(

        price_of_Christian_Louboutin_shoes))

Încă apelăm de fapt .format() la o variabilă aici, doar că nu ne-am deranjat să numim variabila. De asemenea, observați că codul nostru era prea lung pentru a se potrivi frumos pe o singură linie, așa că l-am rupt în două și am indentat a doua linie pentru a clarifica faptul că „price_of_…” nu își începea propria linie nouă. În mod crucial, toate parantezele sunt încă împerecheate, două câte două, chiar dacă parantezele din stânga sunt pe o linie diferită de parantezele din dreapta corespunzătoare.

În cele din urmă, iată un exemplu mai lung cu mai multe variabile:

name = „Pedro Pascal”

num_items = 3

cost = 91.73

print(„Customer {} bought {} items worth ${}.”.format(name,

        num_items, cost))

I Customer Pedro Pascal bought 3 items worth $91.73.

Puteți vedea cum putem trece mai mult de un argument unei funcții / metode pur și simplu separându-le cu virgule în interiorul parantezelor.

Note

3 Apropo, cuvântul cod este gramatical un substantiv de masă, nu un substantiv de numărare. Prin urmare, este potrivit să spunem „Am scris un cod aseară”, nu „Am scris câteva coduri aseară”. Dacă folosiți greșit acest lucru, veți fi marcat imediat ca începător.

4 Oh, și o altă regulă: un nume variabil nu poate începe cu o cifră. Deci, r2d2 este un nume de variabilă legală, dar nu și 007bond.

5 Și consider în totalitate faptul că variabila revolution nu este numită foarte bine. Am ales-o doar pentru a evidenția rapid o diferență.

6 Dacă sunteți curios, acest lucru se datorează faptului că în limbajul de programare al computerului un „număr cu virgulă mobilă” înseamnă un număr în care punctul zecimal ar putea fi oriunde. Cu un număr întreg ca -52, punctul zecimal este implicit în partea dreaptă a secvenței de cifre. Dar cu numere precum -5,2 sau -,52 sau -000052 sau chiar 520000, punctul zecimal a „plutit” departe de această poziție fixă.

7 Ori de câte ori mă refer la o metodă aici, voi pune un punct înaintea numelui său. De exemplu, nu este metoda „format()”, ci metoda „.format()”.

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

Rolul social media în democrație, noul management public, și guvernanța electronică
Rolul social media în democrație, noul management public, și guvernanța electronică

O resursă esențială pentru oricine dorește să înțeleagă intersecția în evoluție dintre tehnologie și guvernare.

Nu a fost votat 9.53 lei20.97 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Introducere în inteligența artificială
Introducere în inteligența artificială

Pășește în era digitală pregătit să înțelegi și să aplici conceptele care schimbă lumea!

Nu a fost votat 14.32 lei25.09 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Căutarea, extragerea, organizarea și evaluarea informațiilor
Căutarea, extragerea, organizarea și evaluarea informațiilor

Transformă informația în putere cu ajutorul acestei cărți indispensabile!

Nu a fost votat 19.11 lei46.02 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *