„Python“ eilutės - pagrindinių styginių operacijų apžvalga

Stygos yra vienas iš pagrindinių „Python“ duomenų tipų. „Python“ eilutės yra bet kokio simbolių, sudarytų iš raidžių, skaitmenų ir kitų specialiųjų simbolių, derinys. Šioje pamokoje sužinosite, kaip jas kurti, tvarkyti ir formatuoti, kad būtų galima naudoti pagal skirtingus scenarijus.



Sukurkite naujas eilutes „Python“

Norėdami sukurti naują „Python“ eilutę, tiesiog turite deklaruoti simbolių seką, kurią sudaro vienos arba dvigubos kabutės. Trigubos kabutės taip pat naudojamos kelių eilučių ilgio eilutėms.

double_quotes = 'My name is John!' single_quotes = 'My name is John!' multi_line_string = '''1. My name is John!



2. I am a programmer'''


Stygų indeksavimas

Kiekvienas „Python“ eilutės simbolis turi sveiko skaičiaus indeksą. Indeksavimas prasideda nuo 0 nuo pirmo simbolio ir palei eilutę. Norėdami naudoti šį simbolį iš eilutės, galite naudoti atskiro simbolio rodyklę, kaip parodyta šiame pavyzdyje.


myPet = 'Dog not a cat' myPet[0] # 'D' myPet[5] # 'o' myPet[7] # ' ' myPet[12] # 't' # myPet[15] # IndexError

Bandant pasiekti simbolį, viršijantį paskutinio simbolio rodyklę, gaunamas „IndexError“ .

Eilutės simbolį galite pasiekti naudodami neigiamą indeksą. Šiuo atveju indeksavimas prasideda nuo -1 nuo paskutinio eilutės simbolio ir neigiamai padidėja, kai einate atgal.


myPet = 'Dog not a cat' myPet[-1] # 't' myPet[-6] # ' ' myPet[-8] # 'o' myPet[-13] # 'D'

Styginių pjaustymas

Pjaustymas yra metodas, kaip iš eilutės ištraukti pakraštį (eilutės dalį). Ši užduotis pasiekiama eilutės indeksavimo pagalba.



myPet = 'Dog not a cat' myPet[5:7] # 'ot' myPet[1:12] # 'og not a ca'

Čia pateikiami du indeksai, atskirti dvitaškiu, pirmasis indeksas nurodo, kur pradėti pjaustyti, o antrasis - kur sustoti. Gautame poskirsnyje yra simbolių nuo pradinio indekso iki simbolio prieš pabaigos indeksą, pabaigos indekso simbolis nėra įtrauktas į posekį.

Jei nepateikiate pradinio indekso, pjaustymas pradedamas nuo pirmojo eilutės simbolio. Jei nepateikiate pabaigos indekso, pjaustymas baigiasi paskutiniuoju simboliu, įtraukiant jį į gautą pakraštį.

myPet = 'Dog not a cat' myPet[:7] # 'Dog not' myPet[10:] # 'cat' myPet[:] # 'Dog not a cat'

Taip pat galite pateikti neigiamus indeksus kaip pjaustymo indeksus.


myPet = 'Dog not a cat' myPet[10:-1] # 'ca'

Stygos ilgis

Integruotas „Python“ metodas len() pateikia stygos ilgį.

myPet = 'Dog not a cat' len(myPet) # 13

Kartoti per stygą

Galite kartoti kiekvieną eilutės simbolį naudodami for kilpa.

Pavyzdys:

name = 'John' for char in name:
print(char) # 'J', 'o', 'h', 'n'


Styginių sujungimas

Styginių sujungimas yra dviejų ar daugiau eilučių sujungimas, norint sukurti vieną eilutę. „Python“ yra keletas stygų sujungimo būdų.


Vienas naudoja + operatorius.

str1 = 'Hello' str2 = 'World' concat_str = str1 + str2 # 'HelloWorld' concat_str = str1 + ' ' + str2 # 'Hello World'

Galite naudoti * operatorius, norėdamas susieti eilutę sau bet kokį skaičių kartų.

concat_str = str1*3 # 'HelloHelloHello'

Kitas stygų sujungimo būdas yra join() metodas.

Įmontuotas join() metodas naudojamas sujungiant eilių masyvą naudojant bendrą separatorių.


arr = [str1, str2] concat_str = (' ').join(arr) # 'Hello World' concat_str = (',').join(arr) # 'Hello,World'

Pirmiau pateiktame kode pirmasis join() metodas prideda baltą tarpą tarp kiekvieno masyvo žodžio.

Antrasis join() metodas įterpia kablelį tarp kiekvieno masyvo žodžio.



Stygos ir vidinis sujungimas

„Python“ eilutę taip pat galime susieti su sveikuoju skaičiumi, bet ne su + operatorius. Jei bandysime naudoti šį kodą:

name = 'John' age = 35 print(a + b)

Mes gautume:


Traceback (most recent call last): File 'concat.py', line 5, in
print(a + b) TypeError: can only concatenate str (not 'int') to str
Pastaba:Negalite susieti eilutės ir sveiko skaičiaus naudodami + operatorius.

Norėdami išvengti šios klaidos, galime naudoti str() metodas konvertuoti sveikąjį skaičių į eilutę, pavyzdžiui:

name = 'John ' age = '35' print(a + str(b)) #John 35

Kaip suskaidyti stygą

Įmontuotas split() metodas naudojamas atskirai eilutei padalyti į eilučių masyvą.

string = 'My name is John' split_arr = string.split(' ') # ['My', 'name', 'is', 'John'] We can also split a string using a separator: string = 'John, Rose, Jack, Mary' split_arr = string.split(', ') # ['John', 'Rose', 'Jack', 'Mary']

Juostelė - pašalinkite baltas tarpus

strip(), įmontuotas eilutės metodas naudojamas baltosioms erdvėms pašalinti nuo eilutės pradžios ir pabaigos.

string = ' Hello, World ' stripper_str = string.strip() # 'Hello, World'

Kaip matote, strip() nepašalina baltųjų tarpų, esančių tarp kitų simbolių, bet tik dviejuose galuose.

Yra du strip() variantai metodas, kairysis ir dešinysis:

  • lstrip()
  • rstrip()

Šie metodai pašalina baltas vietas kairėje ir dešinėje stygos pusėje.

Pavyzdys:

lsplit_str = string.lstrip() # 'Hello, World ' rsplit_str = string.rstrip() # ' Hello, World'

Juostelės metodai yra ypač naudingi skaitant vartotojo įvestis, kur vartotojai galėtų praleisti papildomus tarpus.



Stygos formatavimas

„Python“ format() metodas naudojamas formatuojant eilutę. Garbanotieji petnešos {} yra naudojami eilutės viduje, kurią reikia suformatuoti kaip vietos, kuriai reikia pakeisti, argumentus, pateiktus format() metodas.

Pavyzdys:

'Hello, {}'.format('John') # 'Hello, John'

Ankstesniame pavyzdyje {} suformatuotoje eilutėje pakeičiama „John“.

Norėdami formatuoti, eilutės viduje galite naudoti daugiau nei vieną garbanotą petnešą. Juos pakeičia argumentai, pateikti format() metodas pateikiama tvarka (jei garbanotųjų petnešų viduje neminimi padėties indeksai) arba padėties tvarka.

Pavyzdys:

'I have a {}, {}, and a {}'.format('dog', 'cat', 'rabbit') # 'I have a dog, cat, and a rabbit' 'I have a {1}, {0}, and a {2}'.format('dog', 'cat', 'rabbit') # 'I have a cat, dog, and a rabbit'

Užuot naudoję indeksus, galite pateikti raktinių žodžių argumentus format() metodą, kad tuos raktinius žodžius būtų galima naudoti garbanotųjų petnešų viduje.

Pavyzdys:

print('{friend} is my friend and {enemy} is my enemy'.format(friend='John', enemy='Jack')) # 'John is my friend and Jack is my enemy'

format() metodas yra gana universalus, nes jis gali būti naudojamas daugeliui naudojimo atvejų.

Štai keletas kitų format() programų metodas:

arr = [3, 5] 'I have {0[0]} dogs and {0[1]} cats'.format(arr) # 'I have 3 dogs and 4 cats' #convert numbers to different bases 'int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}'.format(42) # 'int: 42; hex: 2a; oct: 52; bin: 101010'

Stygas paverskite mažosiomis

Naudojant „Python“ lower() metodą, galite konvertuoti eilutę į mažąsias.

Pavyzdys:

string = 'Hello, World!' string.lower() # 'hello, world!'

Konvertuokite eilutę į didelę raidę

Taip pat naudojant „Python“ upper() metodą, galite konvertuoti eilutę į didžiąsias.

Pavyzdys:

string = 'Hello, World!' string.upper() # 'HELLO, WORLD!'

Išvada

Tikiuosi, kad naudodamiesi šia pamoka, jūs jau esate susipažinę su „Python“ eilutėmis ir kaip naudoti įvairius stygų operacijų metodus.

Nuoroda: „Python“ eilutės dokumentacija