Работа со строками в Python
В этой статье, мы познакомимся с базовыми основами работы со строками в Python. Строка (string) содержит в себе набор символов в кодировке ASCII и относится к неизменяемому типу данных.
Создание строки в Python
Для создания строки в Python существует три способа.
1) В одинарных кавычках (апострофы)
'одинарные кавычки в строке'
2) В двойных кавычках
"двойные кавычки в строке"
3) В тройных одинарных или двойных кавычках
'''строка_1
строка_2
строка_3'''
'строка_1\nстрока_2\nстрока_23\n' // после нажатия ENTER
print('строка_1\nстрока_2\nстрока_23\n')
// выведет на экране
строка_1
строка_2
строка_3
Последний способ применяется для создания многострочной строки. Когда часть строки нужно перенести на новую строку. Внутри программы на месте переноса строк, Python добавляет символ \n. При выводе на экран многострочной строки, в параметрах print('строка_1\nстрока_2\nстрока_23\n'), передается вся эта конструкция.
Нельзя смешивать разновидности кавычек в одной строке, если открыли строку двойной кавычкой, то и закройте строку так же двойной кавычкой.
Обычно строки помещают в переменные, используя оператор присваивания.
new_str = 'переменной присвоили строку'
В Python допускается создание пустой строки.
empty = ''
Конкатенация строк в Python
Операция конкатенация (concatenate) объединяет несколько строк в одну.
a = 'con'
b = 'cat'
c = 'enate'
a + b + c
'concatenate'
Если надо объединить строки с пробелами, то добавляем пробел в кавычках:
d = 'конкатенация'
f = 'строк'
d + ' ' + f
'конкатенация строк'
Как преобразовать число в строку
Попытка склейки разного типа данных, например строки и целого числа, приведет к ошибке. Поэтому, для начала нужно преобразовать число в строку - поставить перед числом оператор str.
'строка' + 10 // неправильно
'строка' + str(10) // правильно
'строка10' // результат
Повторение строки в Python
Как быстро выполнить операцию повторения строки? Очень просто - умножить строку на число повторений.
multi = 'ой-'
print(multi*3)
ой-ой-ой
Длина строки в Python
Операция по вычислению длины строки, довольно часто применяется в программировании. Название функции len - сокращенное от анг. слова length (длина). Функция len() вычисляет количество символов в строке вместе с пробелами. Буквы, знаки пунктуации, пробелы в строке - все это символы.
>>> d_str = 'Длина строки'
>>> len(d_str)
12 // результат
Поиск подстроки в строке в Python
С помощью команды in, можно проверить содержится ли подстрока (символ/ы) в строке, ответом будет истина / ложь.
>>> sub_str = 'поиск подстроки'
>>> 'к' in sub_str
True
>>> s = 'найти подстроку'
>>> 'ю' in s
False
Сравнение строк в Python
К строкам в Python, также можно применять математические операторы сравнения (больше, меньше, равно), однако сравниваются они совсем по другим принципам, нежели числа. Машина сравнивает строки по кодовым значениям символов.
Утверждение, что:
'xy' > 'abc'
True // верно
Здесь у вас наверняка возник вопрос: "Ведь буква "a" стоит выше по алфавиту, чем "x"? В чем подвох? Выведем кодировку первых символов у двух строк. Число 120 явно больше, чем 97.
>>> ord('x')
120
>>> ord('a')
97
Строка из заглавных букв, всегда будет меньше строки из маленьких букв. Поскольку кодовые значения больших букв меньше, чем у маленьких.
Заключение
Я слышал не один раз от разных людей, что программирование они начинали изучать с JavaScript или PHP и не сильно в этом преуспели. И сразу после первой неудачной попытки, поставили крест на программировании, посчитали, что нет у них способностей к этому. Позже, они признались, что непонятные вещи в JavaScript / PHP, стали понятными в процессе изучения Python.
Почему так произошло? Я объясняю этот феномен, более простым синтаксисом в Python. Новичок мог позволить себе больше концентрироваться на логике, засчет легкого восприятия синтаксиса. Вот и весь секрет успеха! Не сдавайтесь так просто, попробуйте мой видеокурс по Python, на простом языке и с упражнениями к урокам!
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.