Страницы

Поиск по вопросам

среда, 17 октября 2018 г.

Слово file в python

Есть мнение, что использование слова file в качестве имени аргумента функции - это быдлокодерство. Так ли это? Это ведь не зарезервированное слово языка Python, так в чем может быть проблема?


Ответ

Проблема в том, что использование переменных с теми же именами что и у __buitins__ не позволяет в той же области видимости вызывать эти самые __buitins__. Например, часто переопределяют type, id, и если далее по коду необходимо воспользоваться встроенными одноимёнными функциями, то возникают проблемы. Ну и естественно эта проблема распространяется на аргументы функций, которые также распространяются на всю область видимости функции.
Моё мнение - пересечение области видимости с __builtins__ допустимо, но по возможности стараться избегать. Есть случаи, когда просто избежать не получается - например, когда определяешь схему базы данных и у тебя есть колонка с названием id. Не выкрутишься. В Django вместо id предпочтительнее использовать pk, например, который по умолчанию ссылается на id

Комментариев нет:

Отправить комментарий