Ce este Sinele în Python: Exemple din lumea reală
Ce este Sinele în Python: Exemple din lumea reală
Când lucrați cu numere întregi în Python, ar trebui să cunoașteți valoarea maximă pe care o poate gestiona codul dvs. Acest lucru va depinde dacă utilizați Python 2 sau Python 3.
Python 2 are o constantă Max Int ( sys.maxint ) care definește valoarea maximă întreagă. Python 3 a eliminat limita maximă de numere întregi și este constrâns doar de resursele de sistem pe care rulează codul.
Acest articol explică conceptul în versiunile mai vechi și mai noi de Python . Veți învăța cum să accesați și să utilizați limitele din Python 2 și 3 cu exemplu de cod. De asemenea, veți învăța cum să evitați erorile și supraîncărcarea memoriei cu numere mari.
Să începem!
Cuprins
Explicație rapidă a numerelor întregi în Python
Numerele întregi matematice sunt numere întregi care pot fi pozitive, negative sau zero. Au o precizie nelimitată, ceea ce înseamnă că pot crește atât de mari cât poate suporta memoria sistemului.
Aceste trei numere sunt numere întregi:
99
-923.230.101.493
0
În schimb, flotoarele reprezintă numere reale și sunt scrise cu virgulă zecimală. Un float poate fi exprimat și în notație științifică. Iată exemple de flotoare:
3.14
-0,5
1.23e-4
Python 2 versus Python 3
Una dintre schimbările majore de la Python 2 la Python 3 a fost în manipularea numerelor întregi. Majoritatea dezvoltatorilor vor lucra cu Python 3 acum, dar este posibil să întâlniți cod mai vechi care funcționează cu numere întregi mari. Este util să înțelegeți diferențele dintre cele două versiuni.
Numerele întregi în Python 2
Python 2 are două tipuri numerice care pot reprezenta numere întregi: int și long . Tipul int este limitat de valorile maxime și minime pe care le poate stoca. Maximul este disponibil cu constanta sys.maxint .
Tipul lung poate stoca numere mai mari decât dimensiunea maximă a întregului. Dacă o operație pe valori int simple produce o valoare peste sys.maxint , interpretul convertește automat tipul de date în long.
Numerele întregi în Python 3
Python 3 nu are această limitare de dimensiune. Constanta maxint a fost eliminată din modulul sys din Python 3 când au fost îmbinate tipurile de date int și long.
Tipul int simplu din Python 3 este nelimitat, ceea ce înseamnă că poate stoca orice valoare întreagă fără a fi nevoie de un tip întreg lung separat.
Acest lucru face mai simplu pentru programatori să se ocupe de numerele întregi fără a se îngrijora de valoarea maximă posibilă sau de a comuta între int și long.
Max Int de la Python: Ce este și de ce contează
Max int al lui Python se referă la valoarea maximă întreagă pe care o poate gestiona un interpret Python.
Unele limbaje precum C sau Java au o dimensiune maximă fixă pentru numerele întregi bazate pe stocarea pe 32 de biți sau 64 de biți. Python este diferit prin faptul că ajustează dinamic numărul de biți în funcție de valoarea care trebuie stocată.
Numerele întregi ale lui Python pot continua să crească în dimensiune atâta timp cât mașina dvs. are memorie pentru a o susține. Aceasta este denumită „precizie arbitrară”.
Acest lucru nu înseamnă că Python poate gestiona numere infinite ! Există întotdeauna o limită practică, deoarece memoria sistemului este finită.
Cu toate acestea, această limită este în general atât de mare încât, pentru majoritatea aplicațiilor practice, ar putea fi la fel de bine infinită.
Cum se utilizează Sys.MaxInt în Python 2
În Python 2, puteți privi valoarea maximă întreagă definită de constanta sys.maxint astfel:
import sys
print("The maximum integer value is: ", sys.maxint)
Constanta este adesea folosită pentru a defini limita superioară pentru bucle. Acest exemplu de cod asigură că indexul buclei nu depășește dimensiunea maximă a întregului.
import sys
for i in range(sys.maxint):
# do some stuff
De asemenea, puteți verifica datele introduse de utilizator pentru a vă asigura că un număr nu depășește valoarea maximă.
Cum se utilizează Sys.MaxSize în Python 3
Puteți folosi sys.maxsize în Python 3 ca înlocuitor pentru sys.maxint în Python 2.
Este important să înțelegeți că aceasta nu reprezintă valoarea maximă întreagă pe care Python 3 o poate gestiona. Proprietatea maxsize reprezintă valoarea maximă a unui număr întreg care poate fi folosit ca index pentru structurile de date încorporate în Python, cum ar fi liste și șiruri.
Această valoare depinde de memoria disponibilă, deci se poate schimba între diferite sisteme sau configurații.
Valoarea exactă a sys.maxsize este de obicei 2**31 – 1 pe o platformă pe 32 de biți și 2**63 – 1 pe o platformă pe 64 de biți. Acestea sunt valorile maxime care pot fi utilizate pentru numere întregi de dimensiuni fixe pe acele platforme.
Iată un exemplu de funcție care utilizează sys.maxsize pentru a evita crearea unei liste atât de mari încât va eșua din cauza lipsei de memorie:
import sys
def create_list(input_number):
if input_number > sys.maxsize:
print("the requested size is too large.")
return
large_list = [0] * input_number
Nu uitați să importați modulul sys înainte de a utiliza sys.maxsize . Nu este un cuvânt cheie încorporat, ci face parte din modulul sys .
Cum să găsiți numărul întreg maxim într-o structură de date
În Python 2 și 3, puteți utiliza funcția max() pentru a găsi cea mai mare valoare într-o structură de date iterabilă, cum ar fi o listă, un tuplu sau un set .
Iată un exemplu de găsire a celui mai mare număr întreg dintr-o listă:
numbers = [1, 9999, 35, 820, -5]
max_value = max(numbers)
print(max_value)
Acest exemplu de cod va tipări numărul 9999.
Omologul este funcția min() care returnează valoarea minimă.
Găsirea celor mai mari valori dintr-un interval este importantă atunci când rulați calcule precum regresia liniară. Dacă valorile foarte mari depășesc limitele întregului, puteți întâlni inexactități sau erori în calcule.
3 sfaturi pentru a evita problemele cu numărul maxim de numere întregi
Flexibilitatea lui Python aduce mai multe dezavantaje.
Operațiunile care implică numere întregi mari pot fi mai lente din cauza costului general de gestionare a preciziei arbitrare.
Numerele întregi mari pot crește semnificativ consumul de memorie al programului dvs., ceea ce poate duce la erori de memorie.
Iată trei sfaturi pentru a evita problemele:
Sfat 1: alegeți tipurile de date adecvate
Există multe scenarii în care dimensiunea exactă a valorilor întregi nu este crucială. Luați în considerare utilizarea unui tip de date mai mic, cu dimensiuni fixe, atunci când acesta este cazul.
Acest lucru evită consumul inutil de memorie și încetinirea aplicației.
Sfat 2: Utilizați practici eficiente de programare
Fiți conștienți de operațiunile care gestionează numere întregi mari și de proiectare algoritmi având în vedere acest lucru.
Acest lucru ar putea implica defalcarea calculelor în părți mai mici sau utilizarea aproximărilor în care nu este necesară precizia exactă a unui număr mare.
Sfat 3: Urmăriți utilizarea memoriei
Urmăriți utilizarea memoriei programului dvs. Python și optimizați-vă codul pentru a reduce amprenta memoriei.
Aceasta ar putea include ștergerea variabilelor mari atunci când acestea nu mai sunt necesare sau utilizarea unor instrumente sau biblioteci concepute pentru a gestiona eficient seturi de date mari.
Gânduri finale
Înțelegerea valorii întregi maxime pe care o poate gestiona codul dvs. Python este esențială pentru scrierea unor programe robuste și eficiente. Acest articol a explorat conceptul atât în Python 2, cât și în Python 3.
Ați învățat cum să accesați și să utilizați aceste valori întregi maxime în ambele versiuni Python. Indiferent dacă lucrați cu Python 2 sau 3, amintiți-vă sfaturile noastre despre optimizarea codului pentru a evita supraîncărcarea memoriei.
Înarmat cu aceste cunoștințe, sunteți bine echipat pentru a valorifica întreaga putere a capacităților Python de manipulare a numărului întreg!
Ce este Sinele în Python: Exemple din lumea reală
Veți învăța cum să salvați și să încărcați obiecte dintr-un fișier .rds în R. Acest blog va trata, de asemenea, cum să importați obiecte din R în LuckyTemplates.
În acest tutorial despre limbajul de codare DAX, aflați cum să utilizați funcția GENERATE și cum să schimbați în mod dinamic titlul unei măsuri.
Acest tutorial va acoperi cum să utilizați tehnica Multi Threaded Dynamic Visuals pentru a crea informații din vizualizările dinamice de date din rapoartele dvs.
În acest articol, voi trece prin contextul filtrului. Contextul de filtrare este unul dintre subiectele majore despre care orice utilizator LuckyTemplates ar trebui să învețe inițial.
Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.
Aflați cum să vă calculați modificările marjei de profit folosind tehnici precum măsurarea ramificării și combinarea formulelor DAX în LuckyTemplates.
Acest tutorial va discuta despre ideile de materializare a cache-urilor de date și despre modul în care acestea afectează performanța DAX-ului în furnizarea de rezultate.
Dacă încă utilizați Excel până acum, atunci acesta este cel mai bun moment pentru a începe să utilizați LuckyTemplates pentru nevoile dvs. de raportare a afacerii.
Ce este LuckyTemplates Gateway? Tot ce trebuie să știți