String je datová struktura v programování Python, která představuje sekvenci znaků. Je to neměnný datový typ, což znamená, že jakmile vytvoříte řetězec, nemůžete jej změnit. Python String se široce používá v mnoha různých aplikacích, jako je ukládání a manipulace s textovými daty, reprezentující jména, adresy a další typy dat, které lze reprezentovat jako text.
Obsah
- Co je to řetězec v Pythonu?
- Vytvořte řetězec v Pythonu
- Přístup ke znakům v Python String
- Řezání provázků
- Obrácený řetězec Pythonu
- Smazání/aktualizace z řetězce
- Únikové sekvenování v Pythonu
- Formátování řetězců v Pythonu
- Užitečné operace s řetězci Pythonu
- Konstanty Python String
- Zastaralé funkce řetězce
- Nejčastější dotazy na Python String
Co je to řetězec v Pythonu?
Krajta Programování nemá datový typ znak, jeden znak je prostě řetězec o délce 1. Podívejme se Syntaxe řetězce Pythonu :
Syntaxe datového typu String v Pythonu
string_variable = 'Hello, world!'>
Příklad datového typu string v Pythonu
Krajta string_0 = 'A Computer Science portal for geeks' print(string_0) print(type(string_0))>
Výstup:
A Computer Science portal for geeks>
Vytvořte řetězec v Pythonu
Řetězce v Pythonu lze vytvořit pomocí jednoduchých uvozovek nebo dvojitých uvozovek nebo dokonce trojitých uvozovek. Podívejme se, jak můžeme definovat řetězec v Pythonu nebo jak napsat řetězec v Pythonu.
Příklad:
V tomto příkladu si ukážeme různé způsoby, jak vytvořit řetězec Python. Vytvoříme řetězec pomocí jednoduchých uvozovek (‘ ‘), dvojitých uvozovek ( ) a trojitých dvojitých uvozovek ( ). Trojité uvozovky lze použít k deklaraci víceřádkových řetězců v Pythonu.
Krajta
# Creating a String # with single Quotes String1 = 'Welcome to the Geeks World' print('String with the use of Single Quotes: ') print(String1) # Creating a String # with double Quotes String1 = 'I'm a Geek' print('
String with the use of Double Quotes: ') print(String1) # Creating a String # with triple Quotes String1 = '''I'm a Geek and I live in a world of 'Geeks'''' print('
String with the use of Triple Quotes: ') print(String1) # Creating String with triple # Quotes allows multiple lines String1 = '''Geeks For Life''' print('
Creating a multiline String: ') print(String1)>
Výstup:
String with the use of Single Quotes: Welcome to the Geeks World String with the use of Double Quotes: I'm a Geek String with the use of Triple Quotes: I'm a Geek and I live in a world of 'Geeks' Creating a multiline String: Geeks For Life>
Přístup ke znakům v Python String
Ve výukových programech Python Programming lze k jednotlivým znakům řetězce přistupovat pomocí metody indexování. Indexování umožňuje negativním adresovým odkazům přistupovat ke znakům ze zadní části řetězce, např. -1 odkazuje na poslední znak, -2 odkazuje na předposlední znak atd.
Při přístupu k indexu mimo rozsah způsobí IndexError . Pouze celá čísla mohou být předávána jako index, float nebo jiné typy, které způsobí a TypeError .

Indexování syntaxe řetězce Python
Pozitivní indexování řetězců Pythonu
V tomto příkladu budeme definovat řetězec v programování Python a přistupovat k jeho znakům pomocí pozitivního indexování. 0. prvek bude prvním znakem řetězce.
Krajta String1 = 'GeeksForGeeks' print('Initial String: ', String1) # Printing First character print('First character of String is: ', String1[0])>
Výstup:
Initial String: GeeksForGeeks First character of String is: G>
Negativní indexování řetězců Pythonu
V tomto příkladu budeme přistupovat k jeho znakům pomocí negativního indexování. -3. prvek je třetí poslední znak řetězce.
Krajta String1 = 'GeeksForGeeks' print('Initial String: ', String1) # Printing Last character print('Last character of String is: ', String1[-3])>
Výstup
Initial String: GeeksForGeeks Last character of String is: e>
String Slicing Python
Ve výukových programech v Pythonu je Řezání provázků metoda se používá pro přístup k rozsahu znaků v řetězci. Krájení v řetězci se provádí pomocí operátoru krájení, tj. dvojtečky (:). Jedna věc, kterou je třeba mít na paměti při používání této metody, je, že řetězec vrácený po rozdělení obsahuje znak na počátečním indexu, ale nikoli znak na posledním indexu.
V tomto příkladu použijeme metodu krájení řetězce k extrahování podřetězce původního řetězce. [3:12] označuje, že krájení řetězce začne od 3. indexu řetězce po 12. index (12. znak nezahrnuje). Při krájení řetězců můžeme také použít negativní indexování.
Krajta # Creating a String String1 = 'GeeksForGeeks' print('Initial String: ') print(String1) # Printing 3rd to 12th character print('
Slicing characters from 3-12: ') print(String1[3:12]) # Printing characters between # 3rd and 2nd last character print('
Slicing characters between ' + '3rd and 2nd last character: ') print(String1[3:-2])>
Výstup:
Initial String: GeeksForGeeks Slicing characters from 3-12: ksForGeek Slicing characters between 3rd and 2nd last character: ksForGee>
Obrácený řetězec Pythonu
Ve výukových programech v Pythonu můžeme také přistupovat ke znakům z řetězce obrácené řetězce v Pythonu Programování. Řetězec můžeme obrátit pomocí metody String slicing.
V tomto příkladu obrátíme řetězec přístupem k indexu. Nespecifikovali jsme první dvě části řezu, což naznačuje, že uvažujeme o celém řetězci, od počátečního indexu po poslední index.
Krajta #Program to reverse a string gfg = 'geeksforgeeks' print(gfg[::-1])>
Výstup:
skeegrofskeeg>
BuildIn Reverzní funkce v Pythonu
Řetězec můžeme také obrátit pomocí vestavěného připojit a obrácený funkcí a předání řetězce jako parametru funkci reversed().
pro smyčku v JavěKrajta
# Program to reverse a string gfg = 'geeksforgeeks' # Reverse the string using reversed and join function gfg = ''.join(reversed(gfg)) print(gfg)>
Výstup:
skeegrofskeeg>
Smazání/aktualizace z řetězce
V Pythonu není povolena aktualizace nebo mazání znaků z řetězce. To způsobí chybu, protože přiřazení položky nebo odstranění položky z řetězce není podporováno. I když smazání celého řetězce je možné pomocí vestavěného klíčového slova del. Důvodem je to, že řetězce jsou neměnné, takže prvky řetězce nelze po přiřazení změnit. Pouze nové řetězce lze znovu přiřadit ke stejnému názvu.
Aktualizace postavy
Znak řetězce lze v Pythonu aktualizovat tak, že nejprve řetězec převedete na a Seznam Pythonu a poté aktualizujte prvek v seznamu. Protože seznamy jsou ve své podstatě proměnlivé, můžeme aktualizovat znak a poté převést seznam zpět na řetězec.
Další metodou je použití metody krájení řetězce. Oddělte řetězec před znakem, který chcete aktualizovat, poté přidejte nový znak a nakonec přidejte druhou část řetězce znovu rozřezáním řetězce.
Příklad:
V tomto příkladu používáme k aktualizaci znaku jak seznam, tak metodu krájení řetězce. Převedli jsme String1 na seznam, změnili jsme jeho hodnotu na konkrétním prvku a poté jsme jej převedli zpět na řetězec pomocí Pythonu string join() metoda.
V metodě krájení řetězce jsme řetězec rozřezali až na znak, který chceme aktualizovat, zřetězili nový znak a nakonec zřetězili zbývající část řetězce.
Krajta # Python Program to Update # character of a String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) # Updating a character of the String ## As python strings are immutable, they don't support item updation directly ### there are following two ways #1 list1 = list(String1) list1[2] = 'p' String2 = ''.join(list1) print('
Updating character at 2nd Index: ') print(String2) #2 String3 = String1[0:2] + 'p' + String1[3:] print(String3)>
Výstup:
Initial String: Hello, I'm a Geek Updating character at 2nd Index: Heplo, I'm a Geek Heplo, I'm a Geek>
Aktualizace celého řetězce
V programování v Pythonu, Protože řetězce Pythonu jsou ve své podstatě neměnné, nemůžeme aktualizovat existující řetězec. Zcela novou hodnotu můžeme přiřadit pouze proměnné se stejným názvem.
Příklad: V tomto příkladu nejprve přiřadíme hodnotu ‚String1‘ a poté ji aktualizujeme tak, že mu přiřadíme úplně jinou hodnotu. Jednoduše jsme změnili jeho odkaz.
Krajta # Python Program to Update # entire String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) # Updating a String String1 = 'Welcome to the Geek World' print('
Updated String: ') print(String1)>
Výstup:
Initial String: Hello, I'm a Geek Updated String: Welcome to the Geek World>
Smazání postavy
Řetězce Pythonu jsou neměnné, to znamená, že z nich nemůžeme smazat znak. Když se pokusíme odstranit znak pomocí z klíčové slovo, vygeneruje chybu.
Krajta # Python Program to delete # character of a String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) print('Deleting character at 2nd Index: ') del String1[2] print(String1)>
Výstup:
Initial String: Hello, I'm a Geek Deleting character at 2nd Index: Traceback (most recent call last): File 'e:GFGPython codesCodesdemo.py', line 9, in del String1[2] TypeError: 'str' object doesn't support item deletion>
Ale pomocí krájení můžeme odstranit znak z původního řetězce a uložit výsledek do nového řetězce.
Příklad: V tomto příkladu nejprve rozřízneme řetězec až ke znaku, který chceme odstranit, a poté zřetězíme zbývající řetězec jako další z odstraněného znaku.
Krajta # Python Program to Delete # characters from a String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) # Deleting a character # of the String String2 = String1[0:2] + String1[3:] print('
Deleting character at 2nd Index: ') print(String2)>
Výstup:
Initial String: Hello, I'm a Geek Deleting character at 2nd Index: Helo, I'm a Geek>
Smazání celého řetězce
V programování v Pythonu je smazání celého řetězce možné pomocí klíčového slova del. Dále, pokud se pokusíme vytisknout řetězec, dojde k chybě, protože řetězec je odstraněn a nelze jej vytisknout.
Krajta # Python Program to Delete # entire String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) # Deleting a String # with the use of del del String1 print('
Deleting entire String: ') print(String1)>
Chyba:
Traceback (most recent call last): File '/home/e4b8f2170f140da99d2fe57d9d8c6a94.py', line 12, in print(String1) NameError: name 'String1' is not defined>
Únikové sekvenování v Pythonu
Při tisku řetězců s jednoduchými a dvojitými uvozovkami v něm způsobuje Chyba syntaxe protože String již obsahuje jednoduché a dvojité uvozovky, a proto jej nelze vytisknout pomocí žádné z nich. Pro tisk takového Stringu se tedy použijí buď Triple Quotes, nebo Escape sekvence pro tisk Stringů.
Únikové sekvence začínají zpětným lomítkem a lze je interpretovat různě. Pokud jsou k reprezentaci řetězce použity jednoduché uvozovky, pak musí být všechny jednoduché uvozovky přítomné v řetězci escapovány a totéž se dělá pro dvojité uvozovky.
Krajta # Initial String String1 = '''I'm a 'Geek'''' print('Initial String with use of Triple Quotes: ') print(String1) # Escaping Single Quote String1 = 'I'm a 'Geek'' print('
Escaping Single Quote: ') print(String1) # Escaping Double Quotes String1 = 'I'm a 'Geek'' print('
Escaping Double Quotes: ') print(String1) # Printing Paths with the # use of Escape Sequences String1 = 'C:PythonGeeks' print('
Escaping Backslashes: ') print(String1) # Printing Paths with the # use of Tab String1 = 'Hi Geeks' print('
Tab: ') print(String1) # Printing Paths with the # use of New Line String1 = 'Python
Geeks' print('
New Line: ') print(String1)>
Výstup:
Initial String with use of Triple Quotes: I'm a 'Geek' Escaping Single Quote: I'm a 'Geek' Escaping Double Quotes: I'm a 'Geek' Escaping Backslashes: C:PythonGeeks Tab: Hi Geeks New Line: Python Geeks>
Příklad:
Chcete-li ignorovat escape sekvence v řetězci, r nebo R Pokud se používá, znamená to, že řetězec je nezpracovaný řetězec a sekvence escape uvnitř něj mají být ignorovány.
Krajta # Printing hello in octal String1 = '110145154154157' print('
Printing in Octal with the use of Escape Sequences: ') print(String1) # Using raw String to # ignore Escape Sequences String1 = r'This is 110145154154157' print('
Printing Raw String in Octal Format: ') print(String1) # Printing Geeks in HEX String1 = 'This is x47x65x65x6bx73 in x48x45x58' print('
Printing in HEX with the use of Escape Sequences: ') print(String1) # Using raw String to # ignore Escape Sequences String1 = r'This is x47x65x65x6bx73 in x48x45x58' print('
Printing Raw String in HEX Format: ') print(String1)>
Výstup:
Printing in Octal with the use of Escape Sequences: Hello Printing Raw String in Octal Format: This is 110145154154157 Printing in HEX with the use of Escape Sequences: This is Geeks in HEX Printing Raw String in HEX Format: This is x47x65x65x6bx73 in x48x45x58>
Formátování řetězců v Pythonu
Řetězce v Pythonu nebo datový typ řetězce v Pythonu lze formátovat pomocí formát() metoda, která je velmi všestranným a výkonným nástrojem pro formátování řetězců. Metoda Format v String obsahuje složené závorky {} jako zástupné symboly, které mohou obsahovat argumenty podle pozice nebo klíčového slova pro určení pořadí.
Příklad 1: V tomto příkladu deklarujeme řetězec, který obsahuje složené závorky {}, které fungují jako zástupné symboly, a poskytneme jim hodnoty, abychom viděli, jak záleží na poloze deklarace řetězce.
Krajta # Python Program for # Formatting of Strings # Default order String1 = '{} {} {}'.format('Geeks', 'For', 'Life') print('Print String in default order: ') print(String1) # Positional Formatting String1 = '{1} {0} {2}'.format('Geeks', 'For', 'Life') print('
Print String in Positional order: ') print(String1) # Keyword Formatting String1 = '{l} {f} {g}'.format(g='Geeks', f='For', l='Life') print('
Print String in order of Keywords: ') print(String1)>
Výstup:
Print String in default order: Geeks For Life Print String in Positional order: For Geeks Life Print String in order of Keywords: Life For Geeks>
Příklad 2: Celá čísla jako binární, hexadecimální atd. a plovoucí čísla lze zaokrouhlit nebo zobrazit ve formě exponentů pomocí specifikátorů formátu.
Krajta # Formatting of Integers String1 = '{0:b}'.format(16) print('
Binary representation of 16 is ') print(String1) # Formatting of Floats String1 = '{0:e}'.format(165.6458) print('
Exponent representation of 165.6458 is ') print(String1) # Rounding off Integers String1 = '{0:.2f}'.format(1/6) print('
one-sixth is : ') print(String1)>
Výstup:
Binary representation of 16 is 10000 Exponent representation of 165.6458 is 1.656458e+02 one-sixth is : 0.17>
Příklad 3: V datovém typu String v Pythonu může být řetězec zarovnán doleva, doprava nebo na střed s použitím specifikátorů formátu, oddělených dvojtečkou(:). () označuje, že řetězec by měl být zarovnán doprava, a (^) označuje, že řetězec by měl být zarovnán na střed. Můžeme také určit délku, ve které se má zarovnat. Například (<10) znamená, že řetězec by měl být zarovnán doleva v rámci pole o šířce 10 znaků.
Krajta # String alignment String1 = '|{:<10}|{:^10}|{:>10}|'.format('Geeks', 'for', 'Geeks') print('
Zarovnání doleva, na střed a doprava s Formátováním: ') print(String1) # Pro ukázku zarovnání mezer Řetězec1 = '
{0:^16} byl založen v roce {1:<4}!'.format('techcodeview.com', 2009) print(String1)>
Výstup:
Left, center and right alignment with Formatting: |Geeks | for | Geeks| techcodeview.com was founded in 2009 !>
Příklad 4: Formátování starého stylu bylo provedeno bez použití metody formátování pomocí a % operátor
Krajta # Python Program for # Old Style Formatting # of Integers Integer1 = 12.3456789 print('Formatting in 3.2f format: ') print('The value of Integer1 is %3.2f' % Integer1) print('
Formatting in 3.4f format: ') print('The value of Integer1 is %3.4f' % Integer1)>
Výstup:
Formatting in 3.2f format: The value of Integer1 is 12.35 Formatting in 3.4f format: The value of Integer1 is 12.3457>
Podobné čtení – Metody řetězců
Užitečné operace s řetězci Pythonu
- Logické operátory na řetězci
- Formátování řetězce pomocí %
- Třída šablony řetězce
- Rozdělte řetězec
- Python Docstrings
- Krájení provázku
- Najděte všechny duplicitní znaky v řetězci
- Obrácený řetězec v Pythonu (5 různých způsobů)
- Python program pro kontrolu, zda je řetězec palindrom nebo ne
Konstanty Python String
Vestavěná funkce | Popis strojopis foreach |
---|---|
string.ascii_letters | Zřetězení konstant ascii_lowercase a ascii_uppercase. |
string.ascii_malá písmena | Zřetězení malých písmen |
řetězec.ascii_velká písmena | Zřetězení velkých písmen |
řetězec.číslice | Číslice v řetězcích |
řetězec.hexčíslice | Hexačíslo v řetězcích |
řetězec.písmena | zřetězení řetězců malá a velká písmena |
řetězec.malá písmena | Řetězec musí obsahovat malá písmena. |
řetězec.octčíslice | Osmičíslí v řetězci |
řetězec.interpunkce | Znaky ASCII obsahující interpunkční znaménka. |
řetězec.tisknutelný | Řetězec znaků, které lze vytisknout |
String.endswith() | Vrátí True, pokud řetězec končí danou příponou, jinak vrátí False |
String.startswith() | Vrátí True, pokud řetězec začíná danou předponou, jinak vrátí False |
String.isdigit() | Vrátí True, pokud jsou všechny znaky v řetězci číslice, V opačném případě vrátí False. |
String.isalpha() | Vrátí True, pokud jsou všechny znaky v řetězci abecedy, V opačném případě vrátí False. |
string.isdecimal() | Vrátí hodnotu true, pokud jsou všechny znaky v řetězci desetinné. jak stáhnout youtube video vlc |
str.format() | jedna z metod formátování řetězců v Pythonu3, která umožňuje vícenásobné substituce a formátování hodnot. |
String.index | Vrátí pozici prvního výskytu podřetězce v řetězci |
řetězec.velká písmena | Řetězec musí obsahovat velká písmena. |
řetězec.mezera | Řetězec obsahující všechny znaky, které jsou považovány za mezery. |
string.swapcase() | Metoda převede všechna velká písmena na malá a naopak daného řetězce a vrátí jej |
nahradit() | vrátí kopii řetězce, kde jsou všechny výskyty podřetězce nahrazeny jiným podřetězcem. |
Zastaralé funkce řetězce
Vestavěná funkce | Popis |
---|---|
řetězec.Idecimální | Vrátí hodnotu true, pokud jsou všechny znaky v řetězci desetinné |
Řetězec.Isalnum | Vrátí hodnotu true, pokud jsou všechny znaky v daném řetězci alfanumerické. |
řetězec.Istitle | Vrátí hodnotu True, pokud je řetězec řetězcem s malými písmeny v názvu |
String.partition | rozdělí řetězec při prvním výskytu oddělovače a vrátí n-tici. |
String.Identifikátor | Zkontrolujte, zda je řetězec platným identifikátorem či nikoli. |
String.len | Vrátí délku řetězce. |
String.rindex | Vrátí nejvyšší index podřetězce uvnitř řetězce, pokud je nalezen podřetězec. |
Řetězec.Max | Vrátí nejvyšší abecední znak v řetězci. |
Řetězec.min | Vrátí minimální počet abecedních znaků v řetězci. |
Řetězec.splitlines | Vrátí seznam řádků v řetězci. |
řetězec.kapitalizovat | Vraťte slovo s velkým prvním znakem. |
string.expandtabs | Rozbalte tabulátory v řetězci a nahraďte je jednou nebo více mezerami |
řetězec.najít | Vrátí nejnižší indexování dílčího řetězce. |
řetězec.najít | najít nejvyšší index. |
řetězec.počet | Vrátí počet (nepřekrývajících se) výskytů podřetězce sub v řetězci |
provázek.spodní | Vraťte kopii s, ale s velkými písmeny, písmena převedená na malá. |
řetězec.rozdělený | Vrátí seznam slov řetězce, pokud chybí volitelný druhý argument sep nebo Žádný |
Python Docstrings |