Programmeringsspråket Python ger dig några olika sätt att konvertera ett heltal eller en annan typ av tal till en sträng.
Bildkredit: skynesher/E+/GettyImages
Programmeringsspråket Python ger dig några olika sätt att konvertera ett heltal eller en annan typ av tal till en sträng. Du kan göra detta med "str"-funktionen, eller "unicode"-funktionen om du arbetar i Python 2 och vill ha en Unicode-sträng, eller med formatsträngar. Om du vill gå åt andra hållet är det också möjligt att konvertera en sträng som innehåller ett heltal till det heltal.
Konvertera med Str-funktionen
Den inbyggda Python-funktionen "str" kan konvertera ett heltal, ett flyttal eller många andra typer av data till en läsbar och utskrivbar sträng. För att använda det, ring det helt enkelt på ett nummer något annat, som i str (5), vilket ger dig strängen "5". Om du vill anropa den på en variabel som innehåller ett nummer, gör det på samma sätt, som t.ex str (x).
Dagens video
Om du använder Python 2.7 eller en tidigare version kan du också använda "
unicode" funktion för att generera en Unicode sträng från de flesta typer av data, inklusive heltal. Unicode är en internationell standard för att lagra tecken från många olika språk, tillsammans med specialtecken som stjärntecken och emoji. Kallelse unicode (5) ger dig Unicode-strängen u'5'. Denna funktion är inte nödvändig i Python 3, där strängar är Unicode som standard.Använda en formatsträng
Ett annat alternativ för att konvertera ett heltal till en sträng är att använda a formatsträng. En formatsträng är helt enkelt en textsträng med platshållare för var du vill placera andra data, var och en med formen "{}." Kalla formatsträngens formatera metod med argument i ordningsföljd för varje platshållare, till exempel "Siffran {} är större än {}".format (6,2).
Detta är särskilt användbart om du vill infoga siffror eller annan data i större strängar, men du kan också använda en formatsträng med bara en platshållare om du föredrar det, till exempel "{}."
Du kan också referera till argumenten i en formatsträng i numerisk ordning som börjar med "{0}" eller med namn om du använder namngivna argument. Till exempel formatuttrycket "Siffran {0} är större än {1}, men {0} är mindre än {largest_num}".format (6,5,largest_num=7) kommer att ge strängen "Siffran 6 är större än 5, men 6 är mindre än 7.
Formatsträngar fungerar i Python 2 och Python 3.
Python sträng till heltalsfunktion
I vissa fall kanske du vill gå åt andra hållet, från Python-sträng till int. För att göra detta, anropa den inbyggda "int"-funktionen på en sträng som innehåller den skriftliga representationen av ett heltal, som t.ex. int("2"), vilket ger 2. Om strängen innehåller något förutom ett heltal kommer detta att misslyckas och generera ett undantag. Detta gäller även om det finns ett heltal i början av strängen eller i den, även om du kan ta en delsträng av strängen eller använda ett reguljärt uttryck för att hitta heltal.
På liknande sätt kan du låta Python konvertera en sträng till en dubbel, vilket betyder vad som kallas ett flyttal med dubbel precision, med hjälp av flyta fungera. Till exempel, float("3.2") = 3.2. Tänk på att flyttalsnummer har begränsad precision, så du kanske inte får exakt det tal som är skrivet i strängen. Använd decimal- klass om du behöver godtycklig precision. Läs definitionerna av float och decimal korrekt för att se vad som passar dina behov bäst.
Python Float to Int-alternativ
Ibland kanske du vill konvertera ett flyttal till ett heltal. Om det redan är ett heltal kan du använda int-funktionen, alltså int (3.0) = 3. Om det inte redan är ett heltal, kommer funktionen att ta bort det som står efter decimalkomma, och avrunda talet nedåt.
Du kan också använda den inbyggda runda funktion för att avrunda till närmaste heltal eller math.tak för att avrunda tal till näst högsta heltal.