Унаследованные методы класса возвращают родительский объект. Нужно заставить его возвращать объект дочернего классаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Унаследованные методы класса возвращают родительский объект. Нужно заставить его возвращать объект дочернего класса

Сообщение Anonymous »

Я пытаюсь проверить возможность создания подкласса класса PySpark DataFrame, чтобы добавить в свою работу дополнительные методы многократного использования.

Код: Выделить всё

class EnhancedDataframe(DataFrame):
def __init__(self, df):
super().__init__(df._jdf,df.sql_ctx)

def notNullCount(self,col_name):
return self.filter(col(col_name).isNotNull()).count()
Проблема в том, что если я использую это для создания новых фреймов данных, всякий раз, когда я использую родительский метод, который возвращает объект родительского типа, мои новые методы класса больше не будут доступны с ним.
Проблема в том, что если я использую это для создания новых фреймов данных, всякий раз, когда я использую родительский метод, который возвращает объект родительского типа, мои новые методы класса больше не будут доступны с этим.
p>
Итак, как вернуть объект дочернего класса для всех родительских методов. Один из вариантов, который я рассматриваю, — это использовать функцию __getattribute__ и попытаться вернуть дочерний объект, заключив его в имя дочернего класса. Есть ли у нас другие варианты? То, что я пытаюсь сделать, осуществимо ли это?

Подробнее здесь: https://stackoverflow.com/questions/743 ... bject-of-c
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»