my_str = "a hat"
my_other_str = 'a cat'
En sträng, d.v.s en sekvens av tecken kan antingen deklareras med enkla citattecken ' eller dubbla ".
Du kan använda antingen eller, men tänk på att du är konsekvent
subject = 'Programming'
En variabel som heter subject som refererar till teckensträngen 'Programming'
Strängvariabel
Strängkonstant, Literal
print("""Radbruten
text, ett sätt att
omsluta 'teckensträngar'""")
En sträng kan omslutas av tre (' eller ") på var sida. Då kan man använda enstaka dubbla eller enkla citationstecken inuti, samt skriva ut raden på flera rader.
str_one = "john"
str_two = "doe"
str_three = str_one + " " + str_two # john doe
Med konkatenering menas att man "sätter ihop" flera strängar efter varandra. Det gör man med + - operatorn
Man kan också använda += - operatorn
str_one = "ice"
str_one += " cream"
str_one # ice cream
a = 'Fish'
F | i | s | h |
---|
a[0]
a[1]
a[0]
a[2]
a[3]
print(a[1])
>> i
Man kan komma åt enstaka tecken genom att ange det index för tecknet inom hakparantes []
subject = 'Programmering'
if 'p' in subject:
print("p")
if 'P' in subject:
print("P")
subject = ''
En sträng som inte innehåller något tecken är ändå en teckensträng - kallas då "tom sträng"
En tom sträng har sanningsvärdet False, medan andra betraktas som True.
subject = "Programming"
subject[0] = "M"
I Python är strängar oföränderliga, s.k "immutable"
subject[0] = "M"
TypeError: 'str' object does not support item assignment
subject = "Program ming"
print(len(subject))
>> 13
Använd inbyggda funktion len()
ord('A')
>> 65
chr(66)
>> 'B'
Varje tecken i datorns minne har en särskild teckenkod. Funktionen ord() ger teckenkoden för tecknet. Omvänt används funktionen chr().
if subject == "Programming":
print("You choose programming")
if 'A' < 'B':
print('A är före B i alfabetet')
Använd == eller != för att jämföra strängar.
Så länge det gäller engelska bokstäver går det bra att jämföra tecken i stigande bokstavsordning med större än > och mindre än <.
subject = "Programming"
print(subject[0:3])
>> Pro
print(subject[0:8])
>> Programm
print(subject[:8])
>> Programm
print(subject[5:])
>> amming
print(subject[:])
>> Programming
print(subject[::-1])
>> gnimmargorP
print(subject[::2])
>> Pormig
I Python kan man skapa en s.k slice av en sträng genom att använda startindex och slutindex med kolon emellan.
subject = "Programming"
print(subject.center(20, "*"))
>> ****Programming*****
print(subject.ljust(20, "*"))
>> Programming*********
print(subject.rjust(20, "*"))
>> *********Programming
print(subject.count('m'))
>> 2
print(subject.upper())
>> PROGRAMMING
print(subject.lower())
>> programming
Det finns ett stort antal medlemsfunktioner (metoder) som hör till klassen av strängar i Python. För att kalla på dessa använder man punktnotation.
name = "john doe"
print(name.capitalize())
>> John doe
print(name.title())
>> John Doe
test = " john doe "
print(test.strip())
>> john doe
print(test.replace("doe", "smith"))
>> john smith