Python tutoriál 5. díl

Řetězce

Jsou ohraničeny libovolně 'jednoduchými', nebo "dvojitými" uvozovkami.

Přiřazení řetězce k proměnné se provádí s názvem proměnné následovaným rovnítkem a řetězcem.

Pomocí funkce print() můžete zobrazit řetězcový literál:

Uvozovky můžete použít uvnitř řetězce, pokud se neshodují s uvozovkami obklopujícími řetězec:

Víceřádkové řetězce:

Zřetězení

Ke spojení dvou a více řetězců můžete použít + operátor:

Řetězce jsou pole

Stejně jako mnoha jiných programovacích jazyků jsou řetězce pole bajtů představující znaky unicode. Python však nemá datový typ znak. Jeden znak je řetězec o délce 1.

Pro přístup k prvkům řetězce lze použít hranaté závorky [ ].

Zápis a[1]vrátí druhý znak řetězce a. První znak má pozici 0!:

Procházení řetězce cyklem

Protože jsou řetězce pole, můžeme procházet znaky v řetězci pomocí smyčky for.

Délka řetězce

Chcete-li získat délku řetězce, použijte funkci len().

Zjištění (podřetězce) substringu

Chcete-li zjistit, jestli řetězec obsahuje určitou frázi nebo znak, můžete použít klíčové slovo in a not in:

Použití v podmínce if:

Získání (podřetězce) substringu

Další metody pro práci s řetězci:

Formátování řetězců

F-String byl představen v Pythonu 3.6 a nyní je preferovaným způsobem formátování řetězců.

Chcete-li zadat řetězec jako f-řetězec, jednoduše vložte f před řetězcový literál a přidejte složené závorky {} jako zástupné symboly pro proměnné a další operace:

Zástupný symbol může obsahovat modifikátor pro formátování hodnoty.

Modifikátor tvoří dvojtečka : a typ formátování, například .2f, což znamená číslo s pevnou čárkou se 2 desetinnými místy:

Zástupný symbol může obsahovat kód a matematické operace:

Escapování

Chcete-li do řetězce vložit znaky, které jsou nepovolené, použijte zpětné \ lomítko.

Znak escape je zpětné lomítko \ následované znakem, který chcete vložit.

Příkladem nepovoleného znaku je dvojitá uvozovka uvnitř řetězce, který je obklopen dvojitými uvozovkami:

Další používané escape znaky:

znakvýznam
\‘jednoduchá uvozovka
\\zpětné lomítko
\nnový řádek
\rCarriage Return (CR) – návrat na začátek řádku
\ttabulátor
\bbackspace
\fForm Feed (FF) – přechod na novou stránku
\oooosmičková hodnota
\xhhhexadecimální hodnota

Seznam vestavěných metod pro práci s řetězci:

metodapopis
capitalize()Převede první znak na velká písmeno.
casefold()Převádí na malá písmena s lepší podporou mezinárodních Unicode znaků než lower(), která například netransformuje ß na ss.
center()Vrátí vycentrovaný řetězec.
count()Vrátí, kolikrát se zadaná hodnota vyskytuje v řetězci.
encode()Vrátí zakódovanou verzi řetězce.
endswith()Vrátí hodnotu True, pokud řetězec končí zadanou hodnotou.
expandtabs()Nastaví velikost tabulátoru řetězce.
find()Vyhledá v řetězci zadanou hodnotu a vrátí pozici, kde byla nalezena.
format()Formátuje zadané hodnoty v řetězci.
format_map()Formátuje zadané hodnoty v řetězci.
index()Vyhledá v řetězci zadanou hodnotu a vrátí pozici, kde byla nalezena.
isalnum()Vrátí hodnotu True, pokud jsou všechny znaky v řetězci alfanumerické.
isalpha()Vrátí True, pokud jsou všechny znaky v řetězci v abecedě.
isascii()Vrátí hodnotu True, pokud jsou všechny znaky v řetězci znaky ASCII.
isdecimal()Vrátí hodnotu True, pokud jsou všechny znaky v řetězci desetinné.
isdigit()Vrátí hodnotu True, pokud jsou všechny znaky v řetězci číslice.
isidentifier()Vrátí hodnotu True, pokud je řetězec identifikátorem.
islower()Vrátí hodnotu True, pokud jsou všechny znaky v řetězci malé.
isnumeric()Vrátí hodnotu True, pokud jsou všechny znaky v řetězci číselné.
isprintable()Vrátí hodnotu True, pokud jsou všechny znaky v řetězci tisknutelné.
isspace()Vrátí True, pokud jsou všechny znaky v řetězci mezery.
istitle()Vrátí hodnotu True, pokud řetězec splňuje pravidla názvu.
isupper()Vrátí hodnotu True, pokud jsou všechny znaky v řetězci velké.
join()Připojí prvky iterovatelného ke konci řetězce.
ljust()Vrátí verzi řetězce zarovnanou doleva.
lower()Převede řetězec na malá písmena, ale Unicode znaky jako ß na ss narozdíl od casefold() nepřevádí.
lstrip()Vrátí řetězec oříznutý o bílé znaky vlevo.
maketrans()Vrátí překladovou tabulku, která se má použít při překladech.
partition()Vrátí n-tici, kde je řetězec rozdělen na tři části.
replace()Vrátí řetězec, kde je zadaná hodnota nahrazena zadanou hodnotou.
rfind()Vyhledá v řetězci zadanou hodnotu a vrátí poslední pozici, kde byla nalezena.
rindex()Vyhledá v řetězci zadanou hodnotu a vrátí poslední pozici, kde byla nalezena.
rjust()Vrátí verzi řetězce zarovnanou vpravo.
rpartition()Vrátí n-tici, kde je řetězec rozdělen na tři části.
rsplit()Rozdělí řetězec na zadaném oddělovači a vrátí seznam.
rstrip()Vrátí řetězec oříznutý o bílé znaky vpravo.
split()Rozdělí řetězec na zadaném oddělovači a vrátí seznam.
splitlines()Rozdělí řetězec na zalomení řádků a vrátí seznam.
startswith()Vrátí hodnotu True, pokud řetězec začíná zadanou hodnotou.
strip()Vrátí řetězec oříznutý o bílé znaky na začátku i konci.
swapcase()Zamění malá a velká písmena.
title()Převede první znak každého slova na velká písmena.
translate()Vrátí přeložený řetězec.
upper()Převede řetězec na velká písmena.
zfill()Vyplní řetězec zadaným počtem 0 hodnot na začátku.

Python tutoriál 6. díl