Python-¿Está bien pasar uno mismo a una función externa?
matplotlib python 3 (1)
No hay problema con eso en absoluto: el self
es un objeto como cualquier otro y puede usarse en cualquier contexto en el que un objeto de su tipo / comportamiento sea bienvenido.
En Python, como lo ejemplifica la biblioteca estándar, las instancias de self
passed to functions ( and also to methods , and even operators ) all the time .
Tengo una clase, A, que es heredada por un grupo de otras clases. Algunas de estas tienen algunas funciones que son similares y sería bueno tener esas funciones definidas en otro lugar y las clases que las necesitan. Pero esas funciones llaman funciones definidas en la súper clase.
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)
Así que he creado mis funciones de ayuda que toman el self object
como un argumento y puedo llamar a imp_func
desde dentro de las funciones de ayuda.
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)
Esto resuelve el problema.
¿Pero debería estar haciendo esto? ¿Es esto pitónico?