Python-programmeringssproget giver dig et par forskellige måder at konvertere et heltal eller en anden type tal til en streng.
Billedkredit: skynesher/E+/GettyImages
Python-programmeringssproget giver dig et par forskellige måder at konvertere et heltal eller en anden type tal til en streng. Du kan gøre dette med "str"-funktionen, eller "unicode"-funktionen, hvis du arbejder i Python 2 og ønsker en Unicode-streng, eller med formatstrenge. Hvis du vil gå den anden vej, er det også muligt at konvertere en streng, der indeholder et heltal, til dette heltal.
Konverter med Str-funktionen
Den indbyggede Python funktion "str" kan konvertere et heltal, et flydende kommatal eller mange andre typer data til en menneskelig læsbar og udskrivbar streng. For at bruge det skal du blot kalde det på et andet nummer, som i str (5), som vil give dig strengen "5." Hvis du ønsker at kalde det på en variabel, der indeholder et tal, skal du gøre det på samme måde, som f.eks str (x).
Dagens video
Hvis du bruger Python 2.7 eller en tidligere version, kan du også bruge "
unicode" funktion til at generere en Unicode streng fra de fleste typer data, inklusive heltal. Unicode er en international standard til lagring af tegn fra mange forskellige sprog, sammen med specialtegn såsom stjernetegn og emoji. Ringer unicode (5) vil give dig Unicode-strengen u'5'. Denne funktion er ikke nødvendig i Python 3, hvor strenge er Unicode som standard.Brug af en formatstreng
En anden mulighed for at konvertere et heltal til en streng er at bruge en format streng. En formatstreng er simpelthen en tekststreng med pladsholdere til, hvor du vil placere andre data, hver med formen "{}." Kald formatstrengens format metode med argumenter i rækkefølge for hver pladsholder, såsom "Antallet {} er større end {}".format (6,2).
Dette er især nyttigt, hvis du ønsker at indsætte tal eller andre data i større strenge, men du kan også bruge en formatstreng med kun én pladsholder, hvis du foretrækker det, såsom "{}."
Du kan også henvise til argumenterne i en formatstreng i numerisk rækkefølge begyndende med "{0}" eller ved navn, hvis du bruger navngivne argumenter. For eksempel formatudtrykket "Tallet {0} er større end {1}, men {0} er mindre end {largest_num}".format (6,5,largest_num=7) vil give strengen "Antallet 6 er større end 5, men 6 er mindre end 7.
Formatstrenge fungerer i Python 2 og Python 3.
Python streng til heltal funktion
I nogle tilfælde vil du måske gå den anden vej, fra Python-streng til int. For at gøre dette skal du kalde den indbyggede "int"-funktion på en streng, der indeholder den skrevne repræsentation af et heltal, som f.eks. int("2"), hvilket giver 2. Hvis strengen indeholder noget udover et heltal, vil dette mislykkes og generere en undtagelse. Dette er sandt, selvom der er et heltal i starten af strengen eller i den, selvom du kan tage en understreng af strengen eller bruge et regulært udtryk til at finde heltal.
På samme måde kan du få Python til at konvertere en streng til en dobbelt, hvilket betyder det, der kaldes et flydende tal med dobbelt præcision, ved at bruge flyde fungere. For eksempel, float("3.2") = 3.2. Husk på, at flydende kommatal har begrænset præcision, så du får muligvis ikke præcis det tal skrevet i strengen. Brug decimal klasse, hvis du har brug for vilkårlig præcision. Læs definitionerne af float og decimal korrekt for at se, hvad der passer bedst til dine behov.
Indstillinger for Python Float til Int
Nogle gange ønsker du måske at konvertere et flydende kommatal til et heltal. Hvis det allerede er et heltal, kan du bruge int-funktionen, så int (3.0) = 3. Hvis det ikke allerede er et heltal, vil funktionen slippe det, der står efter decimaltegnet, og runde tallet ned.
Du kan også bruge den indbyggede rund funktion til at afrunde til nærmeste heltal eller math.loft at afrunde tal til det næsthøjeste heltal.