logo

Pythonský řetězec

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?

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í řetězců Python

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

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
  • Permutace daného řetězce pomocí vestavěné funkce
  • Najděte frekvenci každého slova v řetězci v Pythonu
  • Program pro přijímání řetězců, které obsahují všechny samohlásky
  • Spočítejte počet odpovídajících znaků v páru řetězce
  • Spočítejte všechny prefixy v daném řetězci s největší frekvencí
  • Program pro kontrolu, zda řetězec obsahuje nějaký speciální znak
  • Generování náhodných řetězců, dokud není vygenerován daný řetězec
  • Python program pro počítání velkých a malých písmen bez použití vestavěných funkcí