Articles of métodos de

Una forma sencilla de crear un posible caso

Tengo listas de datos como a = [1,2,3,4] b = [“a”,”b”,”c”,”d”,”e”] c = [“001″,”002″,”003”] Y quiero crear una nueva lista que se haya mezclado de todos los casos posibles de a, b, c como este d = [“1a001″,”1a002″,”1a003″,…,”4e003”] ¿Hay algún módulo o método para generar d sin escribir muchos para bucle?

Listar todos los métodos en COMobject

¿Es posible? Algo en las líneas de: import win32com.client ProgID = “someProgramID” com_object = win32com.client.Dispatch(ProgID) for methods in com_object: print methods com_object.__dict__ el com_object.__dict__ , que enumera: [_oleobj_, _lazydata_, _olerepr_, _unicode_to_string_, _enum_, _username_, _mapCachedItems_, _builtMethods_] La mayoría están vacíos, excepto: _oleobj_ (PyIDispatch) _lazydata_ (PyITypeInfo) _olerepr_ (instancia de LazyDispatchItem) _username_ ( ) Pero no sé cómo […]

__getitem__, __setitem__ teclas múltiples Python

Estoy intentando crear una clase que almacena datos en un búfer local y actúa como una interfaz para una base de datos. Tengo el siguiente código: class Table(object): def __init__(self, tableName, **columnDict): self.tableName = tableName self.columns = {} self.types = {} self.columns[‘id’] = [] self.types[‘id’] = ‘INT PRIMARY KEY NOT NULL’ for name in columnDict: […]

Decorar un método

En mi aplicación Python, estoy usando eventos para comunicarme entre diferentes complementos. Ahora, en lugar de registrar los métodos a los eventos manualmente, pensé que podría usar decoradores para hacer eso por mí. Me gustaría que se vea así: @events.listento(‘event.name’) def myClassMethod(self, event): … Primero he tratado de hacerlo así: def listento(to): def listen_(func): myEventManager.listen(to, […]

Python, implementa dinámicamente una clase onthefly

Suponiendo que tengo una clase que implementa varios métodos. Queremos que un usuario elija los métodos que se ejecutarán entre los métodos existentes o puede decidir agregar cualquier método on_the_fly. del ejemplo class RemoveNoise(): pass entonces los métodos se agregan como se quiera RemoveNoise.raw = Raw() RemoveNoise.bais = Bias() etc incluso puede escribir uno nuevo […]

¿Agregando al espacio de nombres local en Python?

¿Hay alguna forma en Python para agregar al espacio de nombres de los locales llamando a una función sin asignar explícitamente las variables localmente? Algo parecido a lo siguiente, por ejemplo (que por supuesto no funciona, porque locals () devuelve una copia del espacio de nombre local) donde la statement de impresión imprimirá ‘1’. def […]

Llamando a una función de la clase en Python – diferente manera

EDIT2: Gracias a todos por su ayuda! EDIT: en la adición de @staticmethod, funciona. Sin embargo, todavía me pregunto por qué recibo un error de tipo aquí. Acabo de comenzar OOPS y soy completamente nuevo en eso. Tengo una pregunta muy básica sobre las diferentes maneras en que puedo llamar a una función de una […]

Python: hacer una clase para usar números complejos

Actualmente estoy tratando de escribir un progtwig que se ocupa de números complejos. Tengo que usar clases y métodos. Estoy tratando de poder sumr, restar, multiplicar, etc., números complejos, así como compararlos entre sí. Creo que he tenido un buen comienzo, pero tengo algunos problemas. He comenzado cada método y creo que solo necesito llenar […]

Cómo sobrecargar de manera efectiva y sistemática los métodos de clase Python.

Supongamos que tiene una clase Python (> = 2.6) con un montón de métodos (¡cientos!). Ahora alguien quiere subclasificar eso, pero se dio cuenta de que la mayoría de los métodos de la clase base solo necesitan un simple “ajuste”. También hay solo un puñado de formas diferentes de sintonizar esos métodos. Algunas implican transformaciones […]

Método de decoración (sobrecarga de métodos de clase)

Inspirado por la respuesta de Muhammad Alkarouri en ¿Cuáles son los buenos usos para las “anotaciones de funciones” de Python3 ? Quiero hacer este método multimethod para métodos, no para funciones normales. Sin embargo, cuando hago esto registry = {} class MultiMethod(object): def __init__(self, name): self.name = name self.typemap = {} def __call__(self, *args): types […]