Подтвердить что ты не робот

Python - Можно ли передать себя внешней функции?

У меня есть класс, A, который наследуется группой других классов. Некоторые из них имеют несколько функций, которые схожи, и было бы неплохо, если бы эти функции определялись где-то еще и вызывались классами, которые в них нуждаются. Но эти функции вызывают функции, определенные в суперклассе.

class A():
    def imp_func(*args):
        # called by the child class functions

Class B(A):
    def common_func(self):
        # some stuff
        self.imp_func(*args)

Итак, я создал свои вспомогательные функции, которые принимают self object в качестве аргумента, и я могу вызвать imp_func из вспомогательных функций.

def helper_func(obj, some_args):
    # some common stuff
    obj.imp_func(*args)

class B(A):
    def common_func(self):
        # unique stuff
        helper_func(self, some_args)

Это решает проблему.

Но должен ли я это делать? Это питоны?

4b9b3361

Ответ 1

Нет никаких проблем с этим. Экземпляры self все время передаются функциям (и методам других классов).