Строки. Общие понятия. Объявление строки. Операции над строками. Примеры
Содержание
- 1. Определение строки. Назначение строк
- 2. Какие строковые типы поддерживаются в Python?
- 3. Как объявить переменную типа «строка»? Общая форма
- 4. Примеры объявления строковых переменных
- 5. Существует ли в Python тип, который описывает одиночный символ (например char)?
- 6. Базовые операторы для работы со строками. Таблица
- 7. Пример использования оператора + конкатенации (сложение) строк
- 8. Пример использования оператора * повторения строк
- 9. Пример использования оператора [] вытягивания элемента строки по ее индексу
- 10. Пример использования оператора [:] вытягивания подстроки из строки
- 11. Пример обхода строки с помощью оператора цикла for
- 12. Сравнение строк. Рисунок. Примеры
- 13. Пример использования операции in для строки
- Связанные темы
Поиск на других ресурсах:
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).
Рисунок 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")
⇑
Связанные темы
⇑