Python-无法访问类属性
我正在编写一个从python访问mySQL数据库的类 代码如下:Python-无法访问类属性,python,class,Python,Class,我正在编写一个从python访问mySQL数据库的类 代码如下: #!/usr/bin/python import MySQLdb import configparser class db(): def __init__(self): try: self.handler = MySQLdb.connect(host="localhost", user=user, passwd=passwd, db=dbname) s
#!/usr/bin/python
import MySQLdb
import configparser
class db():
def __init__(self):
try:
self.handler = MySQLdb.connect(host="localhost", user=user, passwd=passwd, db=dbname)
self.cur = self.handler.cursor()
except:
print "Couldn't connect to db"
def query(self, query):
self.lastQuery = query
self.res = self.cur.execute(query)
def close(self):
self.handler.close()
当我试图调用该类时,它会给我以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "db.class.py", line 6, in <module>
class db():
File "db.class.py", line 25, in db
self.res = self.cur.execute(query)
NameError: name 'self' is not defined
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“db.class.py”,第6行,在
类db():
文件“db.class.py”,第25行,以db为单位
self.res=self.cur.execute(查询)
NameError:未定义名称“self”
我一直在寻找,通常有人忘记用“self”来定义方法。但我包括在内
有人能帮我吗
谢谢
更新:
我检查了空格和制表符,这不是问题。您的代码混合了制表符和空格,导致Python对缩进级别上的语句感到困惑。对
self.res
的赋值已在类级别结束,超出了它本打算作为其一部分的方法
停止混合标签和空格。打开编辑器中的“显示空白”,使问题更加明显,并考虑运行Python,使用<代码> -TT标志来对标签和空格的混合进行错误处理。我不太确定空白。回溯清楚地表明,
self.res
赋值不属于任何方法。你确定你知道该找什么吗?如果只检查问题呈现版本的缩进,请注意标记呈现会将选项卡转换为空格。检查您的实际源文件。