Code: Select all
import inspect
def get_default_args(func):
# obtained from: https://stackoverflow.com/questions/12627118/get-a-function-arguments-default-value
signature = inspect.signature(func)
return {
k: v.default
for k, v in signature.parameters.items()
if v.default is not inspect.Parameter.empty
}
def func_a(self, var_a:int=10, var_b:str = 'a') -> float:
pass
def func_b(self, var_c:int=10, var_d:str = 'b') -> float:
pass
def main_func(args_a, args_b):
value_a = func_a(**args_a)
value_b = func_b(**args_b)
# Get the options and default values to call the functions
args_a = get_default_args(func_a)
args_b = get_default_args(func_a)
# Edit the default values
args_a = {"var_b":'d'}
args_b = {"var_c":5}
# Make the call to the main function
main_func(args_a, args_b)