Programmeerimine

Stringidega töötamine Pythonis

Stringidega töötamine Pythonis

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.

stringide loomine pythonis

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.

mitmerealine string pythonis

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:

stringi pikkus len () meetodil

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:

stringi pikkus käsitsi silmuseks

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:

kahe stringi liitmine

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 kordamine

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.

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:

vana stiil stringide vormindamisel pythonis

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.

stringi vormindamine funktsiooniga format ()

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.

stringi moodustamine f-stringide abil

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".

kontrollige stringi alamstringi olemasolu

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:

kontrollige stringi alamstringi, kasutades märksõna

Ü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:

märkide lahtipakkimine muutujate abil

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.

stringide indekseerimine

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.

negatiivne indekseerimine Pythoni stringides

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:

viimane termin negatiivse indekseerimise abil

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:

eelmise tähtaja pikkuse arvutamise teel

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:

stringide viilutamine

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.

tagasikäigu string

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.

põgeneda tähemärkides

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.

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"
print (string.kirjutada suurtähega ())
Me kasutasime suurtäht () Stringi objekti meetod, kasutades seda suurtähega. Koodi käivitamisel saame järgmise väljundi.
kirjutab stringi 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:

stringi teisendamine suurtäheks

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:

stringi teisendamine suurtäheks

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:

pythoni stringi juhtumi vahetamine

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:

stringi muutmine pealkirjaks

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:

stringi tähtnumbriliste numbrite kontrollimine

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:

stringides tähestike kontrollimine

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:

stringis identifikaatori kontrollimine

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:

prinditavate märkide kontrollimine

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:

täpsete tähemärkide loendamine stringis

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 algab tähega

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".”

stringi leidmise funktsioon

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"
print (string.asenda ("Foss", ""))
Saame ainult Linux ekraanile trükitud kui Foss asendatakse ülaltoodud koodi käivitamisel tühimärgiga.  Väljund: 
stringi asendamise funktsioon

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"
print (string.split (""))
Ü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: 
pythoni stringi jagamise funktsioon

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.

Parimad Linuxi käsurea mängud
Käsurida pole Linuxi kasutamisel lihtsalt teie suurim liitlane - see võib olla ka meelelahutusallikas, sest saate seda kasutada paljude lõbusate mängu...
Parimad Linuxi mängupuldi kaardistamise rakendused
Kui teile meeldib mängida Linuxis mänge tavalise klaviatuuri ja hiire sisestussüsteemi asemel mängupuldiga, on teie jaoks mõned kasulikud rakendused. ...
Kasulikud tööriistad Linuxi mängijatele
Kui teile meeldib Linuxis mänge mängida, on tõenäoline, et olete mängukogemuse parandamiseks kasutanud selliseid rakendusi ja utiliite nagu Wine, Lutr...