@stepuasha

Помгите с ООП в Python?

Создал простенький скрипт, просто с целью поучиться. Создал два файла main и sql, в файле sql лежат все функции:
import sqlite3

sql = sqlite3.connect('data.db')
c = sql.cursor()
c.execute('CREATE TABLE IF NOT EXISTS data(id, password)')

class Sql:
	def insert(self, id, password):
		c.execute('INSERT INTO data VALUES(?, ?)', (id, password))
		sql.commit
	def show(self, id):
		showdata = c.execute('SELECT * FROM data WHERE id == ?', (id)).fetchall()
		print(f'Логин: {showdata[0]}, Пароль: {showdata[1]}'


Когда я запускаю скрипт из файла main:
import sql
import time

print('Введите свой логин для регистрации: ')
log = input('... ')
time.sleep(1)
print('Отлично! Теперь введите свой пароль: ')
pas = input('... ')

sql.insert(lg, ps)
sql.show(lg)


После запуска ловлю ошибку:
AttributeError: module 'sql' has no attribute 'insert'

Почему?
  • Вопрос задан
  • 207 просмотров
Решения вопроса 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
Вам же даже ошибка говорит:
module 'sql' has no attribute 'insert'

К тому-же сравните:
class Sql:
c
import sql
Одним словом - проблема не в ООП, а в неправильной работе с модулями.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы