„Python“ eilutės (su pavyzdžiais)

Šioje pamokoje išmoksite kurti, formatuoti, modifikuoti ir ištrinti „Python“ eilutes. Be to, jums bus pristatytos įvairios eilutės operacijos ir funkcijos.

Vaizdo įrašas: „Python“ eilutės

Kas yra eilutė „Python“?

Stygos yra simbolių seka.

Veikėjas yra tiesiog simbolis. Pavyzdžiui, anglų kalba yra 26 simboliai.

Kompiuteriai neturi reikalų su simboliais, jie susiduria su skaičiais (dvejetainiais). Nors ekrane gali būti rodomi simboliai, viduje jis saugomas ir valdomas kaip 0 ir 1 derinys.

Šis simbolio pavertimas skaičiumi vadinamas kodavimu, o atvirkštinis procesas yra dekodavimas. ASCII ir „Unicode“ yra vieni populiariausių naudojamų koduočių.

„Python“ eilutė yra „Unicode“ simbolių seka. „Unicode“ buvo pristatytas siekiant įtraukti visus simbolius visomis kalbomis ir užtikrinti kodavimo vienodumą. Apie „Unicode“ galite sužinoti iš „Python Unicode“.

Kaip sukurti eilutę „Python“?

Stygos gali būti sukurtos įtraukiant simbolius į vieną citatą arba dvigubas kabutes. „Python“ gali būti naudojamos net trigubos kabutės, tačiau paprastai jos naudojamos daugialypėms eilutėms ir instrukcijoms pavaizduoti.

 # defining strings in Python # all of the following are equivalent my_string = 'Hello' print(my_string) my_string = "Hello" print(my_string) my_string = '''Hello''' print(my_string) # triple quotes string can extend multiple lines my_string = """Hello, welcome to the world of Python""" print(my_string)

Kai paleisite programą, išvestis bus:

 Sveiki Sveiki Sveiki Sveiki, sveiki atvykę į Python pasaulį

Kaip pasiekti simbolius eilutėje?

Atskirus simbolius galime pasiekti naudodami indeksavimą, o simbolių diapazoną - pjaustydami. Indeksas prasideda nuo 0. Bandant pasiekti simbolį, esantį už indekso ribų, pakils IndexError. Indeksas turi būti sveikas skaičius. Mes negalime naudoti plūdžių ar kitų tipų, tai bus TypeError.

„Python“ leidžia neigiamą savo sekų indeksavimą.

Indeksas -1nurodo paskutinį elementą, -2antrą paskutinį elementą ir pan. Mes galime pasiekti eilutės elementų asortimentą naudodami pjaustymo operatorių :(dvitaškis).

 #Accessing string characters in Python str = 'programiz' print('str = ', str) #first character print('str(0) = ', str(0)) #last character print('str(-1) = ', str(-1)) #slicing 2nd to 5th character print('str(1:5) = ', str(1:5)) #slicing 6th to 2nd last character print('str(5:-2) = ', str(5:-2))

Vykdydami pirmiau nurodytą programą, gauname tokį išėjimą:

 str = programizuoti str (0) = p str (-1) = z str (1: 5) = rogr str (5: -2) = am

Jei bandysime pasiekti indeksą, kuris yra už diapazono ribų, arba naudosime kitus skaičius nei sveikasis skaičius, gausime klaidų.

 # index must be in range >>> my_string(15)… IndexError: string index out of range # index must be an integer >>> my_string(1.5)… TypeError: string indices must be integers

Pjaustymą galima geriausiai vizualizuoti, laikant indeksą tarp elementų, kaip parodyta žemiau.

Jei norime pasiekti diapazoną, mums reikia indekso, kuris supjaustys dalį iš eilutės.

Styginių pjaustymas „Python“

Kaip pakeisti ar ištrinti eilutę?

Stygos yra nekintamos. Tai reiškia, kad eilutės elementai negali būti pakeisti, kai jie yra priskirti. Skirtingas eilutes galime tiesiog priskirti tam pačiam pavadinimui.

 >>> my_string = 'programiz' >>> my_string(5) = 'a'… TypeError: 'str' object does not support item assignment >>> my_string = 'Python' >>> my_string 'Python'

Negalime ištrinti ar pašalinti simbolių iš eilutės. Bet visiškai ištrinti eilutę galima naudojant delraktinį žodį.

 >>> del my_string(1)… TypeError: 'str' object doesn't support item deletion >>> del my_string >>> my_string… NameError: name 'my_string' is not defined

„Python“ styginių operacijos

Yra daugybė operacijų, kurias galima atlikti su eilutėmis, todėl tai yra vienas iš dažniausiai naudojamų „Python“ duomenų tipų.

Norėdami sužinoti daugiau apie „Python“ pasiekiamus duomenų tipus, apsilankykite: „Python“ duomenų tipai

Dviejų ar daugiau stygų sujungimas

Dviejų ar daugiau stygų sujungimas į vieną yra vadinamas sujungimas.

+ Operatorius tai daro Python. Paprasčiausiai parašius du eilutės literalus kartu, jie taip pat sujungiami.

* Operatorius gali būti naudojamas pakartoti eilutę tam tikrą skaičių kartų.

 # Python String Operations str1 = 'Hello' str2 ='World!' # using + print('str1 + str2 = ', str1 + str2) # using * print('str1 * 3 =', str1 * 3)

Vykdydami pirmiau nurodytą programą, gauname tokį išėjimą:

str1 + str2 = HelloWorld! str1 * 3 = Sveiki Sveiki Sveiki

Kartu parašius du eilutės literalus, jie taip pat sujungiami kaip + operatorius.

Jei norime susieti eilutes skirtingose ​​eilutėse, galime naudoti skliaustus.

 >>> # two string literals together >>> 'Hello ''World!' 'Hello World!' >>> # using parentheses >>> s = ('Hello '… 'World') >>> s 'Hello World'

Kartojasi per stygą

Mes galime kartoti per eilutę naudodami „for loop“. Štai pavyzdys, kaip suskaičiuoti „l“ skaičių eilutėje.

 # Iterating through a string count = 0 for letter in 'Hello World': if(letter == 'l'): count += 1 print(count,'letters found')

Vykdydami pirmiau nurodytą programą, gauname tokį išėjimą:

 Rasta 3 raidės

Styginių narystės testas

We can test if a substring exists within a string or not, using the keyword in.

 >>> 'a' in 'program' True >>> 'at' not in 'battle' False

Built-in functions to Work with Python

Various built-in functions that work with sequence work with strings as well.

Some of the commonly used ones are enumerate() and len(). The enumerate() function returns an enumerate object. It contains the index and value of all the items in the string as pairs. This can be useful for iteration.

Similarly, len() returns the length (number of characters) of the string.

 str = 'cold' # enumerate() list_enumerate = list(enumerate(str)) print('list(enumerate(str) = ', list_enumerate) #character count print('len(str) = ', len(str))

When we run the above program, we get the following output:

 list(enumerate(str) = ((0, 'c'), (1, 'o'), (2, 'l'), (3, 'd')) len(str) = 4

Python String Formatting

Escape Sequence

If we want to print a text like He said, "What's there?", we can neither use single quotes nor double quotes. This will result in a SyntaxError as the text itself contains both single and double quotes.

 >>> print("He said, "What's there?"")… SyntaxError: invalid syntax >>> print('He said, "What's there?"')… SyntaxError: invalid syntax

One way to get around this problem is to use triple quotes. Alternatively, we can use escape sequences.

An escape sequence starts with a backslash and is interpreted differently. If we use a single quote to represent a string, all the single quotes inside the string must be escaped. Similar is the case with double quotes. Here is how it can be done to represent the above text.

 # using triple quotes print('''He said, "What's there?"''') # escaping single quotes print('He said, "What\'s there?"') # escaping double quotes print("He said, "What's there? "")

When we run the above program, we get the following output:

 He said, "What's there?" He said, "What's there?" He said, "What's there?"

Here is a list of all the escape sequences supported by Python.

Escape Sequence Description
ewline Backslash and newline ignored
\ Backslash
\' Single quote
" Double quote
a ASCII Bell
 ASCII Backspace
f ASCII Formfeed
ASCII Linefeed
ASCII Carriage Return
ASCII Horizontal Tab
v ASCII Vertical Tab
ooo Character with octal value ooo
xHH Character with hexadecimal value HH

Here are some examples

 >>> print("C:\Python32\Lib") C:Python32Lib >>> print("This is printedin two lines") This is printed in two lines >>> print("This is x48x45x58 representation") This is HEX representation

Raw String to ignore escape sequence

Sometimes we may wish to ignore the escape sequences inside a string. To do this we can place r or R in front of the string. This will imply that it is a raw string and any escape sequence inside it will be ignored.

 >>> print("This is x61 good example") This is a good example >>> print(r"This is x61 good example") This is x61 good example

The format() Method for Formatting Strings

The format() method that is available with the string object is very versatile and powerful in formatting strings. Format strings contain curly braces () as placeholders or replacement fields which get replaced.

We can use positional arguments or keyword arguments to specify the order.

 # Python string format() method # default(implicit) order default_order = "(), () and ()".format('John','Bill','Sean') print('--- Default Order ---') print(default_order) # order using positional argument positional_order = "(1), (0) and (2)".format('John','Bill','Sean') print('--- Positional Order ---') print(positional_order) # order using keyword argument keyword_order = "(s), (b) and (j)".format(j='John',b='Bill',s='Sean') print('--- Keyword Order ---') print(keyword_order)

When we run the above program, we get the following output:

 --- Default Order --- John, Bill and Sean --- Positional Order --- Bill, John and Sean --- Keyword Order --- Sean, Bill and John

The format() method can have optional format specifications. They are separated from the field name using colon. For example, we can left-justify <, right-justify > or center ^ a string in the given space.

Taip pat galime formatuoti sveikus skaičius kaip dvejetainius, šešioliktainius ir kt., O plūdės gali būti suapvalintos arba rodomos rodiklio formatu. Galite naudoti daug formatų. Apsilankykite čia, jei norite sužinoti apie visus eilučių formatavimo format()būdus.

 >>> # formatting integers >>> "Binary representation of (0) is (0:b)".format(12) 'Binary representation of 12 is 1100' >>> # formatting floats >>> "Exponent representation: (0:e)".format(1566.345) 'Exponent representation: 1.566345e+03' >>> # round off >>> "One third is: (0:.3f)".format(1/3) 'One third is: 0.333' >>> # string alignment >>> "|(:10)|".format('butter','bread','ham') '|butter | bread | ham|'

Senojo stiliaus formatavimas

Mes netgi galime suformatuoti eilutes kaip seną sprintf()stilių, naudojamą C programavimo kalboje. Tam mes naudojame %operatorių.

 >>> x = 12.3456789 >>> print('The value of x is %3.2f' %x) The value of x is 12.35 >>> print('The value of x is %3.4f' %x) The value of x is 12.3457

Paplitę „Python“ stygų metodai

Su eilutės objektu yra daugybė metodų. format()Metodas, kuris jau minėta aukščiau, yra vienas iš jų. Kai kurie iš dažniausiai naudojamų metodų yra lower(), upper(), join(), split(), find(), replace()ir tt Čia yra pilnas sąrašas visų built-in metodų dirbti su styginiams Python.

 >>> "PrOgRaMiZ".lower() 'programiz' >>> "PrOgRaMiZ".upper() 'PROGRAMIZ' >>> "This will split all words into a list".split() ('This', 'will', 'split', 'all', 'words', 'into', 'a', 'list') >>> ' '.join(('This', 'will', 'join', 'all', 'words', 'into', 'a', 'string')) 'This will join all words into a string' >>> 'Happy New Year'.find('ew') 7 >>> 'Happy New Year'.replace('Happy','Brilliant') 'Brilliant New Year'

Įdomios straipsniai...