En ung mann som skriver på den bærbare datamaskinen sin hjemme
Bildekreditt: g-stockstudio/iStock/Getty Images
I motsetning til i C++ og Java, inneholder ikke Python-variabler eksplisitt typeinformasjon. Hvis du bruker en funksjon som krever en streng, kan du sende variabler av andre typer til den uten kaste et unntak, selv om koden din kan gi et unntak når den prøver å behandle variabelen. De eneste datatypene du trenger for å konvertere til strenger er sammensatte datastrukturer som sett og lister. Python inkluderer praktiske funksjoner og operatorer for å iterere over elementene i en datastruktur og legge til tegn til en strengvariabel.
Sterke, dynamisk skrevet språk
C++ og Java krever et typereserveord for å gå foran alle variabeltildelinger fordi kompilatoren eller kjøretidsmiljøet må vite hvordan dataene skal behandles. Disse statisk skrevet språkene bruker typecasting for å konvertere mellom typer hvis mulig. Siden Python er et dynamisk skrevet språk, utleder tolken typen ved kjøring, så du tilordner ganske enkelt verdier til variabler etter behov. Du kan tilordne en hvilken som helst datatype til en variabel som tidligere ble brukt som en annen type, og Python-søppelsamleren fjerner den gamle variabelen fra minnet.
Dagens video
Konvertering av datastrukturer til strenger
Hvis programmet ditt samler tekstinformasjon i en sammensatt struktur som en liste, tuppel eller sett, kan du sløyfe over datastrukturen for å legge til elementer til en strengvariabel. Du trenger ikke deklarere en strengvariabel før du itererer over datastrukturen, men det kan gjøre koden din enklere. For eksempel viser følgende kode den mest grunnleggende metoden for å konvertere en liste til en streng:
ultimateQuestion = "" # erklær tom streng "ultimateQuestion"
tokens = ["Hva er ", 6, " ganger ", 9, "?"] # liste over blandede typer med mellomrom
for t i tokens: ultimateSpørsmål += str (t)
print (ultimateQuestion)
Str-metoden som brukes i for-løkken kaster heltall til strenger og har ingen effekt på eksisterende strenger. Hvis du kjører denne koden i Python-tolken, skrives den ut "Hva er 6 ganger 9?"
Innebygde strengmetoder
Som de fleste høynivåspråk inkluderer Python mange metoder som tilhører den innebygde strengtypen. I Python kan du kalle disse metodene fra en strengliteral, så for å sette sammen listeelementer, for eksempel, kan du sende en listevariabel til en strengliterals join-metode som i følgende eksempel:
tokens = ['Hei', 'Verden'] #string-tokens uten mellomrom
pyString = ' '.join (tokens)
print (pyString)
Dette skriptet kaller join fra ' ' strengen literal, som er en ett-tegns streng med kun mellomrom. Den setter sammen "Hello" og "World" til "Hello World" ved å sette inn det kallende objektet - et mellomrom - mellom hvert listeelement.
Python Variable Scope-oppløsning
Som i andre høynivåspråk, må du være oppmerksom på en variabels omfang når du deklarerer og tildeler strengvariabler. Hvis du erklærer en strengvariabel inne i en funksjon eller løkke, kan du ikke bruke den andre steder i programmet. For eksempel ødelegger Python-tolken variabelen "verticalList" etter retur fra loopen:
for g i dagligvarer: verticalList += g + '\n' # streng erklært inne for loop
print (verticalList)
Dette skriptet gir et unntak fordi "verticalList" ikke er definert utenfor omfanget av for-løkken.