@lavrov2002
python программист

Как преобразовать объект1 в объект2, класс которого наследуется от класса объекта1?

У меня есть заготовка класса Sheet, который наследуется от класса Worksheet библиотеки gspread (pip install gspread).
from gspread import Cell, Worksheet


class Sheet(Worksheet):
    def get_values_by_title(self, col_title: str, col_filter: dict = None) -> list[Cell]:
        """
        Получает значения из столбца по его названию с возможностью фильтрации по другим столбцам.
        :param col_title: название столбца ячейки из которого нужно получить.
        :param col_filter: фильтр, где ключ - название столбца, а значение - значение в ячейке этого столбца.
        :return: список ячеек
        Примечание 1: Если есть столбцы с одинаковыми названиями, то функция будет работать с первым столбцом.
        Примечание 2: Если столбец с названием col_title не найден, то функция вернёт пустой список.
        Примечание 3: Если название столбца из col_filter не найдено в таблице, то функция вернёт пустой список,
                      так как ни одно из значений не будет совпадать с фильтром.
        """
        pass

Так же с помощью следующего кода я могу получить объект класса Worksheet:
import gspread

import config

gs = gspread.service_account(config.SECRET_FILE)
table = gs.open_by_url(config.URL)
worksheet = table.worksheet(config.SHEET_NAME)

Что мне нужно сделать с классом Sheet, чтобы я мог делать так:
sheet = Sheet(worksheet)
sheet.get_values_by_title()
  • Вопрос задан
  • 47 просмотров
Решения вопроса 1
@lavrov2002 Автор вопроса
python программист
Решением стало использование функции super() в методе __init__() в следующим образом:
class Sheet(Worksheet):
    def __init__(self, worksheet: Worksheet):
        super().__init__(spreadsheet=worksheet.spreadsheet, properties=worksheet._properties)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы