Ricardo Cárdenes está en el camino correcto. En realidad, llegar a la función test
dentro detest
va a ser mucho más complicado. El módulo inspect
le dará más, pero va a ser feo: Python code to get current function into a variable?
Como resultado, se puede hacer referencia a test
dentro de la función:
def test(arg1='foo'):
print test.__defaults__[0]
imprimirá foo
. Pero refiriéndose a test
sólo funcionará, siempre y cuando test
está definido en realidad:
>>> test()
foo
>>> other = test
>>> other()
foo
>>> del test
>>> other()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in test
NameError: global name 'test' is not defined
lo tanto, si tiene la intención de pasar alrededor de esta función, es posible que realmente tiene que ir a la ruta inspect
:(
¿Puede dar un ejemplo que demuestra por qué es posible que desee hacer eso? – Kevin
¿Quiere decir NO simplemente escribiendo 'arg1'? –
Si no proporciona 'arg1' al llamar a' test', entonces 'arg1' se configurará por defecto a' 'Foo'' – TyrantWave