Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python类之间共享MySQLdb连接_Python_Mysql_Python 3.x_Mysql Python - Fatal编程技术网

在Python类之间共享MySQLdb连接

在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连接作为参数传递给所有其他类构造函数。顺便说一句,您混淆

我正在使用MySQLdb使用python3,我需要能够在类之间共享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连接作为参数传递?就像让超全局变量在每个类中都可见一样?顺便说一句,感谢模块/类的澄清。任何全局变量都是不好的,而超全局变量是最坏的。