Чрезвычайно длинные операторы в Python? - PullRequest
0 голосов
/ 21 сентября 2019

Я беру онлайн курс Python.Одно из упражнений содержит:

[print(x, 'has type', type(eval(x))) for x in ['np_vals', 'np_vals_log10', 'df', 'df_log10']]

Для меня это длинное утверждение менее читаемо, чем стандартный цикл, например,

for x in ['np_vals', 'np_vals_log10', 'df', 'df_log10'] :
    print(x, 'has type', type(eval(x)))

Существует ли какая-либо рекомендуемая практика против такого рода

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

1 Ответ

2 голосов
/ 21 сентября 2019

В Python есть несколько широко используемых руководств по стилю, которые предлагают советы по работе с длинными строками в целом и стилизации конкретных операторов, таких как понимание списка в вашем примере.

Pep8 является базовой для большинствапоскольку он основан на взглядах создателя Python.

Существуют и другие руководства по стилю общего назначения с дополнительными предложениями, например от Google и руководство Hitchicker по Python .Поиск «длинной строки» или конкретной программной конструкции, которую вы ищете в стиле, должен привести к соответствующим предложениям.

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

...