使用代码来管理远程存储上的对象,这意味着我可以根据从存储中读取的结果创建对象,也可以创建在创建时发送到存储的对象。这里的真正目标是仅在远程存储上的对象表示存在时创建对象 - 如果远程存储上没有表示,则不会创建任何对象。
class myClass:
def __init__(self, parameter1, parameter2)
self.param1 = parameter1
self.param2 = parameter2
@classmethod
def create(parameter1, parameter2):
if SendToRemoteStore(parameter1, parameter2) == True:
return myClass(parameter1, parameter2)
else:
return None
def __del__():
DeleteFromRemoteStore(self)
# Two ways to create an instance
# As the result of a remote read:
data = GetFromRemoteStore()
object1 = myClass(data['foo'], data['bar'])
# Or if I'm creating the object here and
# need to save it to store on creation:
object2 = myClass.create('baz', 'bar')
答案 0 :(得分:1)
不需要。
class myClass(object):
def __new__(cls, parameter1, parameter2):
if SendToRemoteStore(parameter1, parameter2):
return super(myClass, cls).__new__(cls)
else:
return None
def __init__(self, parameter1, parameter2):
self.param1 = parameter1
self.param2 = parameter2
def __del__(self):
DeleteFromRemoteStore(self)