我一直在清理我正在扩展的模块中的一些代码,但我似乎找不到 Pythonify 这段代码的方法:
global_next_id = 1
class Obj:
def __init__(self):
global global_next_id
self.id = global_next_id
global_next_id += 1
此代码使用全局 id 来跟踪类的实例(我需要变量self.id
内部也是如此,并且它需要是一个数字)。
谁能建议一种方法来Pythonify这段代码?
您可以考虑使用类属性来提供计数器。每个实例只需要询问下一个值。他们每个人都会得到一些独特的东西。例如:
from itertools import count
class Obj(object):
_ids = count(0)
def __init__(self):
self.id = next(self._ids)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)