String on Pythoni üks populaarsemaid andmetüüpe. Mis tahes tekstiandmete salvestamiseks võime kasutada stringi andmetüüpi. Püütonis loetakse stringideks mis tahes märki ühe või kahe jutumärgi all. Need märgid võivad olla ükskõik millised Unicode'i tähemärgid, mida Python toetab. Selles õpetuses õpime peaaegu kõike stringide andmetüübi kohta pythonis.
Selle õpetuse järgimiseks on soovitatav oma süsteemi installida uusim pythoni versioon. Kui teie süsteemi on installitud pythoni vanem versioon, võite järgida meie Linuxi pythoni värskendamise juhendit.
Stringide loomine Pythonis
Püütonis stringi loomiseks peame märkide massiivi panema alakvootidesse. Python käsitleb nii ühe- kui ka topeltjutumärke samadena, nii et stringi loomisel võime neid kasutada ükskõik millist neist. Vaadake allpool toodud näiteid, kus loome stringi, salvestame need muutujatesse ja seejärel printime.
# stringi loomine
tervitus = "Tere maailm"
# stringi printimine
print (tervitus)
Ülaltoodud koodi käivitamisel saate väljundi Tere, Maailm.
Selles koodis oleme loonud stringi Tere, Maailmja salvestas selle muutuja nimega tervitamine. Seejärel kasutame muutujasse salvestatud stringi kuvamiseks funktsiooni Python printimine. Koodi käivitamisel saate järgmise väljundi. Samuti võime luua mitmerealise stringi, kasutades kolmekordset jutumärki allolevas näites.
var = "" "Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua."" "
print (var)
Siin on väljund.
Pythonis on stringid baitide massiivid, mis tähistavad Unicode'i märke. Kuid sellel pole ühtegi sisseehitatud andmetüüpi üksikute märkide jaoks, nagu C-s või C-s++. Iga string, mille pikkus on üks, loetakse tähemärgiks.
Stringide pikkus
Paljudes olukordades peame võib-olla arvutama stringi pikkuse. Seal on sisseehitatud funktsioon, mis saab arvutada stringi pikkuse. Funktsioon, mida kasutame, on len () funktsioon.
Selle praktilise näite nägemiseks len () funktsioon, käivitage oma Pythoni IDE-s järgmine kood.
var = "See on string"
print ("Stringi pikkus on:", len (var))
Väljund:
Samuti võime stringi pikkuse arvutamiseks kasutada python for loopi, mida selles õpetuses käsitlesin.
Näide:
var = "See on string"
arv = 0
i jaoks var:
arv = loenda + 1
print ("Stringi pikkus on:", loenda)
Väljund:
Keelpillide liitmine
Stringide liitmine on kahe stringi ühendamine või ühendamine. Kahe stringi ühendamine operaatori + abil on lihtne. Vaadakem pythonis kahe stringi ühendamise näidet.
# kahe stringi loomine
string1 = "Tere"
string2 = "Maailm"
# kahe stringi ühendamine
tervitus = string1 + string2
print (tervitus)
Ülaltoodud koodis oleme loonud kaks stringi, nimelt “Tere” ja “Maailm”, ning salvestanud need kahte muutujasse nimega string1 ja string2. Seejärel kasutasime + stringi ühendamiseks kahte stringi ja salvestasime need muutuja nimega tervitus ning kuvasime selle abil print () funktsioon.
Väljund:
Stringi kordamine
Stringi võime pythonis korrata mitu korda, kasutades operaatorit *. Näiteks stringi “Fosslinux” kaks korda printimiseks peame kirjutama järgmise koodi.
trükk ("Fosslinux" * 2)
Väljund:
Stringide vormindamine
Pythonis on stringi vormindamine vaevatu. On kolm võimalust:
1. Vana vormindamisstiil
Vana stringide vormindamise stiil tehakse operaatori% abil. Peame kasutama spetsiaalseid sümboleid nagu „% s”, „% d”, „% f”, „%.f ”. stringiga ja määrake seejärel hulk andmeid, mida soovime selles kohas vormindada. Vaatame, millised on ülaltoodud sümbolite aktsepteeritud andmed.
- % s: See aktsepteerib stringe või mis tahes muid andmeid, millel on stringi esitusviis, näiteks numbrid.
- % d:Seda kasutatakse täisarvude andmiseks stringina.
- % f:Seda kasutatakse ujukomaarvude jaoks.
- %.f: Seda kasutatakse fikseeritud täpsusega ujukomaarvude puhul.
Näiteks vaadake allolevat koodi. Koodi saate kopeerida ja käivitada oma lemmikpython IDE-s.
string1 = "See on vormindatud string täisarvuga% d"% (1)
string2 = "See on vormindatud string stringiga% s"% ("Fosslinux")
string3 = "See on vormindatud string ujukandmetega% f"% (1.01)
print (string1)
print (string2)
print (string3)
Väljund:
Nagu väljundist näeme, oleme stringid vormindanud täis-, ujuki- ja stringiandmetega. See stringi vormindamise meetod on vanim viis, kuid tänapäeval kasutatakse seda vähem.
2. Formati () meetodi kasutamine
See on Python 3-s kasutusele võetud uus stringi vormindamise tehnika. Funktsioonid format () võtavad andmed argumendina ja asendavad need stringis, kus kohatäide on kohal.
Näide:
string1 = "See on vormindatud string täisarvuga ".formaat (1)
string2 = "See on vormindatud string stringiga ".formaat ("Fosslinux")
string3 = "See on vormindatud string ujukiandmetega ".vorming (1.01)
print (string1)
print (string2)
print (string3)
print (" on suurepärane veebisait õppimiseks ja ".formaat ("FossLinux", "Linux", "Python"))
Vormindatud stringi saame väljundina ülaltoodud koodi käivitamisel, nagu on näidatud alloleval pildil.
3. f-stringid
Uusim stringi vormindamise tehnika on stringide interpoleerimine või f-stringid, mis on kasutusele võetud pythoni versioonis 3.6. Muutuja nime saame määrata otse f-stringis ja Pythoni tõlk asendab muutuja nime sellele vastava andmeväärtusega. F-stringid algavad f-tähega ja võime andmeid sisestada otse nende vastavatesse positsioonidesse. See stringi vormindamise tehnika on viimastel päevadel muutunud üsna populaarseks. Selle töötava demo nägemiseks kopeerige allolev kood ja käivitage see oma pythoni IDE-s.
string1 = f "See on vormingus string täisarvuga 1"
string2 = f "See on vormindatud string stringiga 'fosslinux'"
string3 = f "See on vormindatud string ujukiandmetega 0.01 "
print (string1)
print (string2)
print (string3)
a = "Fosslinux"
b = "Linux"
c = "Python"
print (f "a on suurepärane veebisait b ja c" õppimiseks)
Stringide vormindamiseks ülaltoodud koodis kasutasime stringide interpolatsioonimeetodit. F-tähega algatavad stringid on f-stringid. F-string on muutnud meie töö lihtsaks ja muutujad saab kirjutada otse stringidesse, andes muutujad kohatäide. Ülaltoodud koodi käivitamisel saame järgmise väljundi.
Kontrollige alamstringi olemasolu
Sageli võime soovida kontrollida märgi olemasolu või alamstringi stringis. Seda saab teha, kasutades aastal ja mitte sisse Pythoni märksõnad. Näiteks selleks, et kontrollida, kas Tere on stringis olemas Tere, Maailm, peame käivitama järgmise koodi.
x = "tere" "tere maailmas"
print (x)
Ülaltoodud koodi käivitamisel pythoni IDE-s saame tõeväärtuse Tõsi väljundina, mis tähendab, et alamstring "tere" on olemas "tere maailmas".
Vaadake veel ühte demonstratsiooni, et teada saada, kuidas see paremini toimib.
string = "FossLinux on suurepärane veebisait Linuxi ja Pythoni õppimiseks"
print (stringis "" Fosslinux ")
print (stringis "" FossLinux ")
print (stringis "Foss")
print (stringis "Pyt")
print (stringis "hon")
print ("Python" pole stringis)
Väljund:
Ülaltoodud koodis oleme kasutanud mõlemat aastal ja mitte sisse märksõnad alamstringi kontrollimiseks vanemstringis.
String tähemärkide jadana
Püütoni string on märkide jada; need on peaaegu sarnased teiste pütooni järjestatud järjestustega nagu nimekiri, dupleks jne. Saame stringidest eraldada üksikuid märke mitmel viisil, näiteks muutujate abil lahti pakkida ja indekseerida, mida käsitlen järgmises teemas. Stringid saame lahti pakkida, määrates need muutujatele. Selle toimimise nägemiseks kopeerige ja käivitage järgmine kood oma lemmik pythoni IDE-s.
keel = 'Fosslinux'
# stringi muutujate lahtipakkimine
a, b, c, d, e, f, g, h, i = keel
trükk (a)
trükk (b)
trükk (c)
trükk (d)
trükk (e)
trükk (f)
trükk (g)
trükk (h)
trükk (i)
Väljund:
Stringide indekseerimine
Stringi indekseerimine on fundamentaalne ja populaarne tehnika, mille abil pääseme juurde stringi tegelaskujule ja teostame paljusid stringioperatsioone väga lihtsalt. Programmeerimisel algab loendamine nullist (0), nii et stringi esimese märgi saamiseks peame indeksis andma nulli. Indekseerimise praktilise näite nägemiseks kopeerige ja käivitage järgmine kood Python IDE-s.
string = "Fosslinux"
print (string [0])
print (string [1])
print (string [2])
print (string [3])
Ülaltoodud koodis loome kõigepealt stringi nimega Fosslinux, ja siis kasutame stringi esimese, teise, kolmanda ja neljanda märgi saamiseks pythoni stringi indekseerimist. Koodi käivitamisel saame terminalis järgmise väljundi.
Python toetab ka negatiivset indekseerimist, mis on väga kasulik seal, kus saame hakata lugema paremalt küljelt. Näiteks stringi "Fosslinux" teise viimase märgi saamiseks peame kirjutama alloleva koodi.
string = "Fosslinux"
print ("Stringi teine viimane termin on:", string [-2])
Koodi käivitamisel saame stringi "Fosslinux" teise viimase termini, nagu on näidatud alloleval pildil.
Stringi viimase termini saamine
Mõnikord võime soovida saada stringi viimase termini. Meil on selleks kaks võimalust: esimene kasutab negatiivset indekseerimist ja teine indekseerimisega funktsiooni len ().
Negatiivse indekseerimise abil stringi viimase termini saamiseks vaadake allolevat koodi.
string = "Fosslinux"
print ("Stringi viimane termin on:", string [-1])
Väljund:
Viimase termini saamiseks võime indekseerimisega kasutada ka funktsiooni len (). Selleks peame arvutama stringi pikkuse ja seejärel leidma märgi indekseerides väärtuse, mis on üks stringi pikkusest väiksem. Vaadake allpool toodud näidet.
string = "Fosslinux"
pikkus = len (string)
last_index = pikkus-1
print ("Stringi viimane termin on:", string [last_index])
Ülaltoodud koodis lõime kõigepealt stringi ja salvestasime selle muutusesse nimega string. Seejärel arvutame stringi pikkuse, kasutades meetodit len (). Kuna indekseerimine püthonis algab nulliga, peame ühe pikkusest lahutama. Siis edastame selle indeksina string. Seega saame stringi viimase märgi.
Väljund:
Stringide viilutamine
Pythonis on meil suurepärane tehnika, laiendatud indekseerimise vorm, mida nimetatakse stringide viilutamiseks. Seda saab kasutada stringi lõikamiseks alamstringiks. Viilutamiseks peame andma stringi indeksi alamstringi esimese ja viimase märgi indeksi numbri, asetades nende keskele semikooloni. Praktilise demo saamiseks vaadake allpool näidiskoodi.
string = "Fosslinux"
print (string [1: 6])
print (string [0: 4])
Väljund:
Märkide vahele jätmine viilutamiseks
Samuti võime stringi viilutades märke vahele jätta. Stringi viilutamise ajal on meil järgmine süntaks.
string [algus: peatus: samm]
Start ja stop on vaikimisi indeksi numbrid, mida kasutasime ülaltoodud süntaksis siiani. Step-parameeter aktsepteerib täisarvu, mida kasutatakse igas etapis lahkuvate märkide arvu andmiseks.
Tagurdavad stringid
Võime viimistlusmeetodi abil stringi lihtsalt ümber pöörata. Näiteks vaadake allolevat koodi. Kopeerige oma Pythoni IDE-sse allolev kood ja käivitage see.
string = "Fosslinux"
print ("Reverse string of", string, "is", string [:: - 1])
See kood muudab stringi „Fosslinux.”Koodi käivitamisel saame järgmise väljundi.
Põgenemismärk stringides
Escape-tähemärgid programmeerimisel on suurepärane võimalus lisada mittetrükitavaid märke stringidesse. Näiteks uue reamärgi lisamiseks stringidesse kasutame põgenemismärki "\ n". Vaadake demo allolevat koodi.
print ("\ n \ n \ n Tere \ n \ n maailm")
Koodi käivitamisel saame järgmise väljundi.
Nagu näeme koodist, lisatakse "\ n" asemel automaatselt uued read. Seal tuleb mängu põgenemisjärjestus. Püütonis on palju järjestustähti. Panen need kõik siia üles; võite proovida neid kõiki, et näha, kuidas kumbki töötab.
- \ ': Seda kasutatakse stringis ühe tsitaadi andmiseks. Nagu mõnes kohas, ei saa me ka otse pakkumisi anda.
- \\: Seda märki kasutatakse tagasilöögi tähistamiseks, kuna paljudes kohtades ei saa me \ otse kasutada.
- \ n: See tähis tähistab uut reamärki, mis lisab uue rea.
- \ r: tähistab tagasivedu.
- \ t: tähistab vahelehte.
- \ b: tähistab tagasilöögimärki.
- \ f: Seda põgenemisjärjestust kasutatakse vormisööda tähistamiseks.
- \ ooo: Seda märki kasutatakse kaheksandväärtuse tähistamiseks.
- \ xhh: Seda märki kasutatakse kuueteistkümnendsüsteemi väärtuse tähistamiseks.
- \ a: Seda märki kasutatakse erksuse andmiseks.
- \ s: Seda tähemärki kasutatakse ruumi andmiseks.
- \ v: tähistab vertikaalset vahelehte.
Stringimeetodid
Oleme õppinud palju asju pythoni stringide kohta, kuid see osa on palju kasulikum kui ükski teine selle artikli osa. Pythonil on stringidega töötamiseks suur hulk sisseehitatud funktsioone. Neid kasutades saame hõlpsalt stringidel palju toiminguid teha.
Stringijuhtumite ümberkujundamine
Meil on mõned sisseehitatud funktsioonid, mida saab kasutada stringide juhtude teisendamiseks. Arutagem neid kõiki.
string.suurtäht ()
Seda meetodit kasutatakse sihtstringi suureks kasutamiseks. Kui me kasutame meetodit kui string.suurtähega, see tagastab stringi suurtähega, st.e., esimese tähe muutmine suurtäheks ja kõik ülejäänud tähed väiketäheks. Selle töökoopia praktilise demo vaatamiseks ja Pythoni IDE-s järgmise koodi käivitamiseks.
string = "fosslinux"Me kasutasime suurtäht () Stringi objekti meetod, kasutades seda suurtähega. Koodi käivitamisel saame järgmise väljundi.
print (string.kirjutada suurtähega ())
.ülemine ()
Seda meetodit kasutatakse stringi teisendamiseks suurtäheks, s.t.e., kirjutatakse suurtähega kõik stringis esinevad tähemärgid.
Näide:
string = "Fosslinux"
print (string.ülemine ())
Väljund:
string.madalam ()
Seda meetodit kasutatakse stringi teisendamiseks väiketähtedeks, s.t.e., muudab kõik stringis olevad märgid väiketähtedeks.
Näide:
string = "FOSSLinux"
print (string.madalam ())
Väljund:
string.vahetuskott ()
See on suurepärane meetod stringi märkide juhtude vahetamiseks. See teisendab väiketähed suurteks ja vastupidi stringiks. Selle toimimise nägemiseks kopeerige ja käivitage järgmine kood.
string = "FOSSlinux"
print (string.vahetuskott ())
Väljund:
string.pealkiri ()
Jällegi on see stringide manipuleerimisel suurepärane meetod, kuna see muudab stringi iga sõna esimese tähe suurtäheks.
Näide:
string = "Fosslinux on suurepärane"
print (string.pealkiri ()
Väljund:
Võib-olla olete märganud erinevust suurtäht () ja pealkiri () meetod. The suurtäht () meetod kirjutab suurtähega ainult stringi esimese sõna esimese tähe, samas kui pealkiri () meetod tõstab iga stringis oleva sõna esimese tähe suurtähega.
Tähemärkide klassifikatsioon
Meil on ka meetodeid stringi juhtude kontrollimiseks, kas suurtähed, väiketähed jne. Arutagem neid lühidalt koos näidetega.
string.isalnum ()
Selle meetodi abil kontrollitakse, kas string sisaldab ainult tähtnumbrilisi numbreid või mitte, st.e., kõik selle tähemärgid peavad olema numbrid või tähestikud, kuid mitte ühtegi muud märki, sealhulgas tühikut.
Näide:
string1 = "Fosslinux123"
string2 = "Fosslinux on suurepärane"
string3 = "Fosslinux @ # 123"
print (string1.isalnum ()) # sisaldab ainult tähestikku ja numbreid
print (string2.isalnum ()) # sisaldab tühikut
print (string3.isalnum ()) # sisaldavad erimärke
Väljund:
string.isalpha ()
See stringimeetod sarnaneb ülaltoodud meetodiga, kuid kontrollib ainult tähestikke, mitte numbreid i, mis tähendab, et string peab sisaldama ainult tähestikke. Näiteks käivitage järgmine kood.
string1 = "Fosslinux123"
string2 = "Fosslinux"
print (string1.isalpha ()) # sisaldavad tähestikku ja numbreid
print (string2.isalpha ()) # sisaldab ainult tähestikku
Esimese puhul saame vale, kuna see sisaldab numbreid, ja järgmise puhul saame tõsi, kuna see sisaldab ainult tähestikke.
Väljund:
string.isdigit ()
See meetod sarnaneb ülaltooduga, kuid tähestike asemel kontrollib see, kas string koosneb ainult numbritest. See tagastab väärtuse Tõene, kui kõik stringis esinevad märgid on numbrid; else tagastab False.
string.isidentifier ()
See on ka suurepärane püütoni stringimeetod. Selle meetodi abil saame kontrollida, kas string on kehtiv pythoni identifikaator või mitte. Olen pythoni õpetuse põhitõdesid arutanud kehtiva pythoni identifikaatori valimise reeglite üle.
Näide:
string1 = "Fosslinux123"
string2 = "123Fosslinux"
string3 = "_Fosslinux"
string4 = "Fosslinux @ 1234"
print (string1.isidentifier ()) # Tõene
print (string2.isidentifier ()) # False (algas numbritega)
print (string3.isidentifier ()) # Tõene
print (string4.isidentifier ()) # False (sisaldab erimärke @)
Väljund:
string.madalam ()
Selle stringimeetodi abil kontrollitakse, kas kõik stringimärgid on väiketähed. Kui jah, tagastab väärtus True, tagastades vale.
string.isupper ()
Selle stringimeetodi abil kontrollitakse, kas kõik stringis olevad märgid on suurtähed. Kui jah, siis tagastab väärtus True, tagastades vale.
string.istitle ()
The istitle () stringi meetod tagastab väärtuse Tõene, kui kõigi stringis esinevate sõnade esimene tähestik on suurtäht ja kõik muud tähed on väiketähed.
string.on trükitav ()
See tagastab tõese, kui kõik stringis olevad tähemärgid on printitavad, s.t.e., põgenemata tegelased; muul juhul tagastab vale. Selle toimimise nägemiseks käivitage järgmine kood.
string1 = "Fosslinux"
string2 = "\ nFosslinux"
print (string1.isprintable ()) # Tõsi
print (string2.isprintable ()) # False (sisaldab uut reamärki)
Väljund:
string.isspace ()
The string.isspace () meetod tagastab True, kui kõik stringimärgid on tühimärgid; muul juhul tagastab vale.
Muud olulised funktsioonid
string.loenda ()
Objekti String meetodit count () kasutatakse selleks, et saada määratud väärtuste arv.
Näide:
string = "Fosslinux"
print (string.arv ("s"))
Ülaltoodud koodis kasutasime loenda () meetod, et saada mitu korda tähemärki “s” stringis “Fosslinux.”
Väljund:
string.startswith ()
See stringimeetod kontrollib, kas string algab meetodi argumendis antud alamstringiga. Selle töö praktilise demo nägemiseks kopeerige ja käivitage järgmine kood Python IDE-s.
string = "Fosslinux"
print (string.startswith ("F"))
print (string.startswith ("Fo"))
print (string.startswith ("Foss"))
print (string.startswith ("Fossid"))
Ülaltoodud koodi käivitamisel saame esimese kolme kohta tõese, viimane tagastab vale, nagu on näidatud allpool olevas väljundpildis.
string.endswith ()
See sarnaneb ülaltoodud meetodiga, kuid erinevus seisneb selles, et kui eelmine kontrollib stringi algust, kontrollib see stringi lõpus.
string.leidma ()
Objekti String meetod find () on oluline meetod stringi märgi või alamstringi leidmiseks. See aktsepteerib alamstringi argumendina ja tagastab alamstringi indeksi, kui see on stringis olemas; else tagastab -1.
Näide:
string = "Fosslinux"
print (string.leidma ("lin"))
Ülaltoodud koodi käivitamisel saame väljundiks 4, mis on alamstringi "lin" algindeks jaotises "Fosslinux".”
string.asenda ()
Selle meetodi süntaks on asendamine (vana, uus). Selleks on vaja kahte argumenti; üks on vana alamstring ja uus alamstring. See asendab kogu stringi kogu vana alamstringi uue alamstringiga.
Näide:
string = "Fosslinux"Saame ainult Linux ekraanile trükitud kui Foss asendatakse ülaltoodud koodi käivitamisel tühimärgiga. Väljund:
print (string.asenda ("Foss", ""))
string.jagama ()
See meetod võtab eraldaja argumendina, jagab stringi eraldaja järgi ja tagastab pythoni loendi.
Näide:
string = "Fosslinux on suurepärane koht Linuxi ja pythoni õppimise alustamiseks"Ülaltoodud koodi käivitamisel saame stringisõnade loendi. Kuna kasutasime argumendina jagatud funktsiooni tühimärgiga, jagab see tühimärgi saamisel stringi. Väljund:
print (string.split (""))
string.riba ()
Selle meetodi abil eemaldatakse stringist kõik ees ja taga asuvad tühikud.
Järeldus
See kõik käib stringide ja selle kasutamise kohta Pythonis. Õpetuse läbimine annab teile aimu, kui kasulik on see Pythoni stringidega töötamine. Samuti võite soovida tutvuda pythoni silmuseks kasutamise juhendiga, mis on Pythonis iteratsiooni lõplik silmus. Lõpuks võiksite enne lahkumist uurida Pythoni stringi tagasipööramise meetodit, mis on stringide käsitlemisel kasulik.