Articles of Reflexión de

¿Hay una manera de recorrer y ejecutar todas las funciones en una clase de Python?

yo tengo class Foo(): function bar(): pass function foobar(): pass En lugar de ejecutar cada función una por una como sigue: x = Foo() x.bar() x.foobar() ¿Existe una forma integrada de realizar un ciclo y ejecutar cada función en la secuencia en la que se escriben en la clase?

Almacenamiento seguro de credenciales en python

El ataque Un posible modelo de amenaza, en el contexto del almacenamiento de credenciales, es un atacante que tiene la capacidad de: inspeccionar cualquier memoria de proceso (usuario) leer archivos locales (usuario) AFAIK, el consenso sobre este tipo de ataque es que es imposible evitarlo (ya que las credenciales deben almacenarse en la memoria para […]

¿Cómo puedo cambiar mediante progtwigción el argspec de una función en un decorador de python?

Dada una función: def func(f1, kw=’default’): pass bare_argspec = inspect.getargspec(func) @decorator def func2(f1, kw=’default’): pass decorated_argspec = inspect.getargspec(func2) ¿Cómo puedo crear un decorador tal que bare_argspec == decorated_argspec ? (En cuanto a por qué, el marco que llama a la función decorada realiza una inspección argspec para elegir qué pasar, por lo que el decorador […]

El decorador Python hace que la función olvide que pertenece a una clase

Estoy tratando de escribir un decorador para hacer el registro: def logger(myFunc): def new(*args, **keyargs): print ‘Entering %s.%s’ % (myFunc.im_class.__name__, myFunc.__name__) return myFunc(*args, **keyargs) return new class C(object): @logger def f(): pass C().f() Me gustaría que esto se imprima: Entering Cf pero en su lugar me sale este mensaje de error: AttributeError: ‘function’ object has […]

¿Cómo enumerar las propiedades de un objeto en Python?

IC # lo hacemos a través de la reflexión. En Javascript es simple como: for(var propertyName in objectName) var currentPropertyValue = objectName[propertyName]; ¿Cómo hacerlo en Python?

Python: cambio de métodos y atributos en tiempo de ejecución

Deseo crear una clase en Python que pueda agregar y eliminar atributos y métodos. ¿Cómo puedo lograr eso? Ah, y por favor no preguntes por qué.

¿Cómo puedo obtener una lista de todas las clases dentro del módulo actual en Python?

He visto muchos ejemplos de personas que extraen todas las clases de un módulo, generalmente algo como: # foo.py class Foo: pass # test.py import inspect import foo for name, obj in inspect.getmembers(foo): if inspect.isclass(obj): print obj Increíble. Pero no puedo averiguar cómo obtener todas las clases del módulo actual . # foo.py import inspect […]

¿Cómo listar todas las funciones en un módulo de Python?

Tengo un módulo de Python instalado en mi sistema y me gustaría poder ver qué funciones / clases / métodos están disponibles en él. Quiero llamar a la función doc en cada uno. En ruby ​​puedo hacer algo como ClassName.methods para obtener una lista de todos los métodos disponibles en esa clase. ¿Hay algo similar […]

¿Cómo encontrar el nombre de una variable que se pasó a una función?

En C / C ++, a menudo he encontrado útil mientras depuraba para definir una macro, digamos ECHO(x) , que imprime el nombre de la variable y su valor (es decir, ECHO(variable) puede imprimir la variable 7 ). Puede obtener el nombre de la variable en una macro usando el operador # “clasificación” como se […]