Hoe te converteren naar een string in Python

Thuiswerken.

Een jonge man typt thuis op zijn laptop

Afbeelding tegoed: g-stockstudio/iStock/Getty Images

In tegenstelling tot C++ en Java bevatten Python-variabelen geen expliciete type-informatie. Als je een functie gebruikt waarvoor een string nodig is, kun je er variabelen van andere typen aan doorgeven zonder een uitzondering genereren, hoewel uw code een uitzondering kan genereren wanneer deze de variabele probeert te verwerken. De enige gegevenstypen die u mogelijk naar tekenreeksen moet converteren, zijn samengestelde gegevensstructuren zoals sets en lijsten. Python bevat handige functies en operators voor het herhalen van de items in een gegevensstructuur en het toevoegen van tekens aan een stringvariabele.

Sterke, dynamisch getypte talen

C++ en Java vereisen een type reservewoord dat voorafgaat aan alle variabele toewijzingen, omdat de compiler of runtime-omgeving moet weten hoe de gegevens moeten worden behandeld. Deze statisch getypeerde talen gebruiken typecasting om, indien mogelijk, tussen typen te converteren. Aangezien Python een dynamisch getypeerde taal is, leidt de interpreter het type af tijdens runtime, dus u wijst indien nodig eenvoudig waarden toe aan variabelen. U kunt elk gegevenstype toewijzen aan een variabele die voorheen als een ander type werd gebruikt, en de Python-garbagecollector verwijdert de oude variabele uit het geheugen.

Video van de dag

Gegevensstructuren converteren naar strings

Als uw programma tekstinformatie verzamelt in een samengestelde structuur zoals een lijst, tuple of set, kunt u de gegevensstructuur doorlopen om elementen aan een stringvariabele toe te voegen. U hoeft geen tekenreeksvariabele te declareren voordat u de gegevensstructuur herhaalt, maar het kan uw code eenvoudiger maken. De volgende code demonstreert bijvoorbeeld de meest eenvoudige methode voor het converteren van een lijst naar een tekenreeks:

ultimateQuestion = "" # declareer lege string "ultimateQuestion"

tokens = ["What's ", 6, " times", 9, "?"] # lijst met gemengde typen met witruimte

voor t in tokens: ultimateQuestion += str (t)

print (ultieme vraag)

De str-methode die in de for-lus wordt gebruikt, werpt gehele getallen naar tekenreeksen en heeft geen effect op bestaande tekenreeksen. Als u deze code in de Python-interpreter uitvoert, wordt "Wat is 6 keer 9?"

Ingebouwde stringmethoden

Zoals de meeste talen op hoog niveau, bevat Python veel methoden die tot het ingebouwde tekenreekstype behoren. In Python kun je deze methoden aanroepen vanuit een letterlijke tekenreeks, dus om bijvoorbeeld lijstelementen samen te voegen, kun je een lijstvariabele doorgeven aan de join-methode van een letterlijke tekenreeks, zoals in het volgende voorbeeld:

tokens = ['Hallo', 'Wereld'] #string tokens zonder witruimte

pyString = ' '.join (tokens)

afdrukken (pyString)

Dit script roept join aan vanuit de letterlijke tekenreeks ' ', wat een tekenreeks van één teken is van alleen het spatieteken. Het voegt 'Hallo' en 'Wereld' samen tot 'Hallo wereld' door het aanroepende object - een spatie - tussen elk lijstelement in te voegen.

Resolutie variabele bereik van Python

Net als in andere talen op hoog niveau, moet u aandacht besteden aan het bereik van een variabele bij het declareren en toewijzen van tekenreeksvariabelen. Als u een stringvariabele binnen een functie of lus declareert, kunt u deze nergens anders in het programma gebruiken. De Python-interpreter vernietigt bijvoorbeeld de variabele "verticalList" na terugkeer uit de lus:

voor g in boodschappen: verticalList += g + '\n' # string gedeclareerd inside for loop

print (verticalList)

Dit script genereert een uitzondering omdat "verticalList" niet buiten het bereik van de for-lus is gedefinieerd.