logo

Python String

Un șir este o structură de date din programarea Python care reprezintă o secvență de caractere. Este un tip de date imuabil, ceea ce înseamnă că odată ce ați creat un șir, nu îl puteți modifica. Python String este utilizat pe scară largă în multe aplicații diferite, cum ar fi stocarea și manipularea datelor text, reprezentând nume, adrese și alte tipuri de date care pot fi reprezentate ca text.

Cuprins

Ce este un șir în Python?

Piton Programarea nu are un tip de date caracter, un singur caracter este pur și simplu un șir cu lungimea de 1. Să vedem Sintaxa șirurilor Python :



Sintaxa tipului de date șir în Python

string_variable = 'Hello, world!'>

Exemplu de tip de date șir în Python

Piton
string_0 = 'A Computer Science portal for geeks' print(string_0) print(type(string_0))>

Ieșire:

A Computer Science portal for geeks>

Creați un șir în Python

Șiruri în Python poate fi creat folosind ghilimele simple sau ghilimele duble sau chiar ghilimele triple. Să vedem cum putem defini un șir în Python sau cum să scriem șir în Python.

Exemplu:

În acest exemplu, vom demonstra diferite moduri de a crea un șir Python. Vom crea un șir folosind ghilimele simple (‘ ‘), ghilimele duble ( ) și ghilimele duble triple ( ). Ghilimelele triple pot fi folosite pentru a declara șiruri de caractere cu mai multe linii în Python.

Piton
# 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)>

Ieșire:

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>

Accesarea caracterelor în Python String

În tutorialele de programare Python, caracterele individuale ale unui șir pot fi accesate folosind metoda de indexare. Indexarea permite referințelor de adrese negative pentru a accesa caracterele din spatele șirului, de ex. -1 se referă la ultimul caracter, -2 se referă la ultimul caracter și așa mai departe.

În timp ce accesarea unui index în afara intervalului va provoca un IndexError . Numai numerele întregi pot fi transmise ca index, float sau alte tipuri care vor cauza a Eroare de scris .

Python String de indexare

Indexare sintaxă Python String

Python String Positive Indexing

În acest exemplu, vom defini un șir în Python Programming și vom accesa caracterele acestuia folosind indexarea pozitivă. Al 0-lea element va fi primul caracter al șirului.

Piton
String1 = 'GeeksForGeeks' print('Initial String: ', String1) # Printing First character print('First character of String is: ', String1[0])>

Ieșire:

Initial String: GeeksForGeeks First character of String is: G>

Python String Indexare negativă

În acest exemplu, vom accesa caracterele sale folosind indexarea negativă. Elementul -3 este ultimul caracter al șirului.

Piton
String1 = 'GeeksForGeeks' print('Initial String: ', String1) # Printing Last character print('Last character of String is: ', String1[-3])>

Ieșire

Initial String: GeeksForGeeks Last character of String is: e>

String Slicing Python

În tutorialele de programare Python, Tăierea șirurilor metoda este utilizată pentru a accesa o serie de caractere din String. Tăierea într-un șir se face folosind un operator Slicing, adică două puncte (:). Un lucru de reținut atunci când utilizați această metodă este că șirul returnat după tăiere include caracterul de la indexul de început, dar nu și caracterul de la ultimul index.

În acest exemplu, vom folosi metoda string-slicing pentru a extrage un subșir al șirului original. [3:12] indică faptul că tăierea șirului va începe de la al 3-lea index al șirului până la al 12-lea index (al 12-lea caracter neincluzând). De asemenea, putem folosi indexarea negativă în tăierea șirurilor.

Piton
# 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])>

Ieșire:

Initial String: GeeksForGeeks Slicing characters from 3-12: ksForGeek Slicing characters between 3rd and 2nd last character: ksForGee>

Șirul Python inversat

În tutorialele de programare Python, prin accesarea caracterelor dintr-un șir, putem, de asemenea șiruri inverse în Python Programare. Putem inversa un șir folosind metoda String slicing.

În acest exemplu, vom inversa un șir accesând index. Nu am specificat primele două părți ale feliei, indicând că luăm în considerare întregul șir, de la indexul de început până la ultimul indice.

Piton
#Program to reverse a string gfg = 'geeksforgeeks' print(gfg[::-1])>

Ieșire:

skeegrofskeeg>

Funcție inversă BuildIn în Python

De asemenea, putem inversa un șir folosind încorporat a te alatura și inversat funcții și transmiterea șirului de caractere ca parametru la funcția inversă().

Piton
# Program to reverse a string gfg = 'geeksforgeeks' # Reverse the string using reversed and join function gfg = ''.join(reversed(gfg)) print(gfg)>

Ieșire:

skeegrofskeeg>

Ștergerea/Actualizarea dintr-un șir

În Python, actualizarea sau ștergerea caracterelor dintr-un șir nu este permisă. Acest lucru va cauza o eroare deoarece atribuirea sau ștergerea elementului dintr-un șir nu este acceptată. Deși ștergerea întregului șir este posibilă cu utilizarea unui cuvânt cheie del încorporat. Acest lucru se datorează faptului că șirurile sunt imuabile, prin urmare elementele unui șir nu pot fi modificate odată ce au fost atribuite. Numai șirurile noi pot fi reatribuite cu același nume.

Actualizarea unui personaj

Un caracter al unui șir poate fi actualizat în Python prin conversia mai întâi a șirului în a Lista Python și apoi actualizarea elementului din listă. Deoarece listele sunt modificabile în natură, putem actualiza caracterul și apoi convertim lista înapoi în șir.

O altă metodă este utilizarea metodei string slicing. Tăiați șirul înainte de caracterul pe care doriți să îl actualizați, apoi adăugați noul caracter și, în final, adăugați din nou cealaltă parte a șirului prin tăierea șirului.

Exemplu:

În acest exemplu, folosim atât metoda listă, cât și metoda string slicing pentru a actualiza un caracter. Am convertit String1 într-o listă, i-am schimbat valoarea la un anumit element și apoi l-am convertit înapoi într-un șir folosind Python string join() metodă.

încercați să prindeți în java

În metoda string-slicing, am tăiat șirul până la caracterul pe care vrem să-l actualizăm, am concatenat noul caracter și, în final, am concatenat partea rămasă a șirului.

Piton
# 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)>

Ieșire:

Initial String: Hello, I'm a Geek Updating character at 2nd Index: Heplo, I'm a Geek Heplo, I'm a Geek>

Se actualizează întregul șir

În programarea Python, deoarece șirurile Python sunt imuabile în natură, nu putem actualiza șirul existent. Putem atribui doar o valoare complet nouă variabilei cu același nume.

Exemplu: În acest exemplu, mai întâi atribuim o valoare lui „Șir1” și apoi am actualizat-o prin alocarea unei valori complet diferite. Pur și simplu i-am schimbat referința.

Piton
# 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)>

Ieșire:

Initial String: Hello, I'm a Geek Updated String: Welcome to the Geek World>

Ștergerea unui caracter

Șirurile Python sunt imuabile, ceea ce înseamnă că nu putem șterge un caracter din el. Când încercăm să ștergem caracterul folosind al cuvânt cheie, va genera o eroare.

Piton
# 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)>

Ieșire:

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>

Dar folosind slicing putem elimina caracterul din șirul original și stocăm rezultatul într-un șir nou.

Exemplu: În acest exemplu, mai întâi vom tăia șirul până la caracterul pe care dorim să-l ștergem și apoi vom concatena șirul rămas alături de caracterul șters.

Piton
# 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)>

Ieșire:

Initial String: Hello, I'm a Geek Deleting character at 2nd Index: Helo, I'm a Geek>

Ștergerea întregului șir

În programarea Python, ștergerea întregului șir este posibilă cu utilizarea cuvântului cheie del. În plus, dacă încercăm să tipărim șirul, aceasta va produce o eroare, deoarece șirul este șters și nu poate fi imprimat.

Piton
# 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)>

Eroare:

Traceback (most recent call last): File '/home/e4b8f2170f140da99d2fe57d9d8c6a94.py', line 12, in print(String1) NameError: name 'String1' is not defined>

Escape Sequencing în Python

În timp ce imprimați șiruri de caractere cu ghilimele simple și duble în el cauze Eroare de sintaxă deoarece String conține deja ghilimele simple și duble și, prin urmare, nu poate fi tipărit folosind niciuna dintre acestea. Prin urmare, pentru a imprima un astfel de șir, fie se folosesc ghilimele triple, fie se folosesc secvențe de evacuare pentru a imprima șirurile.

Secvențele de evacuare încep cu o bară oblică inversă și pot fi interpretate diferit. Dacă ghilimele simple sunt folosite pentru a reprezenta un șir, atunci toate ghilimelele simple prezente în șir trebuie să fie eliminate și același lucru se procedează pentru ghilimele duble.

Piton
# 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)>

Ieșire:

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>

Exemplu:

Pentru a ignora secvențele de evacuare dintr-un șir, r sau R este utilizat, acest lucru implică faptul că șirul este un șir brut și secvențele de evadare din interiorul acestuia trebuie ignorate.

Piton
# 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)>

Ieșire:

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>

Formatarea șirurilor Python

Șirurile în Python sau tipul de date șir în Python pot fi formatate folosind format() metodă care este un instrument foarte versatil și puternic pentru formatarea șirurilor. Metoda de format din String conține acolade {} ca substituenți care pot conține argumente în funcție de poziție sau cuvânt cheie pentru a specifica ordinea.

Exemplul 1: În acest exemplu, vom declara un șir care conține acolade {} care acționează ca substituenți și le vom oferi valori pentru a vedea cât de importantă este poziția declarației șirului.

Piton
# 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)>

Ieșire:

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>

Exemplul 2: Numerele întregi, cum ar fi binare, hexazecimale, etc. și flotanți pot fi rotunjite sau afișate sub formă de exponent cu ajutorul specificatorilor de format.

Piton
# 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)>

Ieșire:

Binary representation of 16 is 10000 Exponent representation of 165.6458 is 1.656458e+02 one-sixth is : 0.17>

Exemplul 3: În tipul de date String în Python , Un șir poate fi aliniat la stânga, la dreapta sau la centru cu utilizarea specificatorilor de format, separate prin două puncte (:). () indică faptul că șirul trebuie aliniat la dreapta și (^) indică faptul că șirul trebuie aliniat la centru. De asemenea, putem specifica lungimea în care ar trebui să fie aliniată. De exemplu, (<10) înseamnă că șirul trebuie aliniat la stânga într-un câmp cu lățimea de 10 caractere.

Piton
# String alignment String1 = '|{:<10}|{:^10}|{:>10}|'.format('Geeks', 'for', 'Geeks') print('
Alinierea la stânga, la centru și la dreapta cu Formatare: ') print(String1) # Pentru a demonstra alinierea spațiilor String1 = '
{0:^16} a fost fondată în {1:<4}!'.format('techcodeview.com', 2009) print(String1)>

Ieșire:

Left, center and right alignment with Formatting: |Geeks | for | Geeks| techcodeview.com was founded in 2009 !>

Exemplul 4: Formatarea în stil vechi a fost făcută fără utilizarea metodei de formatare prin utilizarea cel % operator

Piton
# 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)>

Ieșire:

Formatting in 3.2f format: The value of Integer1 is 12.35 Formatting in 3.4f format: The value of Integer1 is 12.3457>

Citiri similare – Metode cu șiruri

Operații utile Python cu șiruri

Constante Python String

Funcție încorporată

Descriere

string.ascii_litere

Concatenarea constantelor ascii_lowercase și ascii_uppercase.

string.ascii_minuscule

Concatenarea literelor mici

string.ascii_majuscule

Concatenarea literelor mari

șir.cifre

Cifra în șiruri

șir.cifre hexadecimale

Hexadigit în șiruri

şir.litere

concatenarea șirurilor litere mici și majuscule

şir.minuscule

Un șir trebuie să conțină litere mici.

șir.octdigits

Octodigit într-un șir

șir.punctuație

Caractere ASCII având caractere de punctuație.

şir.printabile

Șir de caractere care sunt imprimabile

String.endswith()

Returnează True dacă un șir se termină cu sufixul dat, altfel returnează False

String.startswith()

Returnează True dacă un șir începe cu prefixul dat, altfel returnează False

String.isdigit()

Returnează True dacă toate caracterele din șir sunt cifre, În caz contrar, returnează False.

String.isalpha()

Returnează True dacă toate caracterele din șir sunt alfabete, În caz contrar, returnează False.

string.isdecimal()

Returnează adevărat dacă toate caracterele dintr-un șir sunt zecimale.

str.format()

una dintre metodele de formatare a șirurilor din Python3, care permite substituții multiple și formatarea valorilor.

String.index

Returnează poziția primei apariții a subșirului dintr-un șir

șir.majuscule

Un șir trebuie să conțină litere mari.

șir.spațiu alb

Un șir care conține toate caracterele care sunt considerate spații albe.

string.swapcase()

Metoda convertește toate caracterele majuscule în litere mici și invers ale șirului dat și îl returnează

a inlocui()

returnează o copie a șirului în care toate aparițiile unui subșir sunt înlocuite cu un alt subșir.

Funcții șir depreciate

Funcție încorporată

Descriere

șir.Isdecimal

Returnează adevărat dacă toate caracterele dintr-un șir sunt zecimale

String.Isalnum

Returnează adevărat dacă toate caracterele dintr-un șir dat sunt alfanumerice.

şir.Istitle

Returnează True dacă șirul este un șir cu majuscule și minuscule

Şir.partiţie

desparte șirul la prima apariție a separatorului și returnează un tuplu.

String.Isidentifier

Verificați dacă un șir este un identificator valid sau nu.

String.len

Returnează lungimea șirului.

String.rindex

Returnează cel mai înalt indice al subșirului din interiorul șirului dacă este găsit subșir.

String.Max

Returnează cel mai mare caracter alfabetic dintr-un șir.

String.min

Returnează caracterul alfabetic minim dintr-un șir.

modele de design java
String.splitlines

Returnează o listă de linii din șir.

șir.majusculă

Returnează un cuvânt cu primul caracter scris cu majuscule.

string.expandtabs

Extindeți filele într-un șir, înlocuindu-le cu unul sau mai multe spații

șir.găsește

Returnează cea mai mică indexare a unui sub șir.

string.rfind

găsiți cel mai mare indice.

şir.număr

Returnează numărul de apariții (nesuprapuse) ale subșirului sub în șir

sfoară.jos

Returnați o copie a lui s, dar cu majuscule, litere convertite în minuscule.

sfoară.despicat

Returnează o listă cu cuvintele șirului, dacă al doilea argument opțional sep este absent sau Nici unul

Python Docstrings
  • Permutarea unui șir dat folosind funcția încorporată
  • Găsiți frecvența fiecărui cuvânt dintr-un șir în Python
  • Program de acceptare a șirurilor care conține toate vocalele
  • Numărați numărul de caractere potrivite dintr-o pereche de șir
  • Numărați toate prefixele din șirul dat cu cea mai mare frecvență
  • Program pentru a verifica dacă un șir conține vreun caracter special
  • Generarea de șiruri aleatorii până când este generat un șir dat
  • Program Python pentru a număra caracterele mari și mici fără a utiliza funcțiile încorporate