在Python类之间共享MySQLdb连接
我正在使用MySQLdb使用python3,我需要能够在类之间共享DB连接 我有主脚本在Python类之间共享MySQLdb连接,python,mysql,python-3.x,mysql-python,Python,Mysql,Python 3.x,Mysql Python,我正在使用MySQLdb使用python3,我需要能够在类之间共享DB连接 我有主脚本play.pytha调用其他类(player.py,team.py,等等),其中一些类需要访问数据库。这样做的最佳方法是什么 在讨论之后,我创建了一个Mysql类来创建连接并处理查询。但是在play.py和team.py中导入新类不会为每个类创建新连接吗 有没有一种方法可以只创建一个连接并在任何地方使用相同的连接,而无需为每个类创建新连接?将open DB连接作为参数传递给所有其他类构造函数。顺便说一句,您混淆
play.py
tha调用其他类(player.py
,team.py
,等等),其中一些类需要访问数据库。这样做的最佳方法是什么
在讨论之后,我创建了一个Mysql
类来创建连接并处理查询。但是在play.py
和team.py
中导入新类不会为每个类创建新连接吗
有没有一种方法可以只创建一个连接并在任何地方使用相同的连接,而无需为每个类创建新连接?将open DB连接作为参数传递给所有其他类构造函数。顺便说一句,您混淆了类(
Play
,“Team”)和包含它们的模块(
Play.py,
Team.py`),这可能是您的问题的一部分。考虑将DB连接作为参数传递给类的构造函数,这样肯定只会使用1个DB连接。是否有其他方法不将DB连接作为参数传递?就像让超全局变量在每个类中都可见一样?顺便说一句,感谢模块/类的澄清。任何全局变量都是坏的,而超全局变量是最坏的。将open DB连接作为参数传递给所有其他类构造函数。顺便说一句,您混淆了类(Play
,“Team”)和包含它们的模块(
Play.py,
Team.py`),这可能是您的问题的一部分。考虑将DB连接作为参数传递给类的构造函数,这样肯定只会使用1个DB连接。是否有其他方法不将DB连接作为参数传递?就像让超全局变量在每个类中都可见一样?顺便说一句,感谢模块/类的澄清。任何全局变量都是不好的,而超全局变量是最坏的。