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?
- Luo merkkijono Pythonissa
- Python-merkkijonon merkkien käyttäminen
- Merkkijonojen viipalointi
- Python-merkkijono käännetty
- Poistaminen/päivitys merkkijonosta
- Escape-sekvensointi Pythonissa
- Python-merkkijonojen muotoilu
- Hyödyllisiä Python-merkkijonotoimintoja
- Python-merkkijonovakiot
- Vanhentuneet merkkijonofunktiot
- Python Stringin usein kysytyt kysymykset
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 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 - komentoPython
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
- Loogiset operaattorit merkkijonolla
- Merkkijonojen muotoilu käyttämällä %
- Merkkijonomalliluokka
- Jaa merkkijono
- Python Docstrings
- String viipalointi
- Etsi kaikki päällekkäiset merkit merkkijonosta
- Käänteinen merkkijono Pythonissa (5 eri tapaa)
- Python-ohjelma tarkistaa, onko merkkijono palindromi vai ei
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 |