Me pregunto si hay una manera de determinar (dada una variable que contiene una lambda) el número de parámetros que contiene la lambda. La razón es que deseo llamar a una función condicionalmente dependiente del número de parámetros.Determinar el número de parámetros en una lambda
Lo que estoy buscando
def magic_lambda_parameter_counting_function(lambda_function):
"""Returns the number of parameters in lambda_function
Args:
lambda_function - A lambda of unknown number of parameters
"""
Así que puedo hacer algo como
def my_method(lambda_function):
# ...
# (say I have variables i and element)
parameter_count = magic_lambda_parameter_counting_function(lambda_function)
if parameter_count == 1:
lambda_function(i)
elif parameter_count == 2:
lambda_function(i, element)
parece inspect.getargspec es obsoleto, se sugiere utilizar inspect.signature – JeffHeaton