es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , , , ,

Answer

  1. Avatar for 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 variable credentials a self.credentials y agregando self 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 de self.credentials = utils.get_creds().

Comments are closed.