在Python中创建名为'id'的属性是坏事吗?
我知道有一个叫做id的函数,所以我不会创建一个叫id的函数或变量,但那对象上的属性呢?
3 个回答
2
正如其他人所说,拥有一个id属性是完全可以的,尽管很多人认为这在数据库设计上不是个好习惯。不过那是另一个话题。
如果你对编程规范比较在意,可以看看pylint这个工具。它会分析你的代码,帮你找出错误和一些不符合规范的问题。
8
我经常这样做,特别是对于那些用来表示数据库表的类,因为里面通常会有一个叫做 id
的字段,这样命名基本上不会和其他名字冲突。不过要注意,有些代码高亮工具可能会把它标记成内置函数。
44
这没问题,而且很常见。比如,映射到数据库记录的对象通常会有一个“id”属性,这个属性对应数据库中的“id”列的值。
属性总是有自己的命名空间,所以你需要通过 self.id
或 obj.id
来引用它们,这样就不会和内置函数发生冲突。