print("Строки/string"). 1 часть

print("Строки/string"). 1 часть

Limera1n


Сегодня я разобрался со строками, обозначаются они как str, от англ. "string". Так как информации много, я решил разделить эту тему на две или даже три части.

Давайте посмотрим, что это такое и что с этим можно делать.

Вообще, строки можно объявлять двумя способами - одинарные кавычки '_' и двойные "_".

Вот я написал свое имя, как вы можете заметить, не важно с какими кавычками мы напишем строку, вывод у нас будет только с одинарными кавычками.

Но если я захочу написать 'I'm Evgeny', то смотрите, что выйдет:

Мы видим, что у нас подсвечен только символ "I", остальное у нас не вошло в строку, так как интерпретатор нас не понимает, ему кажется, что строка только 'I' из за того, что после "I" стоит так же одинарная кавычка, а "m Evgeny'" не является строкой, так как в конце стоит закрытая кавычка, кавычки на открытие строки не было. Чтобы исправить, нужно либо занести всю фразу в двойные кавычки и наоборот, если внутри используются двойные кавычки, то ставим в начале и в конце одинарные, либо мы можем использовать escape последовательности, то есть экранировать кавычки.

Экранирование

В примере выше я показал экранирование. Чтобы экранировать мы ставим обратный слэш \ перед кавычками, которые нам нужно экранировать, то есть мы говорим интерпретатору, что эти кавычки не внешние, они принадлежат строке. И после экранирования у нас не возникает проблем с выводом строки. Но, как мы можем заметить у нас появились обратные слэши перед одинарными кавычками. Хммм... И как же это исправить? А очень просто - мы ставим print(), а в скобки помещаем нашу строку:

Так, а если нам нужно прописать внутри строки обратный слэш? Ведь он воспринимается, как специальный символ внутри строки.

Вот допустим, нам нужно определить путь на нашем диске:

Мы получаем такую ошибку. То есть интерпретатор не понимает, как в данном случае воспринимать этот символ.

А решение очень простое - мы экранируем наши слэши обратными слэшами, как бы это ни звучало :) В результате получаем:

Но путь может быть длинный, допустим ведет куда-нибудь в дебри Program Files, будет неудобно постоянно писать обратный слэш перед каждым ОБРАТНЫМ СЛЭШЕМ. Чтобы это не делать, у нас есть префикс "r", сейчас я покажу, как его применять:

"r" означает следующее: "необработанная строка", т.е. символы внутри строки обрабатываются буквально, а не означают специальную обработку следующего символа.

И в конце первой части скажу, что в строке у нас символы считаются от нуля, то есть в примере выше символ "C" является нулевым, после него уже идет первый, второй и так далее. Но про это подробней поговорим в следующей части.

На этом первая часть подошла к концу. Спасибо за внимание :)

Report Page