Python - 无法访问类属性
问题描述:
我正在写一个类来访问python的mySQL数据库。Python - 无法访问类属性
下面的代码:
#!/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
我一直在寻找,并普遍有,就是忘记的人以“自我”为参数来定义方法。但我包括它。
任何人都可以帮助我吗?
谢谢。
UPDATE:
我检查空格和制表符,这是没问题的。
答
您的代码混合了制表符和空格,导致Python对什么语句处于缩进级别感到困惑。 self.res
的任务已经在课程级别完成,不属于它打算成为其一部分的方法。
停止混合标签和空格。打开编辑器中的“显示空白”以使问题更加明显,并考虑使用-tt
标志运行Python,以便在制表符和空格混淆时发生错误。
我很确定空格不是问题。 – Ign
@Ign:编辑视图清楚地显示了制表符和空格混合在一起,导致这种错误,并且回溯清楚地表明'self.res'赋值超出了任何方法。你确定你知道要找什么吗?如果您只检查了问题渲染版本的缩进,请注意标记渲染会将制表符转换为空格。检查你的实际源文件。 – user2357112