Strängar
Stängar
Ni kan läsa mer om strängar och hur ni manipulerar dem i kursboken Learning Python, kapitel 7.
Det finns en mängd olika sätt att skriva strängar på i Python. I vanliga fall används enkla apostrofer men ni kan även använda er av citationstecken då det passar bättre. Ifall ni vill ha en sträng som innehåller båda typer av citationstecken kan ni skriva en sträng som börjar (och slutar) med tre citationstecken av någon av typerna. Sådana strängar tillåts även innehålla radbrytningar.
Prova följande:
>>> 'A simple string'
>>> "You'd want to use this to write in English."
>>> """I'll be able to use a lot more "special" characters
#*\color{black}...*# within this string!"""
När ni skriver in en sträng med radbrytningar i Python-tolken märker ni att radbrytningarna representeras med \n. Sådana tecken kallas för escape-tecken och kan även användas i normala strängar. Detta innebär att ni måste placera ett escape-tecken före ett backslash ifall ni vill skriva ut ett backslash i er sträng. Detta kan lätt bli jobbigt och förvirrande och därför finns det något som kallas för råa strängar. Råa strängar skrivs med ett r framför strängen och behandlar då inte några escape-tecken.
Prova följande:
>>> print("Jämför det här: \n ... \\")
>>> print(r"Jämför det här: \n ... \\")
Från och med python version 3 är alla strängar unicode-formaterade. Detta för att få en bättre separation mellan text och binära data.
Strängar i Python är oföränderliga datatyper (immutable). Ni kan inte förändra innehållet i dem så ifall ni vill modifiera en sträng får ni skapa en ny med den tidigare som utgångspunkt. Det finns väldigt många metoder för detta i Python.
Prova följande:
>>> example = "Python hanterar strängar väl"
>>> example[0]
>>> example[7]
>>> example[0:6]
>>> example[16:]
>>> example[:15]
>>> len(example)
>>> example.replace('strängar', 'allt')
>>> dir(str)
>>> dir("")
Genom att ange ett index mellan hakparenteser kan ni välja ut ett speciellt tecken från strängen. Ifall ni vill välja ut en sekvens av tecken anger ni istället ett så kallat slice index, det vill säga ett startindex och ett slutindex separerat med ett kolon. Genom att utelämna startindex eller slutindex tolkar Python detta som från början av strängen fram till slutindex respektive från startindex till slutet av strängen. Vad händer om man utelämnar både start- och slutindex?
Python
Emacs
Laborationer och material
Sidansvarig: Pontus Haglund
Senast uppdaterad: 2023-08-15