Articles of clase de

Al definir una clase de python, ¿cómo establecer una variable aleatoria en ella?

Digamos que tengo una clase llamada Person , que solo tendrá el nombre y el género de la persona. El género debe seleccionarse aleatoriamente entre masculino y femenino. Para hacer eso, importo la función random.randint() . El género aleatorio se determina de acuerdo con el int aleatorio. import random class Person: alias = random.randint(1, 3) […]

¿Qué es el atributo python get y set order?

Python nos ofrece muchas posibilidades en el atributo de instancia / clase, por ejemplo: class A(object): def __init__(self): self.foo = “hello” a = A() Hay muchas formas de acceder / cambiar el valor de self.foo : acceso directo a.foo dictado interno a.__dict__[‘foo’] obtener y establecer a.__get__ y a.__set__ , por supuesto, hay dos métodos predefinidos. […]

anular la variable de clase en Python?

A continuación, base_id y _id es una variable de clase y se comparte entre todas las clases secundarias. ¿Hay una manera de separarlos en cada clase? from itertools import count class Parent(object): base_id = 0 _id = count(0) def __init__(self): self.id = self.base_id + self._id.next() class Child1(Parent): base_id = 100 def __init__(self): Parent.__init__(self) print ‘Child1:’, […]

Diccionario con clases?

En Python, ¿es posible crear una instancia de una clase a través de un diccionario? shapes = {‘1’:Square(), ‘2’:Circle(), ‘3’:Triangle()} x = shapes[raw_input()] Quiero permitir que el usuario elija un menú y no codifique grandes, si no, las declaraciones en la entrada. Por ejemplo, si el usuario ingresó 2, x sería una nueva instancia de […]

Variable global de Python y funcionalidad de clase.

Estoy creando un progtwig Python simple que proporciona la funcionalidad básica de un SMS_Inbox. He creado un método de SMS_Inbox. store = [] message_count = 0 class sms_store: def add_new_arrival(self,number,time,text): store.append((“From: “+number, “Recieved: “+time,”Msg: “+text)) **message_count += 1** def delete(self,i): if i > len(store-1): print(“Index does not exist”) else: del store[i] message_count -= 1 En […]

¿Una forma sencilla de anular los métodos predeterminados en las clases personalizadas de Python?

Tengo una clase llamada celular: class Cell: def __init__(self, value, color, size): self._value = value self._color = color self._size = size # and other methods… Cell._value almacenará una cadena, un entero, etc. (para lo que esté usando ese objeto). Quiero que todos los métodos predeterminados que normalmente usarían el “valor” de un objeto usen el […]

Cambiar Python Mro en tiempo de ejecución

Me he encontrado en una situación inusual en la que necesito cambiar el MRO de una clase en tiempo de ejecución. El código: class A(object): def __init__(self): print self.__class__ print “__init__ A” self.hello() def hello(self): print “A hello” class B(A): def __init__(self): super(B, self).__init__() print “__init__ B” self.msg_str = “B” self.hello() def hello(self): print “%s […]

¿Hay alguna manera de crear una propiedad de clase en Python?

Lo siguiente no funciona por alguna razón: >>> class foo(object): … @property … @classmethod … def bar(cls): … return “asdf” … >>> foo.bar >>> foo.bar + ‘\n’ Traceback (most recent call last): File “”, line 1, in TypeError: unsupported operand type(s) for +: ‘property’ and ‘str’ ¿Hay alguna manera de hacer esto, o es mi […]

Cómo guardar / leer la clase completamente en Python

som = SOM_CLASS() # includes many big difficult data structures som.hard_work() som.save_to_disk(filename) #then later or another program som = SOM_CLASS() som.read_from_file(filename) som.do_anythink_else() o som = SOM_CLASS() save(som) #… load(som) som.work() ¿Cuál es la forma más fácil de hacer esto?

Método dependiente del contexto en Python: ¿qué estoy haciendo mal?

Me gustaría crear una clase cuyo método f dependa del “modo” en que se ha creado el objeto de la clase. El código de abajo no funciona, pero espero que te haga una idea de lo que estoy tratando de hacer. Mi idea es tener un diccionario en el que defino los ajustes para cada […]