Python максимальный размер string

максимальная длина строки в питоне

Я использую emacs для моего кодирования python. поэтому, когда я использую enter для прерывания строки, я могу использовать вкладку для отступов, а иногда мне нужно использовать \for indentation так что лучший способ сделать это. благодаря

Вы разбиваете на очень произвольные столбцы . Почему, например, вы не разбиваете запятые? Кроме того, видя, что эта строка такая длинная, почему вы фактически выполняете вызов select_related в этой самой строке?

PEP 8 был написан в 2001 году. С тех пор все изменилось. Я не думаю, что это проблема иметь строки длиной более 80 символов.

@Julian: PEP 8 регулярно обновляется. Последнее обновление было менее двух недель назад. Это преднамеренно, что это все еще включает рекомендацию из 79 символов. Конечно, это зависит от вас, хотите ли вы следовать этому. Я считаю, что это делает код более читабельным.

Ограничение на количество символов все еще может быть полезным, потому что иногда вы читаете код на маленьком экране или без второго монитора.

2 ответа

Максимальная длина строки в 79 символов рекомендуется PEP 8, и я обычно не считаю это слишком сложным для выполнения этой рекомендации.

Также в соответствии с PEP 8 я стараюсь полагаться на подразумеваемое продолжение строки в круглых скобках. Данный пример можно легко разделить на два утверждения:

qy = MyModel.objects.filter( name='abcd', modified_on__range=(now - delta_6, now),type=1) qy = qy.select_related('Author') 

Если ваш код выполняет много цепочки методов, вы можете предпочесть добавить пару парнеров для получения неявного продолжения строки:

qy = (MyModel.objects .filter(name='abcd', modified_on__range=(now - delta_6, now),type=1) .select_related('Author')) 

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

Я бы переписал ваш код, как это, если вы хотите следовать рекомендациям PEP 8:

qy = MyModel.objects.filter(name='abcd', modified_on__range=(now-delta_6, now), type=1).select_related('Author') 

Что касается того, следует ли вам следовать максимальной длине линии, предложенной в PEP 8, это действительно зависит от вас.

Читайте также:  301 redirect with php

PEP 8 предназначен для повышения удобочитаемости кода Python, а длина строки из 79 символов — для совместимости с некоторыми устройствами с ограничением ширины и для упрощения просмотра боковых сторон. У меня довольно широкие экраны, поэтому, хотя я стараюсь следовать за PEP 8 большую часть времени, это одно правило, которое я проигнорирую, если я чувствую, что разделение линии уменьшает читаемость.

Ещё вопросы

  • 0 Отказано в доступе при экспорте файла CSV из mySQL (MariaDB) в целевую папку
  • 0 глобальная переменная с session_start ();
  • 1 Выполнить ручной откат в среде JTA в EJB без сохранения состояния
  • 1 Как заставить функцию выставлять свои объекты и методы-члены, используя RequireJS AMD
  • 1 Какой фильтр для кодирования PNG чересстрочной с использованием компонентов обработки изображений Windows (WIC) с оболочкой C #?
  • 0 angularjs: сортировка с использованием статусов приложения?
  • 1 Python 3 добавляет элементы в список независимо от ключа, используемого в dict
  • 0 PHP Назначение переменных для нескольких строк динамической формы
  • 0 c ++ редактировать определенное слово из строки в текстовом файле
  • 1 Добавление значений, возвращаемых SQL-запросом, чтобы получить итог?
  • 0 IE8 & 9 — нет объекта ответа jquery ajax
  • 1 LibSVM и Weka API не работали вместе
  • 0 Поделитесь данными в контроллере в angularjs
  • 0 Попытка использовать кнопку, чтобы установить значение в $ scope
  • 0 Как выполнить модульное тестирование контроллера с обратным вызовом в AngularJS
  • 0 MySQL один ко многим получает не подходящую запись
  • 1 Сбой ‘npm install bcrypt’ в 64-битной Ubuntu 17.04
  • 1 Node.js — console.log не показывает элементы в массиве, а вместо этого показывает [Object]
  • 2 WildFly: ошибка при запуске
  • 0 AngularJS 10 $ digest () достигнуты итерации. Попытка синхронизировать службу, контроллер и представление с помощью $ watch работает, но вызывает ошибки
  • 1 Где разместить SwingUtilities.invokeLater в отдельном Java-приложении с поддержкой Spring?
  • 0 Программа перестает работать при вызове функции.
  • 1 Как я могу ускорить буферизованный перевод WCF?
  • 0 Можно ли манипулировать выводом html элемента управления на страницу?
  • 0 Получить HTML-теги как страницу из базы данных
  • 1 При загрузке изображения с использованием XmlHttpRequest я получаю эту ошибку
  • 1 Сброс порядковых номеров акцептора в качестве инициатора без возможности использования onLogon
  • 0 Проблемы понимания ассоциаций в Sequelize для энергичной загрузки
  • 0 Как добавить модуль в AngularJS ngBoilerplate?
  • 1 Как перенести поведение в отдельные классы
  • 1 Используйте Google PaymentRequest на локальном сайте, работающем в эмуляторе Android
  • 0 Как найти пункт двух значений в одном поле?
  • 0 Codeigniter — обязательное поле для проверки формы 2 с несоответствующим значением
  • 0 Ошибка нижнего индекса вектора вне диапазона
  • 0 Qt указывает местоположение для определенных данных приложения
  • 0 C # UWP Форма входа, проверяющая учетные данные в удаленной базе данных MySQL
  • 0 Переключение между реализациями функций с помощью указателей функций
  • 0 Проверка формы symfony игнорирует сообщения
  • 1 Python / Flask-WTF — Как я могу рандомизировать выбор из динамического RadioField?
  • 0 Динамически добавлять Div в HTML JavaScript
  • 1 Испытайте JavaScript для детей. Глава 6. Какой правильный ответ
  • 1 улучшения в коде
  • 0 Свойство AngularJS не связано с первым вызовом
  • 1 D3 SVG с конечной высотой и шириной
  • 0 JQuery Выберите переменную из внешней функции
  • 0 CSS негативное фоновое изображение
  • 1 Строка заменяет логику
  • 0 HTML-форма Codeigniter — нельзя нажимать на поля ввода
  • 0 Инвертирование списка номеров и пропуск других [закрыт]
Читайте также:  Округление вверх питон формула

Источник

Какая максимально допустимая длина строки с кодом в Python?

1. Какая максимально допустимая длина строки с кодом в Python? 79 или 119?
2. Для чего вообще нужно это ограничение?
3. Соблюдаете ли вы это правило в своем коде?

sim3x

У этого параметра есть несколько аспектов.
1)
Самая древняя причина — это размер окна редактора. Раньше терминалы были и там был стандантрный размер 80×24 (80 колонок на 24 строки). Соответственно, длинные строки некрасиво переносились или вылазили за край в невидимую область (в зависимости от редактора). Там ещё могут быть причины, но из той же области.
2)
Есть такое правило: один оператор — одна строка. Связано это с отладчиками. Когда в отладчике происходит ошибка в операторе, тот указывает строку, в которой ошибка. Если в строке несколько операторов, то непонятно, в каком из них ошибка, и приходится их разделять по разным строкам и прогонять всё заново. На это уходит время, время складывается в часы, часы — в дни.
3)
Есть обычные мозги человека, который читает код. В мозгах всё делится на сознательное и бессознательное (за пределами сознания). Сознание может удерживать не более 7 объектов одновременно. Если объектов больше, бессознательное помогает ему сгрупировать их всё равно в 7 объектов (только некоторые становятся группами). Поэтому чем длиннее строка, тем дольше ты её обдумываешь (время уходит на эти группировки лишних объектов в группы).
4)
Есть там ещё комментарии в некоторых языках, где для комментирования какого-то фрагмента, нужно переносить его на отдельную строку. Поэтому когда операторы на одной строке, ты не можешь один из них закомментировать тут же. То есть либо ты их разносишь по разным строкам, либо ты экономишь время и что-нибудь не проверяешь, что надо было бы проверить.

Читайте также:  Android https get html

Войдите, чтобы написать ответ

Я неправильно добавляю кнопки в сообщение. Как правильно?

Источник

Оцените статью