在类方法中使用变量名self
被认为是不好的做法吗?例如:
@classmethod
def update_objs(cls, limit=10e6):
items = PortalAsset.objects.filter(is_deleted=False, title__is_active=True)[:limit]
for self in items:
new_obj = {
'objectID': self.pk
}
# etc.
我发现以上内容似乎更直观,我知道循环中的每个项目基本上都是该类的实例。
答案 0 :(得分:3)
不要这样做。任何必须阅读你的代码的人都会希望你离开。
无论您考虑使用名称self
的类方法的哪一部分,请考虑将其提取到实例方法中。然后,您可以在该方法中调用对象self
。
答案 1 :(得分:0)
这更多地与编码约定有关,但我相信如果你决定使用变量self
,它应该具有与英文单词暗示相同的反射意义,即指代码的当前对象属于或类似的东西。
@classmethod
def new_from_file(cls, filename):
self = cls()
self.load_file(filename)
return self
现在你问这个问题,我想知道这是否明智。也许像new_object
这样的其他东西会更好,但我发现这里做的很明确,因为self
变量实际上用于保存当前对象。