"此检查检测__init__方法"之外的实例属性定义。 PyCharm

时间:2016-11-22 20:00:00

标签: python class pycharm

我使用以下类在firebase数据库中连接并创建游标:

class Firebird:

    username= "..."
    password= "..."

    def __init__(self, archive):
        self.archive = archive

   def connect(self):
       try:
           self.connection = connect(dsn=self.archive, user=self.username, password=self.password)
       except Error, e:
           print "Failed to connect to database", e
           exit(0)

PyCharm警告我:"此检查在self.connection分配中检测 init 方法"之外的实例属性定义。

__init__之外的实例中分配属性是不是很糟糕吗?在这种情况下,我该怎么办?

1 个答案:

答案 0 :(得分:8)

是的,在__init__函数中明确定义/声明所有属性通常被认为是一种好习惯,这样您就可以快速列出类中所有已使用(或未使用)的属性。

class Firebird:

    username= "..."
    password= "..."

    def __init__(self, archive):
        self.archive = archive
        self.connection = None

   def connect(self):
       try:
           self.connection = connect(dsn=self.archive, user=self.username, password=self.password)
       except Error, e:
           print "Failed to connect to database", e
           exit(0)