Во многих языках программирования отступы в тексте программы используют для того, чтобы улучшить читаемость программы. Отступы помогают понять структуру программы и алгоритм ее работы. Даже если не использовать отступы, то на функционировании программы это никак не скажется.
В скриптах на Python отступы в виде пробелов и табуляций определяют логику работы программы. С отступами в скриптах на Python надо обращаться очень аккуратно.
В чем же должна проявляться аккуратность? Как известно, отступ можно задать клавишей Tab или клавишей пробела. Важно в одном скрипте использовать для отступов что-то одно - или табуляцию или пробелы. Если для отступов использовать вперемежку клавишу Tab и пробел, то внешне правильный скрипт может не работать или работать с непонятными сбоями. Интерпретатор запутается с отступами при бессистемном использовании Tab и пробелов.
Кроме того, редакторы выделяют для табуляции разное количество пробелов (4, 8 и т.д.). Это приведет к тому, что скрипт, отредактированный в другом редакторе, откажется работать или будет вести себя непредсказуемо. Самый безопасный вариант - это использовать для отступов только пробелы. Тогда в любом текстовом редакторе отступы будут выглядеть одинаково.
Очень понятно и подробно об этом написано в книге A Byte of Python.
Фрагмент скрипта, как он выглядит в редакторе mcedit:
Редактор mcedit входит в состав файлового менеджера Midnight Commander (система Linux). Тире со стрелками обозначают знаки табуляции.
Еще один нюанс при написании скриптов на Python - это употребление комментариев. Неуместные комментарии также могут привести к неработоспособности скрипта. Лучше воздержаться от комментариев в конце строки оператора. Не делайте много ненужных пробелов между концом оператора и символом # (начало комментария). Это может запутать программу. Лучше делать комментарии в виде отдельных строк. Такие комментарии удобнее вынести в начало скрипта как заголовок программы.
Лишние пробелы и комментарии так или иначе увеличивают вероятность сбоя. Иногда скрипт, внешне выглядящий правильным, отказывается работать, а другая копия скрипта (с другими комментариями) работает нормально. Может быть, это связано с недоработками в реализации Python для микрокомпьютеров.
Старайтесь не допускать строк с закомментированными операторами языка Python. Ненужные операторы лучше удалить, а не закомментировать.
Ещё рекомендуют первым оператором скрипта указывать строку #!/usr/bin/python или подобную, чтобы командная оболочка могла автоматически запускать интерпретатор Python.
Будьте аккуратны при редактировании "сторонних" скриптов, иначе при запуске скрипта можно неожиданно столкнуться с необъяснимыми, не всегда очевидными ошибками.
http://wombat.org.ua/AByteOfPython/
https://losst.ru/wp-content/uploads/2016/08/AByteofPythonRussian-2.01.pdf
https://python.swaroopch.com/
https://losst.ru/a-byte-of-python
|