Всем доброго времени суток. Товарищи форумчане, начинающие питонисты, пора писать красивый код.
Okay, Let's go!
Я надеюсь ты знаешь, что такое pep8. Нет? Это плохо, но поправимо. Для начала рассмотрим основные стандарты, без которых ты будешь выглядеть в глазах других обезьяной. Запомни, когда пишешь код на python нужно:
1. Соблюдать отступы в 4 пробела.
2. Отступы до и после знаков =, ==, >, <, <=, >=, !=
3. Отступ после "," и ":" (после двоеточия в объявлении словаря/json)
Вообще их гораздо больше, но для того, чтобы не потерять уважение коллег хватит соблюдать эти 6 правил. Ещё хочу порекомендовать autopep8, который поможет с первыми тремя пунктами. Данный модуль имеет интеграцию с vscode, активируется при нажатии Shift+Alt+F.
Дальше хочу поговорить о типизации. Как ты знаешь python это динамически типизированный язык. То есть переменная, которой было присвоено значение 12 может поменять его на "-&2" Или даже на {"j": \[23]}. Это говорит о том, что если ты забудешь какого типа должна быть переменная, то ты можешь потратить от нескольких минут до нескольких часов за таким интереснейшим делом как дебаг. А чтобы не тратить столько времени на поиск ну уж очень глупых ошибок, я хочу предложить способ, который исключит их.
Есть такая штука как типизация функций. То есть мы изначально говорим, что условно наша give_money функция принимает на вход только число, а на выходе отдаëт строку. Сразу пример:
Итак, общая конструкция следующая, после названия каждой переменной ставим двоеточие пробел и тип данных, а тип данных, который возвращает функция идëт после еë имён и имеет вид " -> тип". Иногда возникают ситуации, когда нужно принимать несколько типов данных, например int или float, или возвращать например dict или None. В данном случае конструкции остаëтся той же, но теперь тип данных записывает как int|float и dict|None, то есть тип|другой тип|ещё тип. Я считаю, что на то, чтобы разобраться с типизированием ты потратишь максимум пару часов. По сравнению с тем временем, которое ты сэкономишь на дебаги это ничтожно мало.
В общем и целом это всё. Конечно, если говнокод написан по стандартам, то это не лишает его заслуженного звания. Но как минимум практика с типизацией поможет сделать код менее говëнным.
А на этом всё! Всем добра и только чистого кода
Okay, Let's go!
Я надеюсь ты знаешь, что такое pep8. Нет? Это плохо, но поправимо. Для начала рассмотрим основные стандарты, без которых ты будешь выглядеть в глазах других обезьяной. Запомни, когда пишешь код на python нужно:
1. Соблюдать отступы в 4 пробела.
2. Отступы до и после знаков =, ==, >, <, <=, >=, !=
3. Отступ после "," и ":" (после двоеточия в объявлении словаря/json)
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
Вообще их гораздо больше, но для того, чтобы не потерять уважение коллег хватит соблюдать эти 6 правил. Ещё хочу порекомендовать autopep8, который поможет с первыми тремя пунктами. Данный модуль имеет интеграцию с vscode, активируется при нажатии Shift+Alt+F.
Дальше хочу поговорить о типизации. Как ты знаешь python это динамически типизированный язык. То есть переменная, которой было присвоено значение 12 может поменять его на "-&2" Или даже на {"j": \[23]}. Это говорит о том, что если ты забудешь какого типа должна быть переменная, то ты можешь потратить от нескольких минут до нескольких часов за таким интереснейшим делом как дебаг. А чтобы не тратить столько времени на поиск ну уж очень глупых ошибок, я хочу предложить способ, который исключит их.
Есть такая штука как типизация функций. То есть мы изначально говорим, что условно наша give_money функция принимает на вход только число, а на выходе отдаëт строку. Сразу пример:
Python:
def give_money(money: int) -> str:
if money > 10:
return "или лесом"
return "Лааадно, держи"
Итак, общая конструкция следующая, после названия каждой переменной ставим двоеточие пробел и тип данных, а тип данных, который возвращает функция идëт после еë имён и имеет вид " -> тип". Иногда возникают ситуации, когда нужно принимать несколько типов данных, например int или float, или возвращать например dict или None. В данном случае конструкции остаëтся той же, но теперь тип данных записывает как int|float и dict|None, то есть тип|другой тип|ещё тип. Я считаю, что на то, чтобы разобраться с типизированием ты потратишь максимум пару часов. По сравнению с тем временем, которое ты сэкономишь на дебаги это ничтожно мало.
В общем и целом это всё. Конечно, если говнокод написан по стандартам, то это не лишает его заслуженного звания. Но как минимум практика с типизацией поможет сделать код менее говëнным.
А на этом всё! Всем добра и только чистого кода