logo

Python-merkkijono

Merkkijono on Python-ohjelmoinnin tietorakenne, joka edustaa merkkijonoa. Se on muuttumaton tietotyyppi, mikä tarkoittaa, että kun olet luonut merkkijonon, et voi muuttaa sitä. Python-merkkijonoa käytetään laajalti monissa eri sovelluksissa, kuten tekstitietojen tallentamisessa ja käsittelyssä, nimien, osoitteiden ja muun tyyppisten tietojen edustamisessa, jotka voidaan esittää tekstinä.

Sisällysluettelo

Mikä on merkkijono Pythonissa?

Python Ohjelmoinnissa ei ole merkkitietotyyppiä, yksi merkki on yksinkertaisesti merkkijono, jonka pituus on 1. Katsotaanpa Python-merkkijonosyntaksi :



Merkkijonotietotyypin syntaksi Pythonissa

string_variable = 'Hello, world!'>

Esimerkki merkkijonotietotyypistä Pythonissa

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

Lähtö:

A Computer Science portal for geeks>

Luo merkkijono Pythonissa

Jouset Pythonissa voidaan luoda käyttämällä yksittäisiä lainausmerkkejä tai kaksoislainausmerkkejä tai jopa kolminkertaisia ​​lainausmerkkejä. Katsotaanpa, kuinka voimme määrittää merkkijonon Pythonissa tai kuinka kirjoittaa merkkijono Pythonissa.

Esimerkki:

Tässä esimerkissä esittelemme erilaisia ​​tapoja luoda Python-merkkijono. Luomme merkkijonon käyttämällä yksittäisiä lainausmerkkejä (’’), kaksoislainausmerkkejä ( ) ja kolminkertaisia ​​lainausmerkkejä ( ). Kolminkertaisia ​​lainausmerkkejä voidaan käyttää monirivisten merkkijonojen ilmoittamiseen Pythonissa.

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

Lähtö:

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>

Python-merkkijonon merkkien käyttäminen

Python-ohjelmoinnin opetusohjelmissa merkkijonon yksittäisiä merkkejä voidaan käyttää Indeksointimenetelmällä. Indeksointi mahdollistaa negatiivisten osoitteiden viittausten pääsyn merkkijonon takaa oleviin merkkeihin, esim. -1 viittaa viimeiseen merkkiin, -2 viittaa toiseksi viimeiseen merkkiin ja niin edelleen.

Kun haetaan hakemistoa alueen ulkopuolelta, se aiheuttaa IndexError . Vain kokonaislukuja saa välittää indeksinä, kellukkeena tai muuna tyyppinä, joka aiheuttaa a Tyyppivirhe .

Python-merkkijonojen indeksointi

Python String -syntaksin indeksointi

Python-merkkijonon positiivinen indeksointi

Tässä esimerkissä määrittelemme Python-ohjelmoinnin merkkijonon ja käytämme sen merkkejä käyttämällä positiivista indeksointia. 0. elementti on merkkijonon ensimmäinen merkki.

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

Lähtö:

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

Python-merkkijonon negatiivinen indeksointi

Tässä esimerkissä käytämme sen merkkejä negatiivisen indeksoinnin avulla. -3. elementti on merkkijonon kolmas viimeinen merkki.

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

Lähtö

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

Python-merkkijonojen viipalointi

Python-ohjelmoinnin opetusohjelmissa Merkkijonojen viipalointi -menetelmää käytetään merkkijonon useiden merkkien käyttämiseen. Merkkijonon viipalointi tehdään käyttämällä viipalointi-operaattoria, eli kaksoispistettä (:). Yksi asia, joka on pidettävä mielessä tätä menetelmää käytettäessä, on, että viipaloinnin jälkeen palautettu merkkijono sisältää alkuindeksin merkin, mutta ei viimeisen indeksin merkkiä.

Tässä esimerkissä käytämme merkkijono-leikkausmenetelmää poimimaan alkuperäisen merkkijonon alimerkkijono. [3:12] osoittaa, että merkkijonon leikkaus alkaa merkkijonon 3. indeksistä 12. indeksiin (12. merkki ei sisällä). Voimme myös käyttää negatiivista indeksointia merkkijonojen leikkaamisessa.

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

Lähtö:

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

Python-merkkijono käännetty

Python-ohjelmoinnin opetusohjelmissa saamme myös pääsyn merkkijonoon käänteiset merkkijonot Pythonissa Ohjelmointi. Voimme kääntää merkkijonon käyttämällä merkkijonoviipalointimenetelmää.

Tässä esimerkissä käännämme merkkijonon avaamalla hakemiston. Emme määrittäneet viipaleen kahta ensimmäistä osaa, mikä osoittaa, että tarkastelemme koko merkkijonoa aloitusindeksistä viimeiseen indeksiin.

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

Lähtö:

skeegrofskeeg>

Sisäänrakennettu käänteinen funktio Pythonissa

Voimme myös kääntää merkkijonon käyttämällä sisäänrakennettua liittyä seuraan ja päinvastainen funktiot, ja välitetään merkkijono parametrina reverse()-funktiolle.

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

Lähtö:

skeegrofskeeg>

Poistaminen/päivitys merkkijonosta

Pythonissa merkkien päivittäminen tai poistaminen merkkijonosta ei ole sallittua. Tämä aiheuttaa virheen, koska nimikkeiden määrittämistä tai poistamista merkkijonosta ei tueta. Vaikka koko merkkijonon poistaminen on mahdollista sisäänrakennetun del-avainsanan avulla. Tämä johtuu siitä, että merkkijonot ovat muuttumattomia, joten merkkijonon elementtejä ei voi muuttaa kerran määritettynä. Vain uudet merkkijonot voidaan määrittää uudelleen samalle nimelle.

Hahmon päivittäminen

Merkkijonon merkki voidaan päivittää Pythonissa muuntamalla ensin merkkijono a:ksi Python-lista ja päivittää sitten luettelon elementti. Koska luettelot ovat luonteeltaan muuttuvia, voimme päivittää merkin ja sitten muuntaa luettelon takaisin merkkijonoksi.

Toinen tapa on käyttää merkkijono viipalointimenetelmää. Leikkaa merkkijono ennen päivitettävää merkkiä, lisää sitten uusi merkki ja lisää lopuksi merkkijonon toinen osa uudelleen merkkijonoa leikkaamalla.

Esimerkki:

Tässä esimerkissä käytämme sekä luetteloa että merkkijonojen viipalointimenetelmää merkin päivittämiseen. Muunsimme merkkijonon1 luetteloksi, muutimme sen arvoa tietyssä elementissä ja muunsimme sen sitten takaisin merkkijonoksi Pythonilla string join() menetelmä.

Merkkijono-leikkausmenetelmässä viipaloimme merkkijonon päivitettävään merkkiin, ketjutimme uuden merkin ja lopuksi ketjutimme merkkijonon jäljellä olevan osan.

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

Lähtö:

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

Päivitetään koko merkkijonoa

Python-ohjelmoinnissa Python-merkkijonot ovat luonteeltaan muuttumattomia, emme voi päivittää olemassa olevaa merkkijonoa. Voimme vain antaa täysin uuden arvon samannimiselle muuttujalle.

Esimerkki: Tässä esimerkissä määritimme ensin arvon merkkijono1:lle ja sitten päivitimme sen antamalla sille täysin erilaisen arvon. Muutimme sen viittauksen.

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

Lähtö:

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

Hahmon poistaminen

Python-merkkijonot ovat muuttumattomia, mikä tarkoittaa, että emme voi poistaa merkkiä siitä. Kun yritämme poistaa merkin käyttämällä -lta avainsana, se tuottaa virheen.

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

Lähtö:

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>

Mutta käyttämällä viipalointia voimme poistaa merkin alkuperäisestä merkkijonosta ja tallentaa tuloksen uuteen merkkijonoon.

Esimerkki: Tässä esimerkissä leikkaamme ensin merkkijonon poistettavan merkin kohdalle ja yhdistämme sitten jäljellä olevan merkkijonon poistetun merkin seuraavaksi.

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

Lähtö:

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

Koko merkkijonon poistaminen

Python-ohjelmoinnissa koko merkkijonon poistaminen on mahdollista del-avainsanalla. Lisäksi, jos yritämme tulostaa merkkijonon, tämä aiheuttaa virheen, koska merkkijono on poistettu eikä sitä voida tulostaa.

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

Virhe:

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

Escape-sekvensointi Pythonissa

Kun tulostetaan merkkijonoja, joissa on yksi- ja kaksoislainausmerkkejä, se aiheuttaa Syntaksivirhe koska String sisältää jo yksittäis- ja kaksoislainausmerkit, joten sitä ei voida tulostaa käyttämällä kumpaakaan näistä. Tästä syystä tällaisen merkkijonon tulostamiseen käytetään joko Triple Quotes -merkkejä tai Escape-sarjoja käytetään merkkijonojen tulostamiseen.

Pakojaksot alkavat kenoviivalla ja ne voidaan tulkita eri tavalla. Jos yksittäisiä lainausmerkkejä käytetään edustamaan merkkijonoa, kaikki merkkijonossa olevat yksittäiset lainausmerkit on erotettava, ja sama tehdään kaksoislainausmerkeille.

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

Lähtö:

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>

Esimerkki:

Jos haluat ohittaa merkkijonon poistosekvenssit, r tai R on käytetty, tämä tarkoittaa, että merkkijono on raakamerkkijono ja sen sisällä olevat pakokoodit tulee jättää huomiotta.

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

Lähtö:

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>

Python-merkkijonojen muotoilu

Pythonissa merkkijonot tai Pythonissa merkkijonotietotyypit voidaan muotoilla käyttämällä muoto() menetelmä, joka on erittäin monipuolinen ja tehokas työkalu merkkijonojen muotoiluun. Muotoilumenetelmä Stringissa sisältää kiharat aaltosulut {} paikkamerkkinä, jotka voivat sisältää argumentteja sijainnin tai avainsanan mukaan järjestyksen määrittämiseksi.

Esimerkki 1: Tässä esimerkissä ilmoitamme merkkijonon, joka sisältää kiharat aaltosulut {}, jotka toimivat paikkamerkkinä, ja annamme niille arvot nähdäksemme, kuinka merkkijonoilmoituksen sijainnilla on merkitystä.

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

Lähtö:

jquery napsautuksella
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>

Esimerkki 2: Kokonaisluvut, kuten binääri-, heksadesimaaliluku jne., ja kellukkeet voidaan pyöristää tai näyttää eksponenttimuodossa muotomääritteiden avulla.

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

Lähtö:

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

Esimerkki 3: Pythonin merkkijonotietotyypissä merkkijono voidaan tasata vasemmalle, oikealle tai keskelle muotomääritteiden avulla erotettuna kaksoispisteellä (:). () osoittaa, että merkkijono on kohdistettava oikealle ja (^) osoittaa, että merkkijono on kohdistettava keskelle. Voimme myös määrittää pituuden, johon se on kohdistettava. Esimerkiksi (<10) tarkoittaa, että merkkijono tulee tasata vasemmalle 10 merkin leveyden sisällä.

Python
# String alignment String1 = '|{:<10}|{:^10}|{:>10}|'.format('Geeks', 'for', 'Geeks') print('
Vasen, keski ja oikea tasaus muotoilulla: ') print(String1) # Esittely välilyöntien tasaus String1 = '
{0:^16} perustettiin {1:<4}!'.format('techcodeview.com', 2009) print(String1)>

Lähtö:

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

Esimerkki 4: Vanhan tyylin muotoilu tehtiin ilman muotoilumenetelmän käyttöä käyttämällä the % operaattori

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

Lähtö:

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

Samanlaisia ​​lukemia - Merkkijonomenetelmät

Hyödyllisiä Python-merkkijonotoimintoja

Python-merkkijonovakiot

Sisäänrakennettu toiminto

Kuvaus

string.ascii_letters

Ascii_lowercase- ja ascii_uppercase-vakioiden ketjutus.

string.ascii_lowercase

Pienten kirjainten ketjuttaminen

string.ascii_uppercase

Isojen kirjainten ketjuttaminen

merkkijono.numerot

Numero merkkijonoissa

string.hexdigits

Kuusinumeroinen merkkijonoina

merkkijono.kirjaimet

merkkijonojen pienten ja isojen kirjainten ketjuttaminen

merkkijono.pienet kirjaimet

Merkkijonon tulee sisältää pieniä kirjaimia.

string.octdigits

Kahdeksannumeroinen merkkijono

merkkijono.välimerkit

ASCII-merkit, joissa on välimerkkejä.

string.printable

Merkkijono, jotka ovat tulostettavissa

String.endswith()

Palauttaa True, jos merkkijono päättyy annettuun loppuliitteeseen, muuten palauttaa False

String.startswith()

Palauttaa True, jos merkkijono alkaa annetulla etuliitteellä, muuten palauttaa False

String.isdigit()

Palauttaa True, jos kaikki merkkijonon merkit ovat numeroita, muussa tapauksessa se palauttaa arvon False.

String.isalpha()

Palauttaa True, jos kaikki merkkijonon merkit ovat aakkosia, muussa tapauksessa se palauttaa False.

string.isdecimal()

Palauttaa tosi, jos kaikki merkkijonon merkit ovat desimaalilukuja.

str.format()

yksi Python3:n merkkijonomuotoilumenetelmistä, joka mahdollistaa useiden korvausten ja arvojen muotoilun.

String.index

Palauttaa alimerkkijonon ensimmäisen esiintymän sijainnin merkkijonossa

np std

merkkijono.isot kirjaimet

Merkkijonon tulee sisältää isoja kirjaimia.

string.whitespace

Merkkijono, joka sisältää kaikki merkit, joita pidetään välilyönneinä.

string.swapcase()

Menetelmä muuntaa kaikki isot merkit pieniksi ja päinvastoin annetun merkkijonon kanssa ja palauttaa sen

korvata()

palauttaa kopion merkkijonosta, jossa kaikki osamerkkijonon esiintymät korvataan toisella osamerkkijonolla.

Vanhentuneet merkkijonofunktiot

Sisäänrakennettu toiminto

Kuvaus

merkkijono.Isdesimaali

Palauttaa tosi, jos kaikki merkkijonon merkit ovat desimaalilukuja

String.Isalnum

Palauttaa tosi, jos kaikki tietyn merkkijonon merkit ovat aakkosnumeerisia.

string.Istitle

Palauttaa True, jos merkkijono on otsikon kirjainkokoinen merkkijono

String.osio

jakaa merkkijonon erottimen ensimmäisen esiintymisen yhteydessä ja palauttaa monikon.

String.Identifier

Tarkista, onko merkkijono kelvollinen tunniste.

String.len

Palauttaa merkkijonon pituuden.

String.rindex

Palauttaa merkkijonon sisällä olevan alimerkkijonon korkeimman indeksin, jos alimerkkijono löytyy.

String.Max

Palauttaa merkkijonon suurimman aakkosjärjestyksen.

String.min

Palauttaa merkkijonon vähimmäisaakkosmerkin.

String.splitlines

Palauttaa luettelon merkkijonon riveistä.

mikä tekee tietokoneesta nopean
string.capitalize

Palauttaa sanan, jonka ensimmäinen merkki on isolla kirjoitettuna.

string.expandtabs

Laajenna merkkijonon sarkaimet korvaamalla ne yhdellä tai useammalla välilyönnillä

string.find

Palauttaa alimerkkijonon alimman indeksoinnin.

string.rfind

löytää korkein indeksi.

string.count

Palauttaa alimerkkijonon (ei-päällekkäisten) esiintymisten lukumäärän merkkijonossa

string.lower

Palauta kopio s:stä, mutta isoilla kirjaimilla, kirjaimet muutettu pieniksi kirjaimille.

string.split

Palauttaa luettelon merkkijonon sanoista, jos valinnainen toinen argumentti sep puuttuu tai ei mitään

Python Docstrings
  • Tietyn merkkijonon permutaatio sisäänrakennetulla funktiolla
  • Etsi Pythonissa merkkijonon jokaisen sanan taajuus
  • Ohjelma hyväksyy kaikki vokaalit sisältävät merkkijonot
  • Laske merkkijonoparin vastaavien merkkien määrä
  • Laske kaikki tietyn merkkijonon etuliitteet suurimmalla taajuudella
  • Ohjelma tarkistaa, sisältääkö merkkijono erikoismerkkejä
  • Luodaan satunnaisia ​​merkkijonoja, kunnes tietty merkkijono on luotu
  • Python-ohjelma, joka laskee isot ja pienet kirjaimet ilman sisäänrakennettuja toimintoja