Python. Рядки. Загальні поняття. Оголошення рядка. Операції над рядками. Приклади




Рядки. Загальні поняття. Оголошення рядка. Операції над рядками. Приклади


Зміст


Пошук на інших ресурсах:

1. Визначення рядка. Призначення рядків

У мові програмування Python рядок – це вбудований тип, який призначений для зберігання та представлення символьної чи текстової інформації в упорядкованому вигляді. З синтаксичної точки зору рядок – це послідовність символів, що взята в одинарні чи подвійні лапки.

Рядки забезпечують використання всього що може бути представлене у текстовій формі, наприклад:

  • інформацію у файлах;
  • дані про імена, описи, коментарі в базах даних;
  • адреси доменних імен в мережі Internet;
  • інформаційні тексти в документах, що підтримують кодування Unicode;
  • інше.

Рядки належать до класу об¢єктів, що називаються послідовностями. Літерали рядків, взяті в одинарних чи подвійних лапках є взаємнозамінними, тобто це є об¢єкт того самого типу.

Приклади рядків літералів.

"Hello world!"
'bestprog.net'
'1234567890'
"1234567890"
"I'm" # рядок I'm - одинарні лапки в подвійних лапках
'I"m' # рядок I"m - подвійні лапки в одинарних лапках

 

2. Які рядкові типи підтримуються в Python?

У мові Python підтримуються три типи рядків:

  • рядки типу str – призначені для представлення тексту в форматі Unicode та інших системах кодування. Цей формат містить символи в кодуванні ASCII та символи в інших кодуваннях;
  • рядки типу bytes – призначені для представлення двійкових даних;
  • рядки типу bytearray – призначені для представлення двійкових даних з врахуванням змін в типі bytes.

У версії Python 2.6 для представлення тексту Unicode використовується тип unicode.

 

3. Як оголосити змінну типу “рядок”? Загальна форма

Щоб оголосити змінну типу рядок достатньо використати оператор присвоєння =. Загальна форма оголошення змінної наступна

variable_name = string

де

  • variable_name – ім¢я змінної, яка створюється. В подальшому це ім¢я використовується у програмі та зв¢язане з рядком string;
  • string – рядок (літерал), що взятий в одинарні чи подвійні лапки.

 

4. Приклади оголошення рядкових змінних

 

a = 'abcde' # оголошення з допомогою одинарних лапок
b = "abcde" # оголошення з допомогою подвійних лапок
line = '' # пустий рядок
block_s = """abcde""" # блок в потрійних лапках
s1 = b'hello' # рядок байт у версіях 3.0 та вище
s2 = u'hello' # рядок з символами Unicode
s3 = 's\np\ta\x00m' # екрановані послідовності
s4 = r'c:\myfolder\myfile1.txt' # неформатований рядок

 

5. Чи існує в Python тип, що описує одиночний символ (наприклад char)?

Ні, не існує. Для опису одиночного символу використовується той самий рядок, що містить тільки один символ (односимвольний рядок), наприклад:

firstLetter = 'A'
lastLetter = 'Z'
zero = '0'

 

6. Базові оператори для роботи з рядками. Таблиця

Над рядками можна виконувати типові операції. Для цього у мові Python перевантажені відповідні оператори.

Нижче у таблиці наведено перелік операторів для роботи з рядками.

Оператор (операція) Використання у програмах Пояснення
+ s1+s2 Конкатенація
* s*2 Повторення
[ ] s[i] Звертання до символу рядка s за індексом i
[:] s[i:j] Витягування підрядка з позиції i до позиції j

 

7. Приклад використання оператора + конкатенації (додавання) рядків

Оператор додавання рядків позначається символом +. Оператор може використовуватись у виразах різної складності.

Приклад.

# Оператор конкатенації - додавання рядків
s1 = 'Hello'
s2 = 'world!'
s3 = s1 + ' ' + s2 # s3 = 'Hello world!'

 

8. Приклад використання оператора * повторення рядків

Оператор повторення рядків позначається символом *. Оператор утворює новий об’єкт-рядок, який повторюється задану кількість разів.

Приклад. У прикладі рядок s2 рівний трьом рядкам s1

# Оператор повторення рядків *
s1 = 'abc'
s2 = s1*3 # 'abcabcabc'

 

9. Приклад використання оператора [ ] витягування елементу рядка за його індексом

Щоб отримати один символ рядка, використовується операція індексування [ ]. Нижче наведено приклади отримання символу рядка за його індексом. Нумерація індексів починається з 0.

Приклад. У прикладі змінній c присвоюється символ з індексом [1] рядка s.

# Оператор [] - витягування символу в рядку за його індексом
s1 = 'abc'
c = s1[1] # c = 'b'

 

10. Приклад використання оператора [ : ] витягування підрядка з рядка

Оператор [:] використовується для обробки підрядків у рядках. Цей оператор має багато різновидів. Більш детально про роботу оператора [:] описується тут. У даній темі наведено декілька обмежених прикладів використання оператора витягування рядка з підрядка.

Приклад.

# Оператор [] - витягування символу в рядку за його індексом
s1 = '01234567890'
s2 = s1[2:4] # s2 = '23'
s3 = s1[:5] # s3 = '01234'
s4 = s1[:-1] # s4 = '0123456789'

 

11. Приклад обходу рядка з допомогою оператору циклу for

У прикладі продемонстровано перегляд усіх символів рядка з допомогою оператора циклу for. Розв’язується задача підрахунку кількості символів ‘z’ в рядку. Рядок вводиться з клавіатури.

# Рядки
# Приклад обходу елементів рядка у циклі for

# 1. Ввід рядка
s = str(input("Enter string: "))

# 2. Виведення рядка для перевірки - цикл обходу рядка
for c in s:
   print(c) # виведення символів рядка в стовпчик

# 3. Визначення кількості символів 'z' у рядку
count = 0;
for c in s:
    if c=='z':
        count = count+1

# виведення результату
print("count = ", count)

Результат роботи програми

Enter string: zero z1sdlkj 12+laksd
z e r o   z 1 s d l k j   1 2 + l a k s d
count = 2

 

12. Порівняння рядків. Рисунок. Приклади

Рядки можна порівнювати між собою з допомогою операторів порівняння >, <, >=, <=, ==, !=.

Рядки порівнюються за такими правилами (рисунок 1):

  1. Напрямок порівняння відбувається зліва направо;
  2. Рядки порівнюються посимвольно. Порівнюються коди відповідних символів;
  3. Порівняння рядків завершується при виконанні однієї з наступних умов:
    • порушується рівність кодів;
    • один з рядків закінчується;
    • обидва рядки закінчуються.

Python. Порівняння рядків

Рисунок 1. Порівняння рядків: a) рядки різної довжини; b) рядки однакової довжини але не співпадають коди

Два рядки вважаються рівними якщо їх довжина однакова та вони співпадають посимвольно (рисунок 2).

Python. Приклад однакових рядків

Рисунок 2. Приклад однакових рядків. Рядок s1 рівний рядку s2

Приклад. У прикладі демонструється ввід рядків та виведення результату їх порівняння.

# Ввід рядків для порівняння
s1 = input("s1 = ")
s2 = input("s2 = ")

# Порівняння рядків та виведення результату
if s1>s2:
    print("s1 > s2")
elif s1==s2:
    print("s1 == s2")
else:
    print("s1 < s2")

 

13. Приклад використання операції in для рядків

У прикладі визначається наявність символу в рядку та підрядка в рядку.

# Операція in для рядків
# Визначити, чи є символ 'n' в рядку
s = 'Transformation'

if 'n' in s:
    print("Yes")
else:
    print("No")

# Визначити, чи є підрядок 'fo' в рядку
if "fo" in s:
    print("Yes")
else:
    print("No")

 


Зв’язані теми