Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.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模块以包含额外的功能?(sqlite3)_Python_Sqlite - Fatal编程技术网

如何扩展python模块以包含额外的功能?(sqlite3)

如何扩展python模块以包含额外的功能?(sqlite3),python,sqlite,Python,Sqlite,如何扩展sqlite3模块,以便在导入数据库时可以将Database.connect()作为sqlite3.connect()的别名,但可以定义额外的非标准方法?您可以创建一个类来包装sqlite3。它使用它的.connect()方法,可能还有其他方法,并将其公开给外部,然后您添加自己的内容 另一个选项是子类化——如果可行的话。您可以创建一个包装sqlite3的类。它使用它的.connect()方法,可能还有其他方法,并将其公开给外部,然后您添加自己的内容 另一个选项是子类化——如果可行的话。您

如何扩展sqlite3模块,以便在导入数据库时可以将Database.connect()作为sqlite3.connect()的别名,但可以定义额外的非标准方法?

您可以创建一个类来包装
sqlite3
。它使用它的
.connect()
方法,可能还有其他方法,并将其公开给外部,然后您添加自己的内容


另一个选项是子类化——如果可行的话。

您可以创建一个包装
sqlite3
的类。它使用它的
.connect()
方法,可能还有其他方法,并将其公开给外部,然后您添加自己的内容


另一个选项是子类化——如果可行的话。

您可以编写自己的
数据库
模块,该模块顶部有以下行:

from sqlite import *

然后根据需要定义方法,但确保不覆盖任何内容。

您可以编写自己的
数据库
模块,该模块顶部有以下行:

from sqlite import *

然后根据需要定义方法,但确保不覆盖任何内容。

为什么需要这样做?Python是动态的,所以您可以向模块添加额外的函数、方法等等,但这并不意味着这是一个好主意。为这些代码创建您自己的模块。最终用户有时不是最聪明的人,因此,拥有一个模块是内置内容的别名,同时还具有我所需的所有额外功能,这将是一个理想的情况。您为什么需要它?Python是动态的,所以您可以向模块添加额外的函数、方法等等,但这并不意味着这是一个好主意。为这些代码创建您自己的模块。最终用户有时不是最聪明的人,因此,拥有一个模块是内置内容的别名,同时还具有我需要的所有额外功能,这将是一个理想的情况。