Я пишу класс для доступа к mySQL db из python.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:
Я проверил пробельные и вкладки, и это не проблема.
Я уверен, что пробелы не являются проблемой. – Ign
@Ign: в режиме редактирования четко отображаются табуляции и пробелы, которые могут вызвать эту ошибку, а трассировка ясно показывает, что присваивание 'self.res' вне любого метода. Вы уверены, что знаете, что искать? Если вы только отметили отступ от отображаемой версии вашего вопроса, имейте в виду, что рендеринг уценки преобразует вкладки в пробелы. Проверьте фактический исходный файл. – user2357112