Tag: pep8

Сохраняете краем 80 символов долгое время с заявлением?

Что такое pythonic путь к PEP-8-ify, например, с выражением: with tempfile.NamedTemporaryFile(prefix='malt_input.conll.', dir=self.working_dir, mode='w', delete=False) as input_file, tempfile.NamedTemporaryFile(prefix='malt_output.conll.', dir=self.working_dir, mode='w', delete=False) as output_file: pass Я мог бы это сделать, но так как tempfile i / o не with оператором with , он автоматически закрывается после с? Это питонов ?: intemp = tempfile.NamedTemporaryFile(prefix='malt_input.conll.', dir=self.working_dir, mode='w', delete=False) outtemp […]

Сравнение с булевыми массивами numpy VS PEP8 E712

PEP8 E712 требует, чтобы «сравнение с True должно быть, if cond is True: или if cond: ». Но если я следую за этим PEP8 я получаю разные / неправильные результаты. Зачем? In [1]: from pylab import * In [2]: a = array([True, True, False]) In [3]: where(a == True) Out[3]: (array([0, 1]),) # correct results […]

Выражения с «== True» и «True» дают разные результаты

У меня есть следующий MCVE : #!/usr/bin/env python3 import pandas as pd df = pd.DataFrame([True, False, True]) print("Whole DataFrame:") print(df) print("\nFiltered DataFrame:") print(df[df[0] == True]) Результат следующий: я ожидал: Whole DataFrame: 0 0 True 1 False 2 True Filtered DataFrame: 0 0 True 2 True Хорошо, но стиль PEP8 кажется неправильным, он говорит: сравнение E712 […]

Рекомендация PEP8 E226

Код ошибки E226 – это «пробел пробела вокруг арифметического оператора» . Я использую пакет Anaconda в Sublime, который будет выделяться как нарушение PEP8 E226, например, эта строка: hypot2 = x*x + y*y Но в руководстве по стилю PEP8 Guido эта линия фактически показана в качестве примера рекомендуемого использования пробелов внутри операторов. Вопрос: что является правильным […]

Как работать с длинными строками кода и команд в Python

Я пробовал искать, но я не мог найти ситуаций, подобных моим. Я пишу программу, и до сих пор я придерживался не более 79 символов в линейном правиле. Однако я не уверен, где сломать линии в нескольких ситуациях. Вот проблемы: self.proc.stdin.write('(SayText "%s")\n' % text.replace('\\', '\\\\').replace('"', '\\"')) Для этой ситуации, когда я прерываю первую строку после «(SayText«% […]

Сделайте Pylint заботой о пустых строках

Я не сторонник большинства вещей pep-8, но некоторые вещи, которые я лично предпочитаю при написании кода (в отличие от работы, где я буду придерживаться стиля или недостатка существующей базы кода). Одна вещь, которую я лично придерживаюсь, – это предложение pep-8 о пустых строках : Функция верхнего уровня верхнего уровня и определения классов с двумя пустыми […]

Как я могу исправить поведение нарушения поведения Vim для длинных строк в Python?

Итак, вот мои проблемы. Предположим, у меня есть файл Python, и я набираю действительно длинную строку, например, последнюю: class SomeClass(object): def some_method(self): some_variable = SomeOtherClass.some_other_method(some_parameter=some_value) Когда я набираю это в Vim, это происходит: class SomeClass(object): def some_method(self): some_variable = SomeOtherClass.some_other_method(some_parameter=some_value) Это не просто плохой стиль, он разбивает PEP8. Я бы хотел: class SomeClass(object): def some_method(self): […]

Спецификация подписи PEP8

PEP 8 относительно висячего отступа: При использовании висячего отступа следует применять следующие соображения; в первой строке не должно быть никаких аргументов, и следует использовать дополнительный отступ, чтобы четко отличить себя как линию продолжения. Есть ли явная документация о «под-аргументах»? Например: some_method(argument_one, argument_two, argument_three=[ 'parameter_one', 'parameter_two', 'parameter_three', ]) В отличие от: some_method( argument_one, argument_two, argument_three=[ 'parameter_one', […]

Ошибка функции: Raise Exception или возврат FALSE? Какой лучший подход?

Мне было интересно, как вы, парни, справляетесь с функциями, терпит неудачу. Вы вызываете исключение или возвращаете сообщение об ошибке? eG У меня есть функция, которая должна подключаться к внешнему ком-объекту. Если com-объект не был инициирован с помощью другой программы, соединение не может быть установлено. Каким будет предпочтительный способ python для уведомления основной программы? Должен ли […]

Как предотвратить «слишком широкое исключение» в этом случае?

Я получил список функций, которые могут потерпеть неудачу, и если один из них не работает, я не хочу, чтобы скрипт останавливался, но для продолжения следующей функции. Я выполняю его с чем-то вроде этого: list_of_functions = [f_a,f_b,f_c] for current_function in list_of_functions: try: current_function() except Exception: print(traceback.format_exc()) Он работает нормально, но он не совместим с PEP8: Когда […]

Python - лучший язык программирования в мире.