Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/75: Рейтинг темы: голосов - 75, средняя оценка - 4.60
38 / 39 / 7
Регистрация: 13.11.2020
Сообщений: 678

Как правильно перенести строку по правилам PEP8

15.01.2021, 13:20. Показов 15765. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Python
1
arr = arr[: n - t - 1] + arr[n - t: n - t + s - m - 1] + ['.' + arr[n - t - 1] + '.'] + arr[n - t + s - m - 1:]
в каком месте правильно поставить \ и сколько пробелов нужно будет на второй строке при переносе

Добавлено через 1 минуту
пытался так(но пишет 121 continuation line under-indented for hanging indent):
Python
1
2
arr = arr[: n - t - 1] + \
 arr[n - t: n - t + s - m - 1] + ['.' + arr[n - t - 1] + '.'] + arr[n - t + s - m - 1:]
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.01.2021, 13:20
Ответы с готовыми решениями:

Как перенести правильно строку
Здравствуйте! Будьте добры, подскажите как перенести правильно строку 73. Буду благодарен!)

Как правильно перенести строку
Помогите с переносом строки! Есть рабочий код программы но он длинный в ширину из за sql запроса. Я решил его сделать более читабельным ...

В строке более 255 символов. Как правильно разделить эту строку и перенести на другую, не нарушая конструкции кода?
SELECT Prihod_materialov., Materiali.Name_materiala, Postavhiki.Name_postavhica, Prihod_materialov.ID_materiala,...

10
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
15.01.2021, 13:23
Лучший ответ Сообщение было отмечено Ychenyi как решение

Решение

Скопируйте код в PyCharm, он сам все сделает.
Пишите как нравится. Главное, чтобы количество символов в строке <= 80 (на любителя).
PyCharm:
Python
1
2
arr = arr[: n - t - 1] + arr[n - t: n - t + s - m - 1] + \
      ['.' + arr[n - t - 1] + '.'] + arr[n - t + s - m - 1:]
Количество пробелов зависит от места разрыва (я про скобки).
PyCharm:
Python
1
2
arr = arr[: n - t - 1] + arr[n - t: n - t + s - m - 1] + [
    '.' + arr[n - t - 1] + '.'] + arr[n - t + s - m - 1:]
И вы всегда можете использовать скобки
Python
1
2
arr = (arr[: n - t - 1] + arr[n - t: n - t + s - m - 1] + 
       ['.' + arr[n - t - 1] + '.'] + arr[n - t + s - m - 1:])
1
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
15.01.2021, 13:23
Лучший ответ Сообщение было отмечено Ychenyi как решение

Решение

Python
1
2
3
4
arr = arr[: n - t - 1] \
      + arr[n - t: n - t + s - m - 1] \
      + ['.' + arr[n - t - 1] + '.'] \
      + arr[n - t + s - m - 1:]
Python
1
2
3
4
arr = (arr[: n - t - 1]
       + arr[n - t: n - t + s - m - 1]
       + ['.' + arr[n - t - 1] + '.']
       + arr[n - t + s - m - 1:])
1
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
15.01.2021, 13:39
Ychenyi, это ты строки чтоль так конкатенируешь? если судить по вот этому

Цитата Сообщение от Ychenyi Посмотреть сообщение
'.' + arr[n - t - 1] + '.'

тогда все подсказки данные выше мимо, а тебе совет -используй Ф-строки, 21 век на дворе. даже в 20 веке было не принято строки складывать
2
38 / 39 / 7
Регистрация: 13.11.2020
Сообщений: 678
15.01.2021, 13:58  [ТС]
Welemir1, нет, сработало у ioprst
0
15.01.2021, 14:01

Не по теме:

Ychenyi, причем тут сработало, если со строками так не работают. Но зная где ты учишься, ок)))

0
38 / 39 / 7
Регистрация: 13.11.2020
Сообщений: 678
15.01.2021, 14:04  [ТС]
Welemir1, ну я откуда знаю почему сработало и приняло решение
скопировал просто и туда эту перенесенную строку вставил
а вообще по мне это полнейшая дичь с длинной строкой, в чем проблема не понимаю
ладно отступы , а длинные строки зачем в PEP8 занесли((
0
15.01.2021, 14:08

Не по теме:

Цитата Сообщение от Ychenyi Посмотреть сообщение
ладно отступы , а длинные строки зачем в PEP8 занесли((
Попробуй как-нибудь в vim'е через ssh редактировать сорцы со строками >79 символов. Приорешь, однозначно! :D

0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
15.01.2021, 14:30
Цитата Сообщение от Ychenyi Посмотреть сообщение
в каком месте правильно поставить \
Вы на каком питоне работаете, на линейке 2.Х ?
Там для переноса строки использовался символ \ . Начиная с версии 3.0, такой способ переноса строки считается устаревшим.
В современных версиях питона перенос строки делается без всяких специальных символов, но в пределах пока не закрыта скобка (все равно какая, круглая, квадратная или фигурная). Если скобок нет, то учитывая синтаксис, помещаете часть строки в круглые скобки (если помеченную в скобки часть можно рассматривать как выражение). Насчет скобок Вам уже сказали выше, но я концентрирую внимание, что символ \ для переноса строк теперь не используют.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
15.01.2021, 17:29
Цитата Сообщение от Ychenyi Посмотреть сообщение
а длинные строки зачем в PEP8 занесли((
Затем, что так принято в мире программистов. Писать читабельный код, а не лапшу на 700 символов без переносов и форматирования.

Насладись кодом без правил (в комментариях) https://www.gamedev.ru/projects/forum/?id=160897
и подумай, что тебе однажды придется такое разбирать.
2
38 / 39 / 7
Регистрация: 13.11.2020
Сообщений: 678
16.01.2021, 02:46  [ТС]
Viktorrus, вообще на 3.8.2(repl it) и в pycharm
но код загружаю в систему тестирующую а там по PEP8 все требует и поэтому длина строки <101 должна быть
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.01.2021, 02:46
Помогаю со студенческими работами здесь

Как перенести длинную строку кода на другую строку?
Код строки №20 кажется большим, хотел вот перенести эту часть кода на другую строку, но как - не знаю. Code::Blocks вчера только установил....

Как перенести строку текста на новую строку textBox?
\n не работает textBox3.Text = named.Name + &quot;\n&quot; + descriptioned.Description;

Как правильно перенести информацию
Помогите решить следующую проблему: Есть HDD, разделённый на 4 локальных диска &quot;d&quot;, &quot;e&quot;, &quot;f&quot;,...

Как правильно перенести сайт?
Такая проблема: есть хостер, но он закрывается, и мне нужно перенести сайт. Сайт хорошо сидит в топе по многим СЧ и НЧ. Если я переношу...

Как правильно перенести проект?
Создал проект и справку к нему с помощью HTML Help Workshop. Как мне привязать ее к экзешнику, чтобы на другом компьютере она вызывалась по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru