Articles of métodos de

El método de acceso a Python crea nuevos objetos en cada acceso?

Al investigar por otra pregunta , encontré lo siguiente: >>> class A: … def m(self): return 42 … >>> a = A() Esto fue esperado: >>> Am == Am True >>> am == am True Pero esto no lo esperaba: >>> am is am False Y sobre todo no esto: >>> Am is Am False […]

¿Cuál es la forma más fácil de generar un Gráfico de flujo de control para un método en Python?

Estoy escribiendo un progtwig que intenta comparar dos métodos. Me gustaría generar Gráficos de flujo de control (CFG) para todos los métodos emparejados y usar una clasificación topológica para comparar los dos gráficos.

Usando código de Cython autodefinido de otro código de Cython

Actualmente estoy tratando de optimizar mi progtwig Python y comencé con Cython para reducir la sobrecarga de llamadas de funciones y tal vez más adelante incluir funciones de bibliotecas C optimizadas. Así que me encontré con el primer problema: Estoy usando la composición en mi código para crear una clase más grande. Hasta ahora he […]

Comprobar si una función es un método de algún objeto.

¿Cómo comprobar si una función es un método de algún objeto? Por ejemplo: def check_method(f): … check_method(lambda x: x + 1) # >>> False check_method(SomeClass().some_method) # >>> True Hay algunos atributos especiales en los métodos en mi ejemplo ‘helloworld’ (por ejemplo, ‘im_self’, ‘__self__’ etc). ¿Puedo confiar en ellos o hay alguna manera mejor?

Python: ¿Por qué las listas no tienen un método de búsqueda?

Estaba tratando de escribir una respuesta a esta pregunta y me sorprendió bastante descubrir que no hay un método de búsqueda para las listas, las listas solo tienen el método de índice (las cadenas tienen buscar e índice). ¿Alguien puede decirme la razón detrás de eso? ¿Por qué las cuerdas tienen ambas?

Anulación del método Python, ¿importa la firma?

Digamos que tengo class Super(): def method1(): pass class Sub(Super): def method1(param1, param2, param3): stuff ¿Es esto correcto? ¿Las llamadas a method1 siempre irán a la subclase? Mi plan es tener 2 subclases por cada método de reemplazo1 con diferentes parámetros

¿Cómo sobrecargar el método __bool__ de Python?

Posible duplicado: definiendo “boolness” de una clase en python Pensé que esto debería imprimir “Falso”, ¿por qué está imprimiendo “Verdadero”? >>> class Foo(object): … def __bool__(self): … return False … >>> f = Foo() >>> if f: … print “True” … else: … print “False” … True >>>

¿Por qué siempre agregar uno mismo como primer argumento a los métodos de clase?

Posible duplicado: ¿Por qué necesita explícitamente tener el argumento “self” en un método de Python? Entiendo por qué el yo es siempre el primer argumento para los métodos de clase, esto tiene mucho sentido, pero si es así, entonces, ¿por qué pasar por la molestia de escribir si para cada definición de método? ¿Por qué […]

Asignar una función a un atributo de objeto

Según mi comprensión del modelo de datos de Python , y específicamente de la subsección “Métodos de instancia”, cada vez que lea un atributo cuyo valor sea del tipo “función definida por el usuario”, se activará un poco y obtendrá un método de instancia vinculado en lugar del real. , función original. Esa magia es […]

Un método de clase que se comporta de manera diferente cuando se llama como un método de instancia?

Me pregunto si es posible hacer un método que se comporte de manera diferente cuando se llama como un método de clase que cuando se llama como un método de instancia. Por ejemplo, como un proyecto de mejora de habilidades, estoy escribiendo una clase de Matrix (sí, ya sé que ya hay clases de matrices […]