Articles of clase

Obtener la clase propietaria de la función Python del decorador

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 […]

Generando múltiples observadores con el perro guardián de Python

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é […]

Cómo anular un campo en la clase padre

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 […]

¿Qué quiere decir con el ‘súper objeto devuelto no está enlazado’ en python?

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.

Operador doble estrella personalizado para una clase?

¿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 […]

Python importa atributos de clase en el espacio de nombres local del método

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é anular __getattribute__ para representar un valor equivocado es la instancia?

¿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.

¿Por qué debería usar clases en python?

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 […]

Cómo hacer un atributo de clase exclusivo de la súper clase.

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 […]

Inicial hijo con instancia de padre

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 […]