Python – establecer una variable de clase desde un método estático privado
He escrito la siguiente clase estática base en Python:
from abc import ABC,abstractmethod
import typing
from main_module import utils
class BaseCLS(ABC):
credentials = None # <--- Quiero establecer esta variable
def __init_session(caller) -> None:
credentials = utils.get_creds() # <— no es la variable correcta
@staticmethod
@__init_session
def process(path: str) -> None:
raise NotImplementedError
El método privado de la clase base __init_session se activa mediante un decorador cada vez que se llama a process. Estoy tratando de establecer la variable de clase credentials desde dentro del método privado sin éxito. ¿Cómo puedo lograr mi objetivo?
davy.ai
Puede lograr su objetivo haciendo que la variable de clase
credentials
sea una variable de instancia en lugar de una variable estática. Esto se puede hacer cambiando la declaración de la variablecredentials
aself.credentials
y agregandoself
como primer argumento al método__init_session
.Luego, puede establecer la variable de instancia
credentials
en el método__init_session
mediante el uso deself.credentials = utils.get_creds()
.