Hur man kommenterar i Python – En snabbguide för nybörjare
Hur man kommenterar i Python – En snabbguide för nybörjare
När du arbetar med heltal i Python bör du veta vilket maximalt värde din kod kan hantera. Detta beror på om du använder Python 2 eller Python 3.
Python 2 har en Max Int-konstant ( sys.maxint ) som definierar det maximala heltalsvärdet. Python 3 har tagit bort den maximala gränsen för heltal och är bara begränsad av systemresurserna som koden körs på.
Denna artikel . Du kommer att lära dig hur du kommer åt och använder gränserna i Python 2 och 3 med exempelkod. Du kommer också att lära dig hur du undviker fel och minnesöverbelastning med stora siffror.
Låt oss börja!
Innehållsförteckning
Snabb förklaring av heltal i Python
Matematiska heltal är heltal som kan vara positiva, negativa eller noll. De har obegränsad precision, vilket gör att de kan växa sig så stora som systemets minne klarar av.
Dessa tre tal är heltal:
99
-923,230,101,493
0
Däremot representerar flöten reella tal och skrivs med en decimalkomma. En flöte kan också uttryckas i vetenskaplig notation. Här är exempel på flöten:
3.14
-0,5
1.23e-4
Python 2 kontra Python 3
En av de stora förändringarna från Python 2 till Python 3 var att hantera heltal. De flesta utvecklare kommer att arbeta med Python 3 nu, men du kan stöta på äldre kod som fungerar med stora heltal. Det är användbart att förstå skillnaderna mellan de två versionerna.
Heltal i Python 2
Python 2 har två numeriska typer som kan representera heltal: int och long . Int-typen begränsas av de maximala och lägsta värden den kan lagra. Det maximala är tillgängligt med konstanten sys.maxint .
Den långa typen kan lagra större tal än den maximala heltalsstorleken. Om en operation på vanliga int-värden ger ett värde över sys.maxint konverterar tolken automatiskt datatypen till long.
Heltal i Python 3
Python 3 har inte denna storleksbegränsning. Maxint - konstanten togs bort från sys -modulen i Python 3 när datatyperna int och long slogs samman.
Den vanliga int-typen i Python 3 är obegränsad, vilket innebär att den kan lagra vilket heltalsvärde som helst utan behov av en separat lång heltalstyp.
Detta gör det enklare för programmerare att hantera heltal utan att behöva oroa sig för maximalt möjliga värde eller växla mellan int och long.
Pythons Max Int: Vad det är och varför det spelar roll
Pythons max int refererar till det maximala heltalsvärdet som en Python-tolk kan hantera.
Vissa språk som C eller Java har en fast maximal storlek för heltal baserat på 32-bitars eller 64-bitars lagring. Python är annorlunda genom att den dynamiskt justerar antalet bitar baserat på värdet som ska lagras.
Pythons heltal kan fortsätta växa i storlek så länge din maskin har minne som stödjer det. Detta kallas "godtycklig precision".
Detta betyder inte att Python kan hantera oändliga siffror! Det finns alltid en praktisk gräns eftersom systemets minne är begränsat.
Denna gräns är dock i allmänhet så stor att den för de flesta praktiska tillämpningar lika gärna kan vara oändlig.
Hur man använder Sys.MaxInt i Python 2
I Python 2 kan du titta på det maximala heltalsvärdet som definieras av sys.maxint -konstanten så här:
import sys
print("The maximum integer value is: ", sys.maxint)
Konstanten används ofta för att definiera den övre gränsen för loopar. Denna exempelkod säkerställer att indexet inte går utöver den maximala heltalsstorleken.
import sys
for i in range(sys.maxint):
# do some stuff
Du kan också kontrollera användarinmatning för att säkerställa att ett antal inte överstiger maxvärdet.
Hur man använder Sys.MaxSize i Python 3
Du kan använda sys.maxsize i Python 3 som en ersättning för sys.maxint i Python 2.
Det är viktigt att förstå att detta inte representerar det maximala heltalsvärdet som Python 3 kan hantera. Egenskapen maxsize representerar maxvärdet för ett heltal som kan användas som ett index för Pythons inbyggda datastrukturer, såsom listor och strängar.
Detta värde beror på tillgängligt minne, så det kan ändras mellan olika system eller konfigurationer.
Det exakta värdet på sys.maxsize är vanligtvis 2**31 – 1 på en 32-bitars plattform och 2**63 – 1 på en 64-bitars plattform. Det här är de maximala värdena som kan användas för heltal med fast storlek på dessa plattformar.
Här är ett exempel på en funktion som använder sys.maxsize för att undvika att skapa en lista så stor att den kommer att misslyckas på grund av minnesbrist:
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
Kom ihåg att importera sys -modulen innan du använder sys.maxsize . Det är inte ett inbyggt nyckelord utan en del av sys -modulen.
Hur man hittar det maximala heltal i en datastruktur
I Python 2 och 3 kan du använda max() för att hitta det högsta värdet i en iterabel datastruktur som en lista, tupel eller .
Här är ett exempel på att hitta det största heltal i en lista:
numbers = [1, 9999, 35, 820, -5]
max_value = max(numbers)
print(max_value)
Denna exempelkod kommer att skriva ut numret 9999.
Motsvarigheten är min()-funktionen som returnerar minimivärdet.
Att hitta de största värdena inom ett intervall är viktigt när man kör beräkningar som linjär regression. Om mycket stora värden överskrider heltalsgränserna kan du stöta på felaktigheter eller fel i beräkningar.
3 tips för att undvika problem med maximalt heltal
Pythons flexibilitet medför flera nackdelar.
Operationer som involverar stora heltal kan vara långsammare på grund av överkostnaderna för att hantera godtycklig precision.
Stora heltal kan också avsevärt öka minnesförbrukningen för ditt program, vilket kan leda till minnesfel.
Här är tre tips för att undvika problem:
Tips 1: Välj Lämpliga datatyper
Det finns många scenarier när den exakta storleken på dina heltalsvärden inte är avgörande. Överväg att använda en mindre datatyp med fast storlek när så är fallet.
Detta undviker att onödigt konsumera minne och sakta ner din applikation.
Tips 2: Anv��nd effektiva programmeringsmetoder
Var medveten om operationer som hanterar stora heltal och designalgoritmer med detta i åtanke.
Detta kan innebära att dela upp beräkningar i mindre delar eller använda approximationer där den exakta precisionen för ett stort antal inte är nödvändig.
Tips 3: Spåra minnesanvändning
Håll koll på minnesanvändningen för ditt Python-program och optimera din kod för att minska minnesfotavtrycket.
Detta kan inkludera att ta bort stora variabler när de inte längre behövs, eller att använda verktyg eller bibliotek som är utformade för att hantera stora datamängder effektivt.
Slutgiltiga tankar
Att förstå det maximala heltalsvärdet som din Python-kod kan hantera är viktigt för att skriva robusta och effektiva program. Den här artikeln utforskade konceptet i både Python 2 och Python 3.
Du lärde dig hur du kommer åt och använder dessa maximala heltalsvärden i båda Python-versionerna. Oavsett om du arbetar med Python 2 eller 3, kom ihåg våra tips om att optimera din kod för att undvika minnesöverbelastning.
Beväpnad med denna kunskap är du väl rustad att utnyttja den fulla kraften i Pythons heltalshanteringsmöjligheter!
Hur man kommenterar i Python – En snabbguide för nybörjare
Denna handledning ger en översikt över Power Query Editor och M-språket på LuckyTemplates-skrivbordet.
Lär dig hur du skapar en sidnumrerad rapport, lägger till texter och bilder och sedan exporterar din rapport till olika dokumentformat.
Lär dig hur du använder SharePoint-automatiseringsfunktionen för att skapa arbetsflöden och hjälpa dig att mikrohantera SharePoint-användare, bibliotek och listor.
Finslipa dina färdigheter i rapportutveckling genom att gå med i en dataanalysutmaning. Acceleratorn kan hjälpa dig att bli en LuckyTemplates superanvändare!
Lär dig hur du beräknar löpande summor i LuckyTemplates med DAX. Löpande summor låter dig inte fastna i ett individuellt resultat.
Förstå konceptet med variabler i DAX inom LuckyTemplates och konsekvenserna av variabler för hur dina mått beräknas.
Lär dig mer om den anpassade visual som kallas LuckyTemplates Slope-diagram, som används för att visa ökning/minskning för en enstaka eller flera mätvärden.
Upptäck färgteman i LuckyTemplates. Dessa är viktiga för att dina rapporter och visualiseringar ska se ut och fungera sömlöst.
Att beräkna ett genomsnitt i LuckyTemplates kan göras på många sätt för att ge dig exakt information för dina affärsrapporter.