Práce s řetězci je v jazyce Python velmi příjemná, je akorát potřeba vědět jak na to. Pro ty kteří si význam slova "řetězec" přesně nevybavují, je to posloupnost znaků, jedno slovo či jedno písmeno. Řetězce v Pythonu se značí do jednotných, dvojitých či trojitých uvozovek. Je to celkem jedno, jen na začátku a konci musí být stejné. Ty trojité se používají u dlouhých textů, které přesahují přes několik řádků.
Příklad přiřazení řetězce do proměnné:
>>> ahoj = "Ahoj jak se vede?" #řetězec jsme právě uložili do proměnné ahoj
>>> print ahoj #vypíše obsah proměnné ahoj
Ahoj jak se vede?
Řetězce můžeme
- sčíat ["neco" + "neco"]
- násobit celým číslem [*]
- zjistit počet znaků [len(retezec)]
- umíme i načíst od uživatele nějaký text [x = input('Zadej text: ')]
Víte, že 1+1=11...?
Řetězce se v Pythonu dají sčítat pomocí klasické operace sčítání. Výsledkem je vždy spojení těchto řetězců.
>>> print "Ahoj" + ", jak se máš?"
Ahoj, jak se máš?
Řetězce jsou neměnné. Pokud je dáme do proměnné, tak to může vypadat, že se mění, ale ve skutečnosti vždy vzniká nová proměnná se stejným jménem, ale jiným obsahem.
>>> auto = "Auto" #klasická proměnná auto
>>> auto = auto + ' je červené' #vytvoření nové proměnné se stejným jménem
>>> print auto #vytiskneme
Auto je červené
Metody: další hrátky s textem
Násobení řetězců:
>>> x = "na"
>>> print x*10
nananananananananana
Zjištění délky řetězce:
>>> veta = "Toto je veta"
>>> print len(veta) #vypíše číslo reprezentující počet znaků v řetězci
12
Přetypování
Pokud je v řetězci jen znak čísla, lze jej přetypovat tak aby např. součet dával součet hodnot...
>>> cislo1string= "1" #textova promenna
>>> cislo2int= int(cislo1)
>>> print type(cisloObycejne) #Vypíše datový typ int(celá čísla)
print cislo2int + 2 # vysledek je 3
A naopak...
>>> cislostring=str(12) #převod cisla 12 na string = "12"
>>> print cislostring * 2
1212
>>> print type(cisloText) #Vypíše datový typ proměnné cislostring
V každém řetězci je vždy první, druhé, …, poslední písmeno. I v Pythonu tomu tak je, až na malý rozdíl, že první písmeno má index 0, tedy je to nulté písmeno. Logicky tedy poslední písmeno má index nebo-li pořadí délka-1; častěji se však říká, že má index jen −1. Na přístup k jednotlivým písmenům, znakům se používají hranaté závorky.
>>> pozdrav = "Ahoj"
>>> print pozdrav[0] #první = (nultý) prvek
A
>>> print pozdrav[1] #druhý prvek
h
Umíme i provádět tzv. řezy, tj. vyjmout ze slova, věty jen určitou část:
>>> obsah="Zaciname s Pythonem"
>>> print obsah[11:17]
Python
Můžeme také procházet znaky ve větě. Nedovedu si představit snadnější průchod textem, než má Python. Více než intuitivně se používá cyklus FOR.
>>> veta="Kobyla ma maly bok"
>>> for znak in veta:
print znak
if znak=="a":
print "Nasel jsem 'a'"
Procházíme všemi znaky v textu dokud nenarazíme na 'a'.
Je tam to písmeno?
Budeme procházet text dokud nenarazíme na písmeno.
>>> if "m" in veta:
print "Veta obsahuje alespon jedno pismeno 'm'"
naschledanou příště...