String je dátová štruktúra v programovaní Python, ktorá predstavuje postupnosť znakov. Je to nemenný dátový typ, čo znamená, že po vytvorení reťazca ho už nemôžete zmeniť. Python String sa široko používa v mnohých rôznych aplikáciách, ako je ukladanie a manipulácia s textovými údajmi, reprezentovanie mien, adries a iných typov údajov, ktoré môžu byť reprezentované ako text.
Obsah
- Čo je reťazec v Pythone?
- Vytvorte reťazec v Pythone
- Prístup k znakom v reťazci Python
- Krájanie strún
- Obrátený reťazec Pythonu
- Odstránenie/aktualizácia z reťazca
- Únikové sekvenovanie v Pythone
- Formátovanie reťazca Python
- Užitočné operácie s reťazcom Pythonu
- Konštanty reťazca Python
- Zastarané funkcie reťazcov
- Časté otázky o Python String
Čo je reťazec v Pythone?
Python Programovanie nemá dátový typ znaku, jeden znak je jednoducho reťazec s dĺžkou 1. Pozrime sa Syntax reťazca Pythonu :
Syntax dátového typu reťazca v Pythone
string_variable = 'Hello, world!'>
Príklad dátového typu reťazca v Pythone
Python string_0 = 'A Computer Science portal for geeks' print(string_0) print(type(string_0))>
Výkon:
A Computer Science portal for geeks>
Vytvorte reťazec v Pythone
Reťazce v Pythone môžu byť vytvorené pomocou jednoduchých úvodzoviek alebo dvojitých úvodzoviek alebo dokonca trojitých úvodzoviek. Pozrime sa, ako môžeme definovať reťazec v Pythone alebo ako napísať reťazec v Pythone.
Príklad:
ako spárovať slúchadlá beats
V tomto príklade ukážeme rôzne spôsoby vytvorenia reťazca Python. Vytvoríme reťazec pomocou jednoduchých úvodzoviek (‘ ‘), dvojitých úvodzoviek ( ) a trojitých dvojitých úvodzoviek ( ). Trojité úvodzovky možno použiť na deklarovanie viacriadkových reťazcov v Pythone.
Python # 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ýkon:
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>
Prístup k znakom v reťazci Python
V návodoch na programovanie v Pythone je možné pristupovať k jednotlivým znakom reťazca pomocou metódy indexovania. Indexovanie umožňuje záporným adresovým odkazom pristupovať k znakom zo zadnej strany reťazca, napr. -1 sa vzťahuje na posledný znak, -2 sa vzťahuje na predposledný znak atď.
Pri prístupe k indexu mimo rozsahu spôsobí IndexError . Iba celé čísla môžu byť odovzdané ako index, float alebo iné typy, ktoré spôsobia a TypeError .

Indexovanie syntaxe reťazca Python
Pozitívna indexácia reťazcov Pythonu
V tomto príklade zadefinujeme reťazec v programovaní Python a získame prístup k jeho znakom pomocou pozitívneho indexovania. Prvok 0 bude prvým znakom reťazca.
Python String1 = 'GeeksForGeeks' print('Initial String: ', String1) # Printing First character print('First character of String is: ', String1[0])> Výkon:
Initial String: GeeksForGeeks First character of String is: G>
Negatívne indexovanie reťazcov Pythonu
V tomto príklade budeme pristupovať k jeho znakom pomocou negatívneho indexovania. -3. prvok je tretí posledný znak reťazca.
Python String1 = 'GeeksForGeeks' print('Initial String: ', String1) # Printing Last character print('Last character of String is: ', String1[-3])> Výkon
Initial String: GeeksForGeeks Last character of String is: e>
String Slicing Python
V návodoch na programovanie v Pythone je Krájanie strún metóda sa používa na prístup k rozsahu znakov v reťazci. Krájanie v reťazci sa vykonáva pomocou operátora krájania, t. j. dvojbodky (:). Jedna vec, ktorú treba mať na pamäti pri používaní tejto metódy, je, že reťazec vrátený po rozrezaní obsahuje znak na začiatku indexu, ale nie znak na poslednom indexe.
V tomto príklade použijeme metódu krájania reťazca na extrahovanie podreťazca pôvodného reťazca. [3:12] označuje, že krájanie reťazca začne od 3. indexu reťazca po 12. index (12. znak nezahŕňa). Pri krájaní reťazcov môžeme použiť aj negatívnu indexáciu.
Python # 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ýkon:
Initial String: GeeksForGeeks Slicing characters from 3-12: ksForGeek Slicing characters between 3rd and 2nd last character: ksForGee>
Obrátený reťazec Pythonu
V návodoch na programovanie v Pythone môžeme tiež pristupovať k znakom z reťazca reverzné reťazce v Pythone Programovanie. Reťazec môžeme obrátiť pomocou metódy String slicing.
V tomto príklade obrátime reťazec prístupom k indexu. Nešpecifikovali sme prvé dve časti rezu, čo naznačuje, že uvažujeme o celom reťazci, od počiatočného indexu po posledný index.
Python #Program to reverse a string gfg = 'geeksforgeeks' print(gfg[::-1])>
Výkon:
skeegrofskeeg>
Reverzná funkcia BuildIn v Pythone
Môžeme tiež obrátiť reťazec pomocou vstavaného pripojiť sa a obrátené a odovzdanie reťazca ako parametra funkcii reversed().
Python # Program to reverse a string gfg = 'geeksforgeeks' # Reverse the string using reversed and join function gfg = ''.join(reversed(gfg)) print(gfg)>
Výkon:
skeegrofskeeg>
Odstránenie/aktualizácia z reťazca
V Pythone nie je povolená aktualizácia alebo vymazanie znakov z reťazca. Spôsobí to chybu, pretože priradenie položky alebo odstránenie položky z reťazca nie je podporované. Aj keď vymazanie celého reťazca je možné pomocou vstavaného kľúčového slova del. Je to preto, že reťazce sú nemenné, a preto sa prvky reťazca po priradení nedajú zmeniť. Iba nové reťazce môžu byť priradené k rovnakému názvu.
Aktualizácia postavy
Znak reťazca môže byť v Pythone aktualizovaný tak, že najprv skonvertujete reťazec na a Zoznam Python a potom aktualizujte prvok v zozname. Keďže zoznamy sú svojou povahou meniteľné, môžeme aktualizovať znak a potom previesť zoznam späť na reťazec.
Ďalšou metódou je použitie metódy krájania reťazcov. Nakrájajte reťazec pred znak, ktorý chcete aktualizovať, potom pridajte nový znak a nakoniec pridajte druhú časť reťazca znova rozrezaním reťazca.
Príklad:
V tomto príklade na aktualizáciu znaku používame zoznam aj metódu krájania reťazca. Skonvertovali sme String1 na zoznam, zmenili sme jeho hodnotu na konkrétnom prvku a potom sme ho skonvertovali späť na reťazec pomocou Pythonu string join() metóda.
Pri metóde krájania reťazcov sme reťazec rozrezali až po znak, ktorý chceme aktualizovať, zreťazili sme nový znak a nakoniec sme spojili zvyšnú časť reťazca.
Python # 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ýkon:
Initial String: Hello, I'm a Geek Updating character at 2nd Index: Heplo, I'm a Geek Heplo, I'm a Geek>
Aktualizuje sa celý reťazec
V programovaní v Pythone, Keďže reťazce Pythonu sú svojou povahou nemenné, nemôžeme aktualizovať existujúci reťazec. Úplne novú hodnotu môžeme priradiť len premennej s rovnakým názvom.
Príklad: V tomto príklade najprv priradíme hodnotu „String1“ a potom ju aktualizujeme priradením úplne inej hodnoty. Jednoducho sme zmenili jeho referenciu.
Python # 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ýkon:
Initial String: Hello, I'm a Geek Updated String: Welcome to the Geek World>
Odstránenie postavy
Reťazce Pythonu sú nemenné, to znamená, že z nich nemôžeme odstrániť znak. Keď sa pokúsime odstrániť znak pomocou z kľúčové slovo, vygeneruje chybu.
Python # 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ýkon:
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 pomocou krájania môžeme odstrániť znak z pôvodného reťazca a uložiť výsledok do nového reťazca.
Príklad: V tomto príklade najprv rozdelíme reťazec až po znak, ktorý chceme vymazať, a potom zreťazíme zvyšný reťazec ako ďalší z vymazaného znaku.
Python # 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ýkon:
Initial String: Hello, I'm a Geek Deleting character at 2nd Index: Helo, I'm a Geek>
Odstránenie celého reťazca
V programovaní v Pythone je vymazanie celého reťazca možné pomocou kľúčového slova del. Ďalej, ak sa pokúsime vytlačiť reťazec, spôsobí to chybu, pretože reťazec sa vymaže a nie je možné ho vytlačiť.
Python # 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é sekvenovanie v Pythone
Pri tlači reťazcov s jednoduchými a dvojitými úvodzovkami v ňom spôsobuje Chyba syntaxe pretože String už obsahuje jednoduché a dvojité úvodzovky, a preto ho nemožno vytlačiť pomocou žiadnej z nich. Preto sa na tlač takéhoto reťazca použijú buď Triple Quotes alebo Escape sekvencie na tlač Stringov.
Únikové sekvencie začínajú spätnou lomkou a možno ich interpretovať rôzne. Ak sa na vyjadrenie reťazca používajú jednoduché úvodzovky, potom musia byť všetky jednoduché úvodzovky prítomné v reťazci escapované a to isté sa robí aj pre dvojité úvodzovky.
Python # 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ýkon:
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>
Príklad:
Ak chcete ignorovať únikové sekvencie v reťazci, r alebo R sa používa, to znamená, že reťazec je nespracovaný reťazec a sekvencie escape v ňom sa majú ignorovať.
Python # 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ýkon:
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átovanie reťazca Python
Reťazce v Pythone alebo dátový typ reťazca v Pythone je možné formátovať pomocou formát() metóda, ktorá je veľmi všestranným a výkonným nástrojom na formátovanie reťazcov. Metóda Formát v reťazci obsahuje zložené zátvorky {} ako zástupné symboly, ktoré môžu obsahovať argumenty podľa pozície alebo kľúčového slova na určenie poradia.
Príklad 1: V tomto príklade deklarujeme reťazec, ktorý obsahuje zložené zátvorky {}, ktoré fungujú ako zástupné symboly, a poskytneme im hodnoty, aby sme videli, ako záleží na pozícii deklarácie reťazca.
Python # 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ýkon:
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>
Príklad 2: Celé čísla ako binárne, hexadecimálne atď. a pohyblivé čísla možno zaokrúhliť alebo zobraziť vo forme exponentov pomocou špecifikátorov formátu.
Python # 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ýkon:
Binary representation of 16 is 10000 Exponent representation of 165.6458 is 1.656458e+02 one-sixth is : 0.17>
Príklad 3: V dátovom type String v Pythone môže byť reťazec zarovnaný doľava, doprava alebo na stred s použitím špecifikátorov formátu, oddelených dvojbodkou (:). () znamená, že reťazec by mal byť zarovnaný doprava a (^) znamená, že reťazec by mal byť zarovnaný na stred. Môžeme určiť aj dĺžku, v akej sa má zarovnať. Napríklad (<10) znamená, že reťazec by mal byť zarovnaný doľava v rámci poľa so šírkou 10 znakov.
Python # String alignment String1 = '|{:<10}|{:^10}|{:>10}|'.format('Geeks', 'for', 'Geeks') print('
Zarovnanie vľavo, na stred a vpravo s formátovaním: ') print(String1) # Na ukážku zarovnanie medzier String1 = '
{0:^16} bol založený v roku {1:<4}!'.format('techcodeview.com', 2009) print(String1)> Výkon:
Left, center and right alignment with Formatting: |Geeks | for | Geeks| techcodeview.com was founded in 2009 !>
Príklad 4: Formátovanie starého štýlu bolo vykonané bez použitia metódy formátovania pomocou a % operátor
Python # 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ýkon:
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é čítanie - Strunové metódy
Užitočné operácie s reťazcom Pythonu
- Logické operátory na reťazci
- Formátovanie reťazca pomocou %
- Trieda šablóny reťazca
- Rozdeľte reťazec
- Python Docstrings
- Krájanie struny
- Nájdite všetky duplicitné znaky v reťazci
- Obrátený reťazec v Pythone (5 rôznych spôsobov)
- Program Python na kontrolu, či je reťazec palindróm alebo nie
Konštanty reťazca Python
Vstavaná funkcia | Popis |
|---|---|
| string.ascii_letters | Reťazenie konštánt ascii_lowercase a ascii_uppercase. |
| string.ascii_malé písmená | Reťazenie malých písmen |
| reťazec.ascii_veľké písmená | Reťazenie veľkých písmen |
| reťazec.číslice | Číslo v reťazcoch |
| reťazec.hexčíslice | Hexačíslo v reťazcoch |
reťazec.písmená | zreťazenie reťazcov malé a veľké písmená |
reťazec.malé písmená | Reťazec musí obsahovať malé písmená. |
reťazec.osemčíslice | Osemčíslica v reťazci |
reťazec.interpunkcia | Znaky ASCII s interpunkčnými znakmi. |
reťazec.tlačiteľný | Reťazec znakov, ktoré je možné vytlačiť |
| String.endswith() | Vráti hodnotu True, ak reťazec končí danou príponou, inak vráti hodnotu False |
| String.startswith() | Vráti hodnotu True, ak reťazec začína danou predponou, inak vráti hodnotu False |
| String.isdigit() | Vráti hodnotu True, ak sú všetky znaky v reťazci číslice. V opačnom prípade vráti hodnotu False. |
| String.isalpha() | Vráti hodnotu True, ak sú všetky znaky v reťazci abecedy, v opačnom prípade vráti hodnotu False. |
| string.isdecimal() | Vráti hodnotu true, ak sú všetky znaky v reťazci desiatkové. |
| str.format() | jedna z metód formátovania reťazcov v Pythone3, ktorá umožňuje viaceré substitúcie a formátovanie hodnôt. |
| String.index | Vráti polohu prvého výskytu podreťazca v reťazci |
reťazec.veľké písmená | Reťazec musí obsahovať veľké písmená. |
| reťazec.medzera | Reťazec obsahujúci všetky znaky, ktoré sa považujú za medzery. |
| string.swapcase() | Metóda prevedie všetky veľké písmená na malé a naopak z daného reťazca a vráti ho |
| nahradiť () | vráti kópiu reťazca, kde sú všetky výskyty podreťazca nahradené iným podreťazcom. |
Zastarané funkcie reťazcov
Vstavaná funkcia | Popis |
|---|---|
| reťazec.Idecimálny | Vráti hodnotu true, ak sú všetky znaky v reťazci desiatkové |
| String.Isalnum | Vráti hodnotu true, ak sú všetky znaky v danom reťazci alfanumerické. |
| string.Istitle | Vráti hodnotu True, ak je reťazec reťazcom s malými písmenami v názve |
| String.partition | rozdelí reťazec pri prvom výskyte oddeľovača a vráti n-ticu. |
| String.Identifikátor | Skontrolujte, či je reťazec platným identifikátorom alebo nie. |
| String.len | Vráti dĺžku reťazca. |
| String.rindex | Ak sa nájde podreťazec, vráti najvyšší index podreťazca v reťazci. |
| Reťazec.Max | Vráti najvyšší abecedný znak v reťazci. |
| Reťazec.min | Vráti minimálny počet abecedných znakov v reťazci. 10 z 10 |
| String.splitlines | Vráti zoznam riadkov v reťazci. |
| reťazec.veľké písmená | Vráti slovo s veľkým prvým znakom. |
| string.expandtabs | Rozbaľte tabulátory v reťazci a nahraďte ich jednou alebo viacerými medzerami |
| reťazec.nájsť | Vráti podreťazec s najnižším indexovaním. |
| reťazec.nájsť | nájsť najvyšší index. |
| reťazec.počet | Vráti počet (neprekrývajúcich sa) výskytov podreťazca sub v reťazci |
| šnúrka.spodná | Vráti kópiu s, ale s veľkými písmenami, písmenami skonvertovanými na malé. |
| reťazec.rozdeliť | Vráti zoznam slov reťazca, ak chýba voliteľný druhý argument sep alebo Žiadny |
| Python Docstrings |