Stringy - vybrané operace a metody¶
In [1]:
# opeace pro posloupnosti:
s = "ahoj lidi"
# in, not in
if 'a' in s:
print("je tam")
# for cyklus
for z in s:
print(z, end = " ")
# počet znaků (len)
print(len(s))
# indexace
print(s[8])
# výřez
print(s[5:8])
# operátory +, * (zřetězení)
s = ""
s += "a"
s = "bc" + s
print(s)
s *= 2
print(s)
print(3 * s)
je tam a h o j l i d i 9 i lid bca bcabca bcabcabcabcabcabca
Základní metody¶
- spojování a rozdělování (např.
join,split,splitlines,partition,rpartition) - zjišťovací metody (např.
islower,isupper,isalpha,isspace,isdigit,isalnum,...) - vyhledávání podstringů (např.
count,find,rfindindex,rindex,startswith,endswith) - nahrazování (např.
replace,expandtabs) - ořezávání (např.
strip,rstrip,lstrip) - formátování (např.
lower,upper,capitalize,title,ljust,rjust,center)
Detaily o všech metodách třídy str nalzenete v dokumentaci https://docs.python.org/3/library/stdtypes.html#string-methods.
Spojování a rozdělování (např. join, split, splitlines, partition, rpartition)
In [2]:
print(" ".join(["This", "is", "a", "sentence."])) # spojení stringů
print("This is a sentence.\n This is another sentence.".split()) # rozdělení stringů
print("bread and butter and sousage".split(" and "))
print("bread and butter and sousage".partition(" and "))
print("bread and butter and sousage".rpartition(" and "))
This is a sentence.
['This', 'is', 'a', 'sentence.', 'This', 'is', 'another', 'sentence.']
['bread', 'butter', 'sousage']
('bread', ' and ', 'butter and sousage')
('bread and butter', ' and ', 'sousage')
Zjišťovací metody (např. islower, isupper, isalpha, isspace, isdigit, isalnum)
In [3]:
print("17.5".isnumeric(), "ahoj lidi".islower()) # zjišťovací metody
False True
Vyhledávání podstringů (např. count, find, rfind index, rindex, startswith, endswith)
In [4]:
print("To není to, co to není, je to toto!".count("to")) # počet výskytů podstringu
print("To není to, co to není, je to toto!".find("to")) # index prvního výskytu podstringu
print("To není to, co to není, je to toto!".startswith("to", 8))
5 8 True
Nahrazování (např. replace, expandtabs)
In [5]:
print("To není to, co to není, je to toto!".replace("není", "JE")) # nahrazení všech výskytů podstringu
To JE to, co to JE, je to toto!
Ořezávání (např. strip, rstrip, lstrip)
In [6]:
print(" Adam Novák \t\n \n".strip()) # ořezání stringu
print("-*-*-*-*-Adam Novák------".lstrip("*-"))
Adam Novák Adam Novák------
Formátování (např. lower, upper, capitalize, title, ljust, rjust, center)
In [3]:
print("To není to, co to není, je to toto!".upper()) # jednoduché formátování
print(" Nadpis ".center(20, '-'))
TO NENÍ TO, CO TO NENÍ, JE TO TOTO! ------ Nadpis ------
Formátování řetězců
In [14]:
x = 5
print(f"Výsledek je {x / 3}.")
print(f"Výsledek je {x / 3:.2f}.")
s1 = "Ahoj, jsem {}. A moje oblibené číslo je {}."
print(s1.format("Matěj", 7))
s2 = "Ahoj, jsem {jmeno}. A moje oblibené číslo je {cislo}."
print(s2.format(cislo=7, jmeno="Matěj"))
Výsledek je 1.6666666666666667. Výsledek je 1.67. Ahoj, jsem Matěj. A moje oblibené číslo je 7. Ahoj, jsem Matěj. A moje oblibené číslo je 7.
In [ ]: