Sådan konverteres til en streng i Python

Arbejder hjemme.

En ung mand skriver på sin bærbare computer derhjemme

Billedkredit: g-stockstudio/iStock/Getty Images

I modsætning til i C++ og Java, indeholder Python-variabler ikke eksplicit typeinformation. Hvis du bruger en funktion, der kræver en streng, kan du sende variabler af andre typer til den uden kaster en undtagelse, selvom din kode kan give en undtagelse, når den forsøger at behandle variablen. De eneste datatyper, du muligvis skal konvertere til strenge, er sammensatte datastrukturer såsom sæt og lister. Python indeholder praktiske funktioner og operatorer til at iterere over elementerne i en datastruktur og tilføje tegn til en strengvariabel.

Stærke, dynamisk indtastede sprog

C++ og Java kræver et typereserveord for at gå forud for alle variabelallokeringer, fordi compileren eller runtime-miljøet skal vide, hvordan dataene skal behandles. Disse statisk indtastede sprog bruger typecasting til at konvertere mellem typer, hvis det er muligt. Da Python er et dynamisk skrevet sprog, udleder tolken typen ved kørsel, så du tildeler blot værdier til variabler efter behov. Du kan tildele enhver datatype til en variabel, der tidligere blev brugt som en anden type, og Python-skraldsamleren fjerner den gamle variabel fra hukommelsen.

Dagens video

Konvertering af datastrukturer til strenge

Hvis dit program samler tekstinformation i en sammensat struktur, såsom en liste, tuple eller et sæt, kan du sløjfe over datastrukturen for at tilføje elementer til en strengvariabel. Du behøver ikke at erklære en strengvariabel, før du itererer over datastrukturen, men det kan gøre din kode enklere. For eksempel demonstrerer følgende kode den mest grundlæggende metode til at konvertere en liste til en streng:

ultimateQuestion = "" # erklær tom streng "ultimateQuestion"

tokens = ["Hvad er ", 6, " gange ", 9, "?"] # liste over blandede typer med mellemrum

for t i tokens: ultimateSpørgsmål += str (t)

print (ultimateSpørgsmål)

Str-metoden, der bruges i for-løkken, kaster heltal til strenge og har ingen effekt på eksisterende strenge. Hvis du kører denne kode i Python-fortolkeren, udskriver den "Hvad er 6 gange 9?"

Indbyggede strengmetoder

Som de fleste sprog på højt niveau inkluderer Python mange metoder, der hører til den indbyggede strengtype. I Python kan du kalde disse metoder fra en strengliteral, så for at sammenkæde listeelementer, for eksempel, kan du overføre en listevariabel til en strengliterals joinmetode som i følgende eksempel:

tokens = ['Hej', 'Verden'] #string-tokens uden mellemrum

pyString = ' '.join (tokens)

print (pyString)

Dette script kalder join fra ' ' strengen literal, som er en et-tegns streng med kun mellemrumstegnet. Det sammenkæder 'Hej' og 'Verden' til "Hello World" ved at indsætte det kaldende objekt - et mellemrum - mellem hvert listeelement.

Python Variable Scope-opløsning

Som i andre sprog på højt niveau, skal du være opmærksom på en variabels omfang, når du erklærer og tildeler strengvariabler. Hvis du erklærer en strengvariabel inde i en funktion eller sløjfe, kan du ikke bruge den andre steder i programmet. For eksempel ødelægger Python-fortolkeren variablen "verticalList" efter at have returneret fra løkken:

for g i dagligvarer: verticalList += g + '\n' # streng erklæret inde for loop

print (verticalList)

Dette script giver en undtagelse, fordi "verticalList" ikke er defineret uden for for-løkkens omfang.