Если удобнее, то можно получать данные в виде словаря (где ключи - названия столбцов). Тогда можно напрямую обращаться к нужному полю по имени.
class SQLighter:
def __init__(self, database):
self.connection = sqlite3.connect(database, check_same_thread = False)
self.connection.row_factory = sqlite3.Row # этой строкой указываем, что результат получаем в виде словаря
self.cursor = self.connection.cursor()
self.cursor.execute("CREATE TABLE IF NOT EXISTS stats (user_id INT, user_name TEXT, survived INT, infected INT)")
...
# и можно сделать такую функцию, возвращающую всю информацию пользователя
def get_info(self, id):
with self.connection:
return self.cursor.execute("SELECT * FROM stats WHERE user_id=?", (id, )).fetchone()
sql_lighter = SQLighter("database.db")
sql_lighter.add_user(982543922, "Владимир", 1, 1)
# затем получаем весь словарь данных и можем использовать любые нужные поля из него
data = sql_lighter.get_info(982543922)
print(data)
print(data['user_name'])
print("Информация пользователя {}: имя: {}, survived: {}, infected: {}".format(data['user_id'], data['user_name'], data['survived'], data['infected']))