オブジェクト ID の作成の自動化について少し読んだことがありますが、まだ迷子になっています...ここでAlgorias による素晴らしい例に基づいて次のコードを作成しようとしました...
私が達成しようとしているのは、すべての新しい id リクエストのリソースであるクラスです。論理的には、すべてが 1 か所にあれば、管理が容易になるはずです...
しかし、 x を Order のインスタンスに設定すると、次のようになります。
>>> x = Order()
Traceback (most recent call last):
File "<pyshell#20>", line 1, in <module>
x = Order()
File "C:\Python27\delete.py", line 17, in __init__
self.uid = Id_Class.new_id("Order")
TypeError: unbound method new_id() must be called with Id_Class instance as first argument (got str instance instead)
どんな助けでも大歓迎です
import itertools
class Id_Class(object):
new_id = itertools.count(1000).next
order_id = itertools.count(1000).next
person_id= itertools.count(1000).next
def new_id(self, t): # t = type of id required
if t == "Order":
self.id = Id_Class.order_id()
elif t == "Person":
self.id = Id_Class.person_id()
class Order(object):
def __init__(self):
self.uid = Id_Class.new_id("Order")
self.cus='Test'
class Person(object):
pass