Програмиране

Работа със струни в Python

Работа със струни в Python

Низът е един от най-популярните типове данни в python. Можем да използваме типа низови данни, за да съхраняваме текстови данни. В python всеки символ под единични или двойни кавички се счита за низове. Тези символи могат да бъдат всеки от символите на Unicode, които поддържат в python. В този урок ще научим почти всичко за низовия тип данни в python.

За да следвате този урок, препоръчително е да имате инсталирана най-новата версия на python във вашата система. Ако имате инсталирана по-стара версия на python във вашата система, тогава можете да следвате нашето ръководство за актуализиране на python в Linux. 

Създаване на низове в Python

За да създадем низ в python, трябва да поставим подчините на масива на символите. Python третира както единичните, така и двойните кавички като еднакви, така че можем да използваме всеки от тях, докато създаваме низ. Вижте примерите по-долу, където създаваме низ, съхраняваме ги в променливи и след това ги отпечатваме.

# създаване на низ
поздрав = "Здравей, свят"
# отпечатване на низа
печат (поздрав)

При стартиране на горния код ще получите изхода Здравей свят.

създаване на низове в python

В този код създадохме низ Здравей святи го съхранява в променлива с име поздрав. След това използваме функцията за печат на Python, за да покажем низа, съхраняван в променливата. Ще получите следния изход при стартиране на кода. Също така можем да създадем многоредов низ, като използваме тройни кавички в примера по-долу.

var = "" "Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incidentidunt
ut labore et dolore magna aliqua.""
печат (var)

Ето изхода.

многоредов низ в python

В Python низовете са масиви от байтове, представляващи Unicode символи. Но той няма вграден тип данни за единични знаци, както в C или C++. Всеки низ, който има дължина една, се счита за символ.

Дължина на струните 

В много ситуации може да се наложи да изчислим някаква дължина на низа. Има вградена функция, която може да изчисли дължината на низ. Функцията, която ще използваме, е len () функция.

За да видите практически пример за лентата () функция, изпълнете следния код във вашата Python IDE.

var = "Това е низ"
print ("Дължината на низа е:", len (var))

Изход:

дължина на низа по метода len ()

Можем да използваме и python for loop, който обсъдих в този урок, за да изчислим дължината на низ. 

Пример:

var = "Това е низ"
брой = 0
за i в var:
брой = брой + 1
print ("Дължината на низа е:", брой)

Изход:

дължина на низа ръчно с помощта на цикъл for

Конкатенация на низове

Конкатенацията на низове е обединяването или обединяването на два низа. Можем да свържем два низа лесно, като използваме оператора +. Нека видим пример за свързване на два низа в python.

# създаване на два низа
string1 = "Здравейте"
string2 = "Свят"
# обединяване на двата низа
поздрав = низ1 + низ2
печат (поздрав)

В горния код създадохме два низа, а именно “Hello” и “World”, и ги съхраняваме в две променливи с име низ1 и низ2. След това използвахме оператора +, за да присъединим двата низа и да ги съхраним в променлива с име поздрав и да го покажем с помощта на печат () функция.

Изход:

обединяване на два низа

Повторение на низ

Можем да повторим низ няколко пъти в python, използвайки оператора *. Например, за да отпечатаме низа “Fosslinux” два пъти, трябва да напишем следния код.

печат ("Fosslinux" * 2)

Изход:

повторение на низове

Форматиране на низове

Форматирането на низове в Python е лесно. Има три начина:

1. Стар стил на форматиране

Старият стил на форматиране на низове се извършва с помощта на оператора%. Трябва да използваме специални символи като „% s“, „% d“, „% f“, „%.е ”. с низа и след това посочете набора от данни, които искаме да форматираме на това място. Нека да видим какви са данните, приети от горните символи.

Например вижте кода по-долу. Можете да копирате и стартирате кода във вашия любим IDE на python.

string1 = "Това е форматиран низ с цяло число% d"% (1)
string2 = "Това е форматиран низ със низ% s"% ("Fosslinux")
string3 = "Това е форматиран низ с плаващи данни% f"% (1.01)
печат (низ1)
печат (низ2)
печат (низ3)

Изход:

старият стил на форматиране на низове в python

Както можем да видим в изхода, ние сме форматирали низовете с данните за цяло число, плувка и низ. Този метод за форматиране на низове е най-старият начин, но в наши дни се използва по-рядко.

2. Използване на метода format ()

Това е нова техника за форматиране на низове, въведена в Python 3. Функциите format () приемат данните като аргумент и ги заменят в низа, където заместителят присъстват. 

Пример:

string1 = "Това е форматиран низ с цяло число ".формат (1)
string2 = "Това е форматиран низ със низ ".формат ("Fosslinux")
string3 = "Това е форматиран низ с плаващи данни ".формат (1.01)
печат (низ1)
печат (низ2)
печат (низ3)
print („ е чудесен уебсайт за обучение и “.формат ("FossLinux", "Linux", "Python"))

Ще получим форматирания низ като изход при изпълнението на горния код, както е показано на изображението по-долу.

форматиране на низове с помощта на функцията format ()

3. f-струни

Най-новата техника за форматиране на низове е интерполация на низове или f-низове, въведени във версия 3 на python.6. Можем да посочим име на променлива директно във f-низ и интерпретаторът на Python ще замени името на променливата със стойността на данните, съответстваща на нея. F-низовете започват с буквата f и можем директно да инжектираме данните в съответните им позиции. Тази техника за форматиране на низове стана доста популярна през последните дни. За да видите демонстрация на нейната работа, копирайте кода по-долу и го стартирайте във вашата python IDE.

string1 = f "Това е форматиран низ с цяло число 1"
string2 = f "Това е форматиран низ със низ 'fosslinux'"
string3 = f "Това е форматиран низ с плаващи данни 0.01 "
печат (низ1)
печат (низ2)
печат (низ3)
a = "Fosslinux"
b = "Linux"
c = "Python"
print (f "a е страхотен уебсайт за обучение b и c")

Използвахме метода за интерполация на низове за форматиране на низове в горния код. Низовете, започнати с символа f, са f-низове. F-низът улесни работата ни и можем да запишем променливите директно в низовете, като дадем променливи под заместител. При изпълнението на горния код ще получим следния изход.

форматиране на низове с помощта на f-низове

Проверете за подниз

Често може да искаме да проверим съществуването на даден герой или подниза в низ. Това може да се направи с помощта на в и Не в Ключови думи на Python. Например, За да проверите дали Здравейте присъства в низа Здравей свят, трябва да изпълним следния код.

x = "здравей" в "здравей свят"
печат (x)

При стартиране на горния код в IDE на python ще получим логическата стойност Вярно като изход, което означава, че поднизът „здравей“ присъства в „здравей света“.

проверете за подниз в низ

Нека видим още една демонстрация, за да разберем как работи по-добре.

string = "FossLinux е страхотен уебсайт за изучаване на Linux и Python"
print ("Fosslinux" в низ)
print ("FossLinux" в низ)
print ("Foss" в низ)
print ("Pyt" в низ)
print ("hon" в низ)
print ("Python" не е в низ)

Изход:

проверете за подниз в низ, използвайки в ключова дума

В горния код използвахме и двете в и Не в ключови думи за проверка на подниза в родителския низ.

String като последователност от символи

Низът на python е последователност от символи; те са почти подобни на други последователности, подредени от python като list, tuple и т.н. Можем да извлечем отделни символи от низовете по много начини, като разопаковането им с помощта на променливи и индексирането, което ще обсъдя в следващата тема. Можем да разопаковаме низовете, като ги присвоим на променливи. За да видите как работи, просто копирайте и стартирайте следния код в любимата си IDE на python.

language = 'Fosslinux'
# разопаковане на низа в променливи
a, b, c, d, e, f, g, h, i = език
печат (а)
печат (б)
печат (c)
печат (г)
печат (д)
печат (е)
печат (g)
печат (h)
печат (i)

Изход:

разопаковане на символи с помощта на променливи

Индексиране на низове

Индексирането на низове е фундаментална и популярна техника, чрез която можем много лесно да получим достъп до символа на даден низ и да изпълняваме много операции с низове. При програмирането броенето започва с нула (0), така че, за да получим първия знак от низ, трябва да дадем нула в индекса. За да видите практически пример за индексиране, копирайте и стартирайте следния код в Python IDE.

низ = "Fosslinux"
печат (низ [0])
печат (низ [1])
печат (низ [2])
печат (низ [3])

В горния код първо създаваме низ с име Fosslinux, и след това използваме индексирането на низовете на python, за да получим първия, втория, третия и четвъртия символ на низа. Ще получим следния изход в терминала при стартиране на кода.

индексиране на низове

Python също поддържа отрицателно индексиране, което е много полезно, когато можем да започнем да броим от дясната страна. Например, за да получим втория последен знак от низ „Fosslinux“, трябва да напишем кода по-долу.

низ = "Fosslinux"
print ("Вторият последен член на низа е:", низ [-2])

При стартиране на кода ще получим втория последен член от низа „Fosslinux“, както е показано на изображението по-долу.

отрицателно индексиране в Python низове

Получаване на последния член на низ

Понякога може да искаме да получим последния член на низа. Имаме два начина да направим това: първият използва отрицателното индексиране, а вторият използва функцията len () с индексиране.

За да получите последния член на низа, използвайки отрицателно индексиране, погледнете кода по-долу.

низ = "Fosslinux"
print ("Последният член на низа е:", низ [-1])

Изход:

последен срок, използващ отрицателно индексиране

Също така можем да използваме функцията len () с индексиране, за да получим последния член. За да направите това, трябва да изчислим дължината на низа и след това трябва да намерим символа чрез индексиране на стойността, която е с една по-малка от дължината на низа. Вижте долния пример.

низ = "Fosslinux"
дължина = len (низ)
last_index = дължина-1
print ("Последният член на низа е:", низ [last_index])

В горния код първо създадохме низ и го съхранихме в име с променлива низ. След това изчисляваме дължината на низа, използвайки метода len (). Тъй като индексирането в python започва с нула, трябва да извадим едно от дължината. След това го предаваме като индекс на низ. По този начин получаваме последния знак от низа. 

Изход:

последен член чрез изчисляване на дължината

Нарязване на струни

В Python имаме страхотна техника, разширена форма на индексиране, известна като нарязване на низове. Това може да се използва за нарязване на низ в подниз. За да направим нарязването, трябва да дадем номера на индекса на първия символ и последния символ на подниза в индекса на низа, като поставим точка и запетая в средата на тях. За практическа демонстрация вижте примерния код по-долу.

низ = "Fosslinux"
печат (низ [1: 6])
печат (низ [0: 4])

Изход:

нарязване на струни

Пропускане на символи при нарязване

Можем също да пропускаме символи, докато режем низ. По време на нарязване на низ имаме следния синтаксис.

низ [начало: спиране: стъпка]

Стартът и стопът са индексните номера по подразбиране, които използвахме в горния синтаксис досега. Параметърът step приема цяло число, което се използва за даване на броя символи, които трябва да оставите във всяка стъпка.

Обръщане на низове

Можем да обърнем низ лесно с помощта на метода на нарязване. Например вижте кода по-долу. Копирайте кода по-долу във вашата Python IDE и го стартирайте.

низ = "Fosslinux"
print ("Обратният низ на", низ, "е", низ [:: - 1])

Този код ще обърне низа „Fosslinux.”При стартиране на кода ще получим следния изход.

обръщащ низ

Escape Character in Strings

Escape символите в програмирането са чудесен начин да добавите непечатаеми символи в низове. Например, за да добавим новия символ на ред в низове, използваме екраниращия знак „\ n“. Вижте кода по-долу за демонстрация.

print ("\ n \ n \ n Здравейте \ n \ n Свят")

При стартиране на кода ще получим следния изход.

избяга знаци в низове

Както виждаме в кода, новите редове се добавят автоматично вместо „\ n“. Това е мястото, където излиза последователността за бягство. В python има много символи за последователност. Ще ги изброя всички тук; можете да опитате всички тях, за да видите как работи всеки.

Струнни методи

Научихме много неща за низовете на python, но тази част е много по-полезна от която и да е друга част на тази статия. Python се предлага с голям брой вградени функции за работа със низове. Използвайки ги, можем лесно да изпълняваме много операции върху низове. 

Трансформиране на струнни дела

Имаме някои вградени функции, които могат да се използват за трансформиране на низови случаи. Нека ги обсъдим всички.

низ.изписване с главни букви ()

Този метод се използва за капитализиране на целевия низ. Когато използваме метода като низ.капитализиране, ще върне низа, като го изписва с главни букви, т.е.д., преобразуване на първия знак в главни букви, а всички останали символи в малки букви. За да видите практическа демонстрация на работното му копие и да стартирате следния код във вашата Python IDE.

низ = "fosslinux"
печат (низ.изписване с главни букви ())
Използвахме изписване с главни букви () метод на обекта String, като го изписва с главни букви. При стартиране на кода ще получим следния изход.
изписва с главна буква низ

.горен()

Този метод се използва за трансформиране на низ в главни букви, т.е.д., изписва с главни букви всички символи, присъстващи в низа. 

Пример:

низ = "Fosslinux"
печат (низ.горен())

Изход:

преобразуване на низ в главни букви

низ.нисък()

Този метод се използва за преобразуване на низ в малки букви, т.е.д., променя всички символи, присъстващи в низа, с малки букви. 

Пример:

низ = "FOSSLinux"
печат (низ.нисък())

Изход:

преобразуване на низ в главни букви

низ.суап ()

Това е чудесен метод за размяна на регистъра на символите на низ. Той преобразува малките букви в главни и обратно на низа. За да видите как работи, просто копирайте и стартирайте следния код.  

низ = "FOSSlinux"
печат (низ.суап (())

Изход:

случай на размяна на python низ

низ.заглавие()

Отново, това е отличен метод за манипулиране на низове, тъй като преобразува първия знак от всяка дума, присъстваща в низа, в главни букви. 

Пример:

string = "Fosslinux е страхотен"
печат (низ.заглавие())

Изход:

трансформиране на низ в заглавие

Може би сте забелязали разликата между изписване с главни букви () и заглавие() метод. The изписване с главни букви () метод изписва с главни букви само първия знак от първата дума от низа, докато заглавие() метод изписва с главни букви първия символ на всяка дума, присъстваща в низа.

Класификация на героите

Имаме и методи за проверка на регистъра на низа, независимо дали е главна, малка и т.н. Нека ги обсъдим накратко с примери.

низ.isalnum ()

Този метод се използва за проверка дали низът съдържа само буквено-цифрови числа или не, т.е.д., всички негови знаци трябва да са цифри или азбуки, но не и други знаци, включително интервали. 

Пример:

string1 = "Fosslinux123"
string2 = "Fosslinux е страхотен"
string3 = "Fosslinux @ # 123"
print (string1.isalnum ()) # съдържа само азбука и цифри
print (низ2.isalnum ()) # съдържа празно пространство
print (низ3.isalnum ()) # съдържа специални символи

Изход:

проверка за буквено-цифрови числа в низ

низ.isalpha ()

Този метод на низ е подобен на метода по-горе, но той проверява само за азбуки, а не числата и низът, което означава, че низът трябва да съдържа само азбуки. Например изпълнете следния код.

string1 = "Fosslinux123"
string2 = "Fosslinux"
print (string1.isalpha ()) # съдържа азбука и цифри
print (низ2.isalpha ()) # съдържа само азбука

Ще получим False за първия, защото съдържа числа, а за следващия получаваме True, тъй като съдържа само азбуки. 

Изход:

проверка за азбуки в низове

низ.isdigit ()

Този метод е подобен на горния, но вместо азбуки, той проверява дали низът се състои само от цифри. Той връща True, ако всеки символ, присъстващ в низ, е цифри; else връща False.

низ.isidentifier ()

Това също е чудесен низ метод на python. Използвайки този метод, можем да проверим дали низът е валиден идентификатор на python или не. Обсъдих правилата за избор на валиден идентификатор на python в основите на урока по python. 

Пример:

string1 = "Fosslinux123"
string2 = "123Fosslinux"
string3 = "_Fosslinux"
string4 = "Fosslinux @ 1234"
print (string1.isidentifier ()) # Вярно
print (низ2.isidentifier ()) # False (започва с цифри)
print (низ3.isidentifier ()) # Вярно
print (низ4.isidentifier ()) # False (съдържа специални символи @)

Изход:

проверка за идентификатор в низ

низ.islower ()

Този низ метод проверява дали всички символи на низа са малки. Ако отговорът е „да“, той връща „True“, а „False“.

низ.isupper ()

Този низ метод проверява дали всички символи, присъстващи в низ, са главни. Ако отговорът е „да“, тогава връща „True“, „False“.

низ.istitle ()

The istitle () методът на низа ще върне True, ако първата азбука на всички думи, присъстващи в низ, е главна, а всички останали символи са малки.

низ.отпечатва се ()

Той връща True, ако всички символи, присъстващи в низа, са за печат, т.е.д., неизбежни символи; в противен случай връща False. За да видите как работи, изпълнете следния код.

string1 = "Fosslinux"
string2 = "\ nFosslinux"
print (string1.isprintable ()) # Вярно
print (низ2.isprintable ()) # False (съдържа символа от новия ред)

Изход:

проверка за печатни знаци

низ.isspace ()

The низ.isspace () методът ще върне True, ако всички низови символи са пропуски; в противен случай ще се върне False.

Други важни функции

низ.броя()

Методът count () на обекта String се използва, за да се получи броят пъти, когато се появява определена стойност. 

Пример:

низ = "Fosslinux"
печат (низ.брой ("s"))

В горния код използвахме броя() метод за получаване на броя показвания на символа “s” в низа “Fosslinux.”

Изход:

броене на определени символи в низ

низ.започва с()

Този низ метод проверява дали низът започва с подниза, даден в аргумента на метода. За да видите практическа демонстрация на нейната работа, копирайте и стартирайте кода по-долу в IDE на Python.

низ = "Fosslinux"
печат (низ.започва с ("F"))
печат (низ.започва с ("Fo"))
печат (низ.startwith ("Foss"))
печат (низ.startwith ("Fosss"))

При стартиране на горния код ще получим True за първите три, докато последният връща False, както е показано в изходното изображение по-долу.

низът започва с

низ.завършва със()

Това е подобно на горния метод, но разликата е, че докато предишният проверява за началото на низ, той ще проверява в края на низа.

низ.намирам()

Методът find () на обекта String е важен метод за намиране на символ или подниз в низ. Той приема подниза като аргумент и връща индекса на подниза, ако присъства в низа; else връща -1. 

Пример:

низ = "Fosslinux"
печат (низ.намиране ("lin"))

При изпълнението на горния код ще получим изхода като 4, което е началният индекс на подниза „lin“ във „Fosslinux.”

функция за намиране на низове

низ.замени ()

Синтаксисът на този метод е replace (стар, нов). Необходими са два аргумента; единият е старият подниз, а новият е поднизът. Той заменя всички стари поднизове с новите поднизове в целия низ.

Пример:

низ = "Fosslinux"
печат (низ.замени ("Foss", ""))
Ще получим само Linux отпечатан на екрана като Фос се заменя с празно пространство при стартиране на горния код.  Изход: 
низ заместване функция

низ.разделяне ()

Този метод приема разделителя като аргумент, разделя низа според разделителя и връща списък на питон. 

Пример:

string = "Fosslinux е чудесно място да започнете да изучавате linux и python"
печат (низ.разделяне (""))
При изпълнението на горния код ще получим списък с низовите думи. Както използвахме функцията за разделяне с празно пространство като аргумент, така тя разделя низа, когато получи празно пространство.  Изход: 
функция за разделяне на низове на python

низ.Лента()

Този метод се използва за премахване на всички водещи и последващи бели пространства от низа.

Заключение

Това е всичко за Strings и използването му в Python. Преминаването през урока ще ви даде представа колко полезна е работата със низове в python. Може също да искате да видите урок за използване на цикъл for в python, краен цикъл за итерация в python. И накрая, преди да тръгнем, може да искате да разгледате метода за обръщане на низ в Python, който е полезен, докато обработвате низове.

Пренастройте бутоните на мишката си по различен начин за различен софтуер с X-Mouse Button Control
Може би се нуждаете от инструмент, който може да промени контрола на мишката с всяко приложение, което използвате. Ако случаят е такъв, можете да изпр...
Преглед на безжична мишка на Microsoft Sculpt Touch
Наскоро прочетох за Microsoft Sculpt Touch безжична мишка и реших да я купя. След като го използвах известно време, реших да споделя опита си с него. ...
Екранен тракпад и указател на мишката на AppyMouse за таблети с Windows
Потребителите на таблети често пропускат показалеца на мишката, особено когато са привични да използват лаптопите. Смартфоните и таблетите със сензоре...