Подтвердить что ты не робот

Когда использование точки с запятой в Python считается "хорошим" или "приемлемым"?

Python - это язык с ограниченным пробелом. Однако использование точек с запятой разрешено. Например, следующие работы, но неодобрительно:

print("Hello!");
print("This is valid");

Я использую python уже несколько лет, и единственный раз, когда я использовал точку с запятой, заключается в создании одноразовых сценариев командной строки с помощью python:

python -c "import inspect, mymodule; print(inspect.getfile(mymodule))"

или добавить код в комментарии к SO (т.е. вы должны попробовать import os; print os.path.join(a,b) ")

Я также заметил в этот ответ на аналогичный вопрос, что точка с запятой также может использоваться для создания одной строки if, как в

if x < y < z: print(x); print(y); print(z) 

что удобно для двух примеров использования, которые я дал (сценарии командной строки и комментарии).


Приведенные выше примеры предназначены для передачи кода в форме абзаца или создания коротких фрагментов, но не того, чего я ожидал бы в производственной кодовой базе.

Вот мой вопрос: в python есть ли причина использовать точку с запятой в производственном коде? Я предполагаю, что они были добавлены к языку исключительно по причинам, которые я привел, но всегда возможно, что у Гвидо была более масштабная схема. Нет мнений; Я ищу либо примеры из существующего кода, где точка с запятой была полезна, либо какое-то утверждение из документов python или из Guido о том, как использовать точку с запятой.

4b9b3361

Ответ 1

PEP 8 является официальным руководством по стилю и говорит:

Составляющие утверждения (несколько операторов в одной строке), как правило, обескуражены.

(См. также примеры сразу после этого в PEP.)

Пока я не согласен со всем, что говорит PEP 8, если вы ищете авторитетный источник, то это. Вы должны использовать строки с несколькими заявлениями только в крайнем случае. (python -c - хороший пример такого последнего средства, поскольку в этом случае у вас нет возможности использовать реальные разрывы строк.)

Ответ 2

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

output, errors, status = generate_output_with_errors_and_status(
    first_monstrous_functional_argument(argument_one_to_argument
        , argument_two_to_argument)
    , second_argument);

См? Они весьма полезны для читаемости.