В Python плохо создавать атрибут с именем 'id'?
Я знаю, что существует функция с именем id, поэтому я бы не создал функцию или переменную с именем id, но как насчет атрибута объекта?
Ответы
Ответ 1
Это нормально, и это довольно часто. Например, объекты, сопоставленные с записью базы данных, часто имеют атрибут "id", сопоставленный с значением столбца "id" базы данных.
Атрибуты всегда "именуются", поэтому вам нужно обратиться к ним через self.id
или obj.id
, чтобы не было конфликта со встроенной функцией.
Ответ 2
Я делаю это часто для классов, которые абстрагируют таблицы базы данных, где часто бывает поле под названием id
, потому что нет разумного шанса на конфликт имен. Обратите внимание, что некоторые синтаксические маркеры будут отмечать его как встроенную функцию.
Ответ 3
Как говорили другие, вполне нормально иметь атрибут id, хотя многие считают плохую практику проектирования баз данных. Но этот еще один вопрос.
Если вам нравятся условные обозначения вообще, вы должны проверить pylint. Этот инструмент анализирует ваш код на наличие ошибок и проблем с конгрессом.
http://www.logilab.org/857