缺少1个必需的位置参数:'self'缺失

时间:2018-10-07 17:56:02

标签: python python-3.x python-2.7

我发现了一些Stackoverflow帖子,人们遇到了同样的问题,但似乎无法以令人满意的方式实施建议的修复程序,以便python编译我的脚本。

我了解它希望将self传递到数据库中,但无法理解我将在何处获取此信息,因为main.py中的self包含错误的上下文。

我有主类,我想在其中调用数据库类并从内部执行函数。

main.py

class Main:
    def __init__(self):
        self.db = Database
        self.db.createConnection()

database.py

class Database:
    def __init__(self):
            #some setup here

    def createConnection(self):
            #Create connection code here

运行此命令时,出现以下错误。

TypeError: createConnection() missing 1 required positional argument: 'self'

1 个答案:

答案 0 :(得分:6)

您想将Database的实例分配给self.db,而不要分配Database类本身。添加括号以调用Database并将其实例化:

self.db = Database()