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’ в строке. Строка вводится с клавиатуры.

# Строки
# Пример обхода элементов строки в цикле

# 1. Ввод строки
s = str(input("Enter string: "))

# 2. Вывод строки для проверки - цикл обхода строки
for c in s:
    print(c, end=' ') # посимвольный вывод строки
print()

# 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. Сравнение строк: а) строки разной длины; б) строки одинаковой длины

Две строки считаются равными если их длина одинакова и они совпадают посимвольно (рисунок 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")

 


Связанные темы