class A(object):
def __init__(self):
self.db = create_db_object()
def change_Db_a(self):
self.db.change_something()
self.db.save()
def change_db_b(self):
self.db.change_anotherthing()
self.db.save()
我从数据库中获取对象,我在多个函数中更改它并将其保存回来。 这很慢,因为它在每次函数调用时都会命中数据库。有没有解构器之类的东西可以保存数据库对象,这样我就不必为每次函数调用保存它,也不必浪费时间。你知道吗
您可以定义del方法。你知道吗
但请注意,这违反了数据一致性。你知道吗
不要依赖
__del__
方法来保存对象。有关详细信息,请参见此blog post。你知道吗可以通过定义
__enter__
和__exit__
方法来使用context management protocol:然后在创建对象时使用
with
语句:当您进入
with
块时,将调用A.__enter__
方法。退出with
块时,将调用__exit__
方法。例如,使用上面的代码,您应该看到以下输出:有关
with
语句的更多信息:相关问题 更多 >
编程相关推荐