Python Enhancement Proposals are used to propose and document Python language features, development processes and best practices. Use [pep8] for questions about the style guide for Python code.
1 ответ

Какую реализацию OrderedDict следует использовать в python2.6?

Как некоторые из вас могут знать в python2.7/3.2, мы получим OrderedDict с PEP372, однако одна из причин, по которой существовал PEP, заключалась в том, что каждый делал свою собственную реализацию, и все они были явно несовместимы. Итак, какая из 8…
20 мар '10 в 17:39
7 ответов

Классы данных и типизация. Основные варианты использования.

Короче PEP-557 ввел классы данных в стандартную библиотеку Python, которые в основном могут выполнять ту же роль, что и collections.namedtuple а также typing.NamedTuple, И теперь мне интересно, как разделить сценарии использования, в которых namedt…
1 ответ

Постоянная переменная, даже если она меняется

Пожалуйста, рассмотрите этот код после запуска Pylint: ''' Test ''' i = 0 while i < 4: myvar = i i = i + 1 Пилинт сообщает:Constant name "myvar" doesn't conform to UPPER_CASE naming style (invalid-name)Но сколько стоит myvar неужели константа, ко…
05 сен '18 в 06:38
2 ответа

Синтаксический сахар Python: псевдонимы функций

Есть ли синтаксис для псевдонимов функций аргументов? Если нет, есть ли предложения PEP? Я не теоретик языков программирования, поэтому мое мнение, вероятно, неосведомлено, но я думаю, что реализация некоторого вида псевдонимов аргументов может быть…
05 ноя '15 в 23:18
2 ответа

Как документировать возвращенный список в Python

У меня есть кусок кода, который очищает веб-страницу расписания колледжа и генерирует список списков списков (списков), например, так: [[[[start_time, end_time], [module_code, period_type, {period_number}], [room_code]], {next modules...}],{next_day…
25 сен '12 в 10:18
2 ответа

Назначение изменяемого компонента кортежа в python: ошибка? особенность?

Мы знаем, что кортежи Python неизменны, хорошо. Когда я пытаюсь изменить ссылку компонента кортежа, я получаю исключение, как и ожидалось. Что не ожидается, так это то, что компонент изменяется независимо от исключения, тогда как я бы подумал, что н…
26 апр '13 в 07:35
2 ответа

Проигнорируйте повышение исключения для вызывающей стороны в Python 3

Как я могу игнорировать определенное исключение, которое будет вызвано для вызывающей стороны в Python 3? Пример: def do_something(): try: statement1 statement2 except Exception as e: # ignore the exception logging.warning("this is normal, exception…
20 авг '16 в 17:57
2 ответа

Должно ли определение кодировки быть в 1-й /2-й строке в Python?

От PEP263: Чтобы определить кодировку исходного кода, магический комментарий должен быть помещен в исходные файлы в виде первой или второй строки файла, например: # coding=<encoding name> или (используя форматы, признанные популярными редактор…
14 мар '17 в 04:38
1 ответ

Правильный способ назначения переменных в функции класса, чтобы избежать ошибки PEP E501 в Python

Я вызываю функцию из объекта класса, например: class_name.function( var1=1, var2=10, this_is_a_long_variable_name=this_is_another_long_variable, var4=15 ) Если я сделаю это в третьей строке, я получу ошибку PEP 8 E501: слишком длинная строка. Если я…
18 май '17 в 15:48
1 ответ

Декораторы на основе классов в Python - какой PEP определяет синтаксис и семантику?

Я открываю полный список PEP: http://legacy.python.org/dev/peps/ и выполняю поиск по decorator ключевое слово. Есть два PEP с этим ключевым словом в заголовке: 318: декораторы для функций и методов 3129: декораторы класса но они ничего не говорят о …
02 июн '14 в 21:43
2 ответа

Назначение с продолжением строки - Python

Я надеюсь, что я не нарушаю никаких правил SO с этим: какой предпочтительный стиль для назначения значений переменным, когда переменные вложены в несколько уровней глубиной, имеют довольно длинные имена и им присваиваются довольно длинные значения /…
26 мар '14 в 22:28
3 ответа

doesPythonLikeCamels

Являются ли имена Java CamelCase в стиле Python хорошей практикой? Я знаю, что Capilized имена должны быть зарезервированы для имен классов. Методы должны быть маленькими буквами в соответствии с хорошим стилем, или на самом деле я не уверен. Есть л…
31 авг '10 в 14:39
7 ответов

E731 не назначайте лямбда-выражение, используйте def

Я получаю это предупреждение pep8 всякий раз, когда я использую лямбда-выражения. Лямбда-выражения не рекомендуются? Если нет, то почему?
29 июл '14 в 07:26
0 ответов

Руководство по стилям Python 3 и PEP для представления пар глобальных значений словарного ключа ()

Я не мог найти ссылки PEP на следующее соглашение: def dict_to_var(dictionary:dict) -> None: for variable, value in dictionary.items(): if variable not in globals(): globals()[variable] = value который предполагает, что каждый ключ в dictionary я…
16 дек '18 в 14:36
1 ответ

Спецификация API базы данных для Java

Существует ли спецификация Database API для Java, которая похожа на ту, что существует для Python ( PEP249). Я хотел бы создать приложение, которое можно использовать для универсального подключения к базам данных, не беспокоясь о типе механизма базы…
08 мар '17 в 05:28
2 ответа

Как использовать вкладки, не вызывая предупреждений PEP

Я использую PyCharm и вкладки. Если есть функция с несколькими параметрами для передачи, я могу сделать это следующим образом: return render( request, '/post/list.html', {'page': page, 'posts': posts} ) Но иногда это выглядит лучше и компактнее: ret…
18 фев '19 в 10:46
2 ответа

Python PEP-8: назначение после E122 и E501

Как мне улучшить назначение многих или длинных переменных, чтобы следовать правилам E122 и E501 в случае, как показано ниже: def my_example_function(): return 1, 2, 3, 4 # How can I improve the following line: first_variable, second_variable, third_…
09 ноя '15 в 17:05
1 ответ

Проблема с кодировкой в ​​python

Итак, я прочитал множество вопросов, и каждый из них забыл поставить # coding: <encoding> Строка в начале или что-то в этом роде. Моя проблема в этом, хронологически. 1) Я тоже забыл поставить кодировку при работе с кириллическими литералами 2…
10 июл '14 в 12:47
0 ответов

Почему sqlite3 все еще использует __conform__?

Я заметил, что sqlite3Библиотека по-прежнему использует __conform__-метод адаптации объектов для хранения в базе данных. Тогда вам нужно дать вашему классу метод __conform__(self, protocol) который должен вернуть преобразованное значение. ^ Документ…
05 апр '18 в 13:07
2 ответа

PEP 354-подобная реализация перечислений

В какой-то момент разработчики Python рассматривали перечисления для добавления в язык, но они отказались от этой функции. Есть ли какая-то реализация PEP 354? - спецификация кажется довольно надежной.
26 сен '11 в 23:50