Articles of instancia de

¿Por qué n .__ name__ es un error de atributo cuando el tipo (n) .__ name__ funciona?

n = 20 print n.__name__ Recibo un error porque n no tiene ningún atributo __name__ : AttributeError: ‘int’ object has no attribute ‘__name__’ Pero n es una instancia de la clase int , y int.__name__ da un resultado, entonces ¿por qué n.__name__ un error? Esperaba que debido a que n es una instancia de la […]

En Python 3, ¿cómo crear una instancia de clase secundaria usando algo de magia en padre __nuevo__?

Por ejemplo, creando tipos de números personalizados en la siguiente jerarquía Number Complex Real Int Float con lógica en __new__ métodos: class Number: def __new__(cls, value): if isinstance(value, complex): return Complex(value) elif isinstance(value, (int, float)): return Real(value) else: raise TypeError(‘Ну ты и мудак!!!’) def __init__(self, value): self.value = value class Complex(Number): pass class Real(Number): def […]

Python: Método de llamada por objeto de instancia: “falta 1 argumento posicional requerido: ‘self'”

Soy nuevo en Python. He escrito dos Clases, la segunda tiene una instancia de la primera como una variable miembro. Ahora quiero llamar a un método de Class2 a través de la instancia de la clase uno. No pude encontrar una respuesta para ello. Algo como esto: class Class1: def uselessmethod(self): pass class Class2: def […]

Python: ¿cómo referirse a un nombre de instancia?

Estoy recolectando instancias usando el siguiente código: class Hand(): instances = [] def __init__(self): Hand.instances.append(self) self.value = 5 def do_something(self, a): self.value = self.value * a class Foo(): def __init__(self): pass def insty(self): self.hand1 = Hand() self.hand2 = Hand() foo = Foo() foo.insty() print Hand.instances for hand in Hand.instances: print “how do I print the […]

Convertir cadena a nombre de objeto

Necesitaba ayuda en este caso. ¿Cómo convierto una cadena en una variable / objeto / nombre de instancia, ya que no sé cómo clasificar esto? Suponiendo que mi código es: a = {} b = {} class Test: def getKeys(self, var): return var.keys() #where var refers to the dictionary and its a string initially

Única instancia de clase en Python

Estoy creando una aplicación Python que incluye comunicación de socket con un servidor. Me gustaría tener un módulo que pueda usarse en toda mi aplicación (varios otros módulos). Actualmente mi módulo se ve así: class SocketCommunication: def __init__(self): self.socketIO = SocketIO(settings.ADDRESS, settings.PORT, Namespace) def emit(self, message, data): json_data = json.dumps(data.__dict__) self.socketIO.emit(message, json_data) class Namespace(BaseNamespace): def […]

Agregar atributos a los métodos de instancia en Python

Me gustaría agregar un atributo a un método de instancia en una de mis clases. Intenté la respuesta dada en esta pregunta , pero esta respuesta solo funciona para las funciones, por lo que puedo decir. Como ejemplo, me gustaría poder hacer algo como: class foo(object): … def bar(self): self.bar.counter += 1 return self.bar.counter bar.counter […]

Python creando múltiples instancias para un solo objeto / clase

Estoy usando Python. He leído un poco sobre esto y parece que no puedo envolver mi mente alrededor de esto. Lo que quiero hacer es tener una clase llamada Pociones con varios objetos de poción en ella. Por ahora hay una poción, un simple HealthPotion. Quiero que las pociones sean astackbles en los inventarios y […]

Clases estáticas en Python

Una vez leí (creo que en una página de Microsoft) que es una buena manera de usar clases estáticas, cuando no NECESITAS dos o más instancias de una clase. Estoy escribiendo un progtwig en Python. ¿Es un estilo malo, si uso @classmethod para cada método de una clase?

¿Cómo evitar múltiples instancias de un progtwig?

Necesito encontrar la forma correcta de evitar que se ejecuten dos instancias de mi progtwig (Python). Actualmente estoy usando el siguiente método. En Windows, os.popen(‘wmic process get caption,processid | findstr `programname.exe`’) En linux os.popen(‘ps x | grep `programname`’) Parece funcionar bien por ahora. ¿Es este método correcto? ¿Alguien puede sugerirme una mejor manera? Edición: Gracias […]