Работа со строками в Python: литералы
Строки в Python — упорядоченные последовательности символов, используемые для хранения и представления текстовой информации, поэтому с помощью строк можно работать со всем, что может быть представлено в текстовой форме.
Это первая часть о работе со строками, а именно о литералах строк.
Литералы строк
Работа со строками в Python очень удобна. Существует несколько литералов строк, которые мы сейчас и рассмотрим.
Строки в апострофах и в кавычках
Строки в апострофах и в кавычках - одно и то же. Причина наличия двух вариантов в том, чтобы позволить вставлять в литералы строк символы кавычек или апострофов, не используя экранирование.
Экранированные последовательности — служебные символы
Экранированные последовательности позволяют вставить символы, которые сложно ввести с клавиатуры.
| Экранированная последовательность | Назначение |
|---|---|
| \n | Перевод строки |
| \a | Звонок |
| \b | Забой |
| \f | Перевод страницы |
| \r | Возврат каретки |
| \t | Горизонтальная табуляция |
| \v | Вертикальная табуляция |
| \N | Идентификатор ID базы данных Юникода |
| \uhhhh | 16-битовый символ Юникода в 16-ричном представлении |
| \Uhhhh… | 32-битовый символ Юникода в 32-ричном представлении |
| \xhh | 16-ричное значение символа |
| \ooo | 8-ричное значение символа |
| \0 | Символ Null (не является признаком конца строки) |
«Сырые» строки — подавляют экранирование
Если перед открывающей кавычкой стоит символ ‘r’ (в любом регистре), то механизм экранирования отключается.
Но, несмотря на назначение, "сырая" строка не может заканчиваться символом обратного слэша. Пути решения:
Главное достоинство строк в тройных кавычках в том, что их можно использовать для записи многострочных блоков текста. Внутри такой строки возможно присутствие кавычек и апострофов, главное, чтобы не было трех кавычек подряд.
Это все о литералах строк и работе с ними. О функциях и методах строк я расскажу в следующей статье.
Для вставки кода на Python в комментарий заключайте его в теги
- Модуль csv - чтение и запись CSV файлов
- Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
- Онлайн-обучение Python: сравнение популярных программ
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте
Python-сообщество
![]()
- Начало
- » Python для новичков
- » Просьба помочь с IDLE
#1 Сен. 13, 2013 19:40:27
Kentavr Зарегистрирован: 2013-09-10 Сообщения: 25 Репутация: 0 Профиль Отправить e-mail
Просьба помочь с IDLE
Объясните, как делать перенос на другую строчку без выполнения написанной перед этим команды.
Я хочу в начале программы написать:
print(“Type integers, each followed by Enter; or just Enter to finish”) - тут понятно.
Но чтобы написать дальше:
total = 0
count = 0
я вынужден нажимать клавишу Enter, а это приводит к выполнению верхней строчки в IDLE.
Появляется надпись
Type integers, each followed by Enter; or D or Z to finish
Есть какой-то альтернативный перенос на следующую строку, без выполения?
Отредактировано Kentavr (Сен. 13, 2013 19:42:20)
#2 Сен. 13, 2013 19:49:58
Kentavr Зарегистрирован: 2013-09-10 Сообщения: 25 Репутация: 0 Профиль Отправить e-mail
Просьба помочь с IDLE
#3 Сен. 13, 2013 19:50:46
Kentavr Зарегистрирован: 2013-09-10 Сообщения: 25 Репутация: 0 Профиль Отправить e-mail
Просьба помочь с IDLE
Но tab открывает список возможных команд и пишет пробелы, когда написана команда.
Отредактировано Kentavr (Сен. 13, 2013 19:55:48)
#4 Сен. 13, 2013 20:07:51
4kpt От: Харьков Зарегистрирован: 2010-11-03 Сообщения: 998 Репутация: 63 Профиль Отправить e-mail
Просьба помочь с IDLE
Под какой осью работаете?
#5 Сен. 13, 2013 20:20:54
Kentavr Зарегистрирован: 2013-09-10 Сообщения: 25 Репутация: 0 Профиль Отправить e-mail
Просьба помочь с IDLE

Windows 7. Из-за такого пустяка обучение остановилось… просьба срочно помочь!
Отредактировано Kentavr (Сен. 13, 2013 20:22:53)
#6 Сен. 13, 2013 20:23:08
4kpt От: Харьков Зарегистрирован: 2010-11-03 Сообщения: 998 Репутация: 63 Профиль Отправить e-mail
Просьба помочь с IDLE
Установите PyScripter. Это решит большую часть ваших проблем. Взять можно отсюда:
Не забудьте только выбрать нужную битность
Отредактировано 4kpt (Сен. 13, 2013 20:23:43)
#7 Сен. 13, 2013 20:37:41
Kentavr Зарегистрирован: 2013-09-10 Сообщения: 25 Репутация: 0 Профиль Отправить e-mail
Просьба помочь с IDLE
Спасибо. А можно ответить на вопрос по теме? Какую кнопку жать, чтобы переносить курсор на другую строку без выполнения? Хочу пока в IDLE поработать.
Отредактировано Kentavr (Сен. 13, 2013 20:38:00)
#8 Сен. 13, 2013 20:49:26
4kpt От: Харьков Зарегистрирован: 2010-11-03 Сообщения: 998 Репутация: 63 Профиль Отправить e-mail
Просьба помочь с IDLE
Ну если Вам нравятся извращения с компьютером, то…
В чистом виде IDLE работает как обычный интерпретатор, но можно создавать скрипты.
То, что Вы хотите делать можно назвать таким образом (еще называют сценариями выполниения).
Для этого необходимо предварительно создать скрипт.
1. Нажимаете Ctrl+N или File -> New Window и получаете новое окно. Старое не закрываете.
2. Вводити в это новое беленькое окно свой скрип, например (обратите внимание, что каретка сама подвинется при необходимости).
str_ = "12345" for char in str_: print char
3. Запускаете скрипт клавишей F5 или Run -> Run Module.
4. Скрипт просит себя сохранить.
5. Выбираете место сохранения и имя файла (не забываете указать расширение .py, например proba_pera.py). Это нужно, чтобы скрипт отображался далее с подсветкой.
6. В первом окне (которое Вы не закрыли) Вы получаете результат исполнения скрипта.
Python 2.7 (r27:82525, Jul 4 2010, 09:01:59) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
1
2
3
4
5
>>>
Отредактировано 4kpt (Сен. 13, 2013 21:20:42)
Перенос строки без выполнения команды
Начал изучать питон (пайтон) и конечно же в процессе появилось множество различных вопросов (из них большинство достаточно нубских), и вот первый из них - возможно ли в командной строке как то перенести часть команды на новую строку без выполнения? Понтяно что лучше писать в текстовом редакторе и потом запускать файл через ком строку но все же интересно возможно ли такое реализовать в самом cmd, перенося команды а не писать все в одну строчку.
вообще как то странно работает cmd в некоторых коммандах -, сперва нужно ввести команду затем нажать enter, затем еще раз нажать, чтобы команда выполнилась.
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Запись find в файл без выполнения команды
Помогите пожайлуста, как записать команду find в файл чтобы find не выполнялась? Я пытаюсь с.
Последствия выполнения команды update без изменения данных
не могу найти ответа на данный вопрос. может кто-то сможет объяснить?

Освобождение консоли для выполнения следующей команды без останова предыдущей
Приветствую всех! Собственно сабж. Имеется стенд из четырех серваков. На сиим стенде.
Записать в переменную значение, получаемое в результате выполнения команды WMIC, без использования циклов
Сканируем все диски. Находим диск с именем qwerty. Выводим букву этого диска для последующей работы.
Поиск определённой строки в выводе результата выполнения команды
Доброго времени суток. Столкнулся с проблемой поиска строки, содержащей только числовое.
![]()
5890 / 3348 / 1034
Регистрация: 03.11.2009
Сообщений: 9,977

Сообщение было отмечено crypton_ua как решение
Решение
Сообщение от crypton_ua 
возможно ли в командной строке как то перенести часть команды на новую строку без выполнения?
возможно, перед переносом строки нужно поставить обратный слеш
1 2 3 4 5 6 7
>>> [x for x in \ . range(1, \ . 3) \ . ] [1, 2] >>> >>>
Сообщение от crypton_ua 
вообще как то странно работает cmd в некоторых коммандах
в cmd или в интерактивном интерпретаторе python?
Сообщение от crypton_ua 
сперва нужно ввести команду затем нажать enter, затем еще раз нажать, чтобы команда выполнилась.
если вы имеете ввиду ввод функции - то это не странно, это способ для интерпретатора понять, что ввод функции закончен.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
После выполнения определённой команды не выполняются последующие команды
Объясните, пожалуйста, почему может останавливаться выполнение второй и далее комманд? cd.

Запуск командной строки с заготовленной командой, без её выполнения
День добрый. Нужен метод запуска консоли с заранее вбитой туда командой, но так что бы аргументы.

Перенос строки поиска без файла страницы
В админке сайта имеется всего один вариант, позволяющий редактировать некоторые элементы, один из.
Перенос строк кода Python
Подписывайтесь на мой канал в Телеграм @pyway , чтобы быть в курсе о новых статьях!
PEP-8 не рекомендует писать строки кода длиннее, чем 79 символов. С этим можно не согласиться, однако, встречаются строки, которые не влезают даже на наши широкоформатные мониторы.
Старайтесь не делать очень длинные строки, разбивая сложные условия или формулы на отдельные части, вынося их в переменные или функции с осмысленными названиями.
Если есть острая необходимость иметь длинное выражение, тогда приходится переносить код на следующие строки. Можно делать двумя способами: скобками и слэшем.
Если, перед выражением открыта скобка (круглая, квадратная или фигурная в зависимости от контекста), но она не закрыта в этой строке, то Python будет сканировать последующие строки, пока не найдет соответствующую закрывающую скобку (англ. implicit line joining). Примеры:
# вычисления income = (gross_wages + taxable_interest + (dividends - qualified_dividends) - ira_deduction - student_loan_interest) if (student_loan_interest > ira_deduction and qualified_dividends == 0): . # словари d = < "hello": 10, "world": 20, "abc": "foo" ># аргументы функции some_func(arg1, arg2, more_arg, so_on_and_on)
Обратите внимание, что в первом примере скобки очень важны. Без скобок код не скомпилируется из-за отступов, а если их убрать, то результат будет неверен: income станет gross_wages, а последующие строки не будут иметь эффекта!
# неправильно! income = gross_wages + taxable_interest + (dividends - qualified_dividends) - ira_deduction - student_loan_interest
Метод переноса обратным слэшем. Ставим обратный слэш конце строки и сразу энтер (перенос строки): тогда следующая строка будет включена в текущую (англ. explicit line joining), не взирая на отступы, как будто бы они написаны в одну строку:
income = gross_wages \ + taxable_interest \ + (dividends - qualified_dividends) \ - ira_deduction \ - student_loan_interest
Еще примеры со слэшем:
if student_loan_interest > ira_deduction \ and qualified_dividends == 0: . # допустимо, согласно PEP-8 with open('/path/to/some/file/you/want/to/read') as file_1, \ open('/path/to/some/file/being/written', 'w') as file_2: file_2.write(file_1.read()) # пробелы в строку попадут, а энтер - нет! str = "Фу\ < вот эти пробелы тоже в строке"
Почему скобки лучше для переноса:
- Лучше восприятие
- Скобок две, а слэшей надо по одному на каждый перенос
- Можно забыть слэш и сломать код
- Можно поставить пробел после слэша и тоже сломать
Специально для канала @pyway. Подписывайтесь на мой канал в Телеграм @pyway
