Programmering 1

MER OM STRÄNGAR

my_str = "a hat"
my_other_str = 'a cat'

Teckensträng

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'

Teckensträng

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'""")

"Trippelciterade" strä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

Strängkonkatenering

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

Strängar är itererbara

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 []

Testa förekomst i sträng

subject = 'Programmering'

if 'p' in subject:
    print("p")
if 'P' in subject:
    print("P")

Tomma strängar

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.

Strängar är oföränderliga

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

Längden av en sträng

subject = "Program  ming"
print(len(subject))
>> 13

Använd inbyggda funktion len()

Teckenkodning

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()

Jämförelse av strängar

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 <.

Slice:a strängar

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.

Strängmetoder

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
Made with Slides.com