PYTHON Ciągi znaków
String – ciąg znaków
Przykłady:
a = "Kot" b = 'Pies' c = "John`s" d = """Powiedział: "Cześć!" """
Ciąg znaków możemy zawrzeć wewnątrz cudzysłowu bądź apostrofów. Jeśli ciąg znaków ma zawierać apostrof, zawieramy go wewnątrz cudzysłowów. Jeśli natomiast ciąg znaków zawierać ma fragment otoczony cudzysłowami, zawieramy go w potrójnym cudzysłowie.
Indeksy ciągów znaków
String jest indeksowany w dokładnie taki sam sposób jak lista. Dla przykładu ciąg znaków:
x = 'informatyk'
-10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
i | n | f | o | r | m | a | t | y | k |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Stąd przykładowo litera r posiada wartość indeksu 4 oraz -6.
Aby zatem wypisać jedynie literę r wykonalibyśmy jedną z dwóch poniższych instrukcji:
print(x[4]) print(x[-6])
Konkatenacja
Konkatenacja jest łączeniem ze sobą ciągów znaków. W języku Python dokonujemy jej za pomocą symbolu +.
Przykłady:
x = 'Technik' y = 'Informatyk' z = x + y print(z)
Efekt: TechnikInformatyk
Multiplikacja
Wykorzystując symbol iloczynu możemy spowodować powielenie ciągu znaków. Przykład:
x = 'Technik' y = 'Informatyk' z = 4*x print(z)
Efekt: TechnikTechnikTechnikTechnik
Liczba, a ciąg znaków
Przypisując wartość liczbową, całkowitą, do zmiennej mamy typ zmiennej int. Robiąc to samo, zamykając liczbę w apostrofy czy cudzysłowy, otrzymujemy typ str.
x = 25 y = '25' print(type(x)) print(type(y))
Efekt:
Typ zmiennej x: int
Typ zmiennej y: str
Pociąga to za sobą pewne konsekwencje. Spróbujmy dodać do siebie zmienne x oraz y:
x = 25 y = '25' z = x + y print(z)
Otrzymujemy błąd – nie możemy do siebie dodać wartości liczbowej i tekstowej.
Wymuśmy zatem zmianę typu zarówno w jedną, jak i w drugą stronę (z int na str / ze str na int):
x = 25 y = '25' z = x + int(y) print(z)
Efekt: 50
x = 25 y = '25' z = str(x) + y print(z)
Efekt: 2525
Gdy wartości obu zmiennych są liczbowe, zostają do siebie dodane – stąd wynik 50 (25+25). Natomiast gdy wartości obu zmiennych są typu string, dochodzi do konkatenacji – ciągi znaków zostały połączone, stąd wynik 2525.