我对如何在课堂上使用/传递游标有疑问。我正在做一个小项目,在那里我将有两个班。我不希望这些类的每个对象都能访问数据库。我应该做什么选择?
方案1
class Connector:
def __init__(self):
self.conn = sqlite3.connect(db_path)
self.cursor = self.conn.cursor()
class SpamClassA(Connector):
<body class>
class SpamClassB(Connector):
<body class>
方案2
class Connector:
def __init__(self):
self.conn = sqlite3.connect(db_path)
self.cursor = self.conn.cursor()
class SpamClassA:
def __init__(self, conn):
self.conn = conn
class SpamClassB:
def __init__(self, conn):
self.conn = conn
提前谢谢
2条答案
按热度按时间mrfwxfqh1#
我会考虑创建一个单例类(因为它与所使用的数据库相同)。您将只有一个连接,该连接将在示例被删除时关闭。它将适用于选项1。
6yjfywim2#
选择1:我觉得它最简洁,处理起来也会花更少的时间。选择2是一种老掉牙的做事方式。