Tengo un decorador en PY. Es un método y toma la función como parámetro. Quiero crear una estructura de directorio basada en la función pasada. Estoy usando el nombre del módulo para el directorio principal pero me gustaría usar el nombre de clase para un subdirectorio. No puedo averiguar cómo obtener el nombre de la […]
Actualmente tengo un script de funcionamiento básico que supervisa un solo directorio y todos los subdirectorios a continuación para detectar cambios y pasa la salida al LoggingEventHandler. Ahora quiero expandir mi script para monitorear 3 ubicaciones separadas, pero simplemente no puedo entender cómo generar múltiples Observadores para observar cada una de mis rutas designadas. Intenté […]
Tengo clases para padres e hijos en el modelo Django. Y quiero rellenar un campo en la clase padre al inicializar la clase secundaria. O anular este campo en la clase infantil. class Parent(models.Model): type = models.CharField() class Child(Parent): type = models.CharField() //Doesn’t work También se intenta anular el método de inicio, pero no funciona […]
De acuerdo con http://docs.python.org/2/library/functions.html#super , Si se omite el segundo argumento, el objeto super devuelto es independiente. Que es super (tipo). Me pregunto qué es ilimitado y cuándo está limitado.
¿Cómo se implementa un operador estrella doble personalizado ( ** ) para desempaquetar, similar a cómo __iter__ funciona con el operador estrella única ( * )? Por ejemplo: class PlayerManager(object): def __init__(self, players=None): self.players = players or [] # Made up method to support ** operator def __dict_iter__(self): for player in self.players: yield get_steamid(player), player […]
Me he estado preguntando por un momento si hay una forma más fácil de asignar atributos de clase al espacio de nombres del método local. Por ejemplo, en el método de dosomething , hago referencias explícitas a self.a y self.b : class test: def __init__(self): self.a = 10 self.b = 20 def dosomething(self): a = […]
¿Por qué pasó esto? class IsInstanceScrewer(object): def __init__(self, value): self.value = value def __getattribute__(self, name): if name in (‘value’,): return object.__getattribute__(self, name) value = object.__getattribute__(self, ‘value’) return object.__getattribute__(value, name) isinstance(IsInstanceScrewer(False), bool) #True isinstance(IsInstanceScrewer([1, 2, 3]), list) #True La clase definitivamente no es una instancia de bool, a pesar de que intenta envolverla.
Soy un estudiante muy aficionado de Python, y recientemente he comenzado a aprender el concepto de clases. Puedo entender el concepto de clases (muy) de manera aproximada, pero no puedo entender por qué no puedo simplemente escribir algunas funciones en lugar de escribir una clase. Por ejemplo, (estoy aprendiendo de Interactive python ) uno de […]
Tengo una clase magistral para un planeta: class Planet: def __init__(self,name): self.name = name (…) def destroy(self): (…) También tengo algunas clases que heredan de Planet y quiero que una de ellas no pueda ser destruida (no para heredar la función de destroy ) Ejemplo: class Undestroyable(Planet): def __init__(self,name): super().__init__(name) (…) #Now it shouldn’t have […]
Tengo una función que devuelve instancias de la clase Parent: def generateParent(): do_stuff return Parent(some_parameters) Ahora quiero iniciar una subclase de Padre con los resultados de una llamada a generateParent() : class Child(Parent): def __new__(): return generateParent(some_other_parameters) El problema es que cuando anulo algunos métodos de Parent in Child y luego los llamo en instancias […]