相关问题here,但我无法在实际代码中翻译解决方案(即使用inspect
)。此外,引用的问题已有5年历史,可能已有新方法。
locals()简洁而且很棒,但它会返回一个受本地环境中发生的事情影响的字典。但是,解决方案应该独立于当地环境中发生的事情。
def foo(a=1):
return locals()
foo() # returns {'a': 1}
def bar(a=1):
a = 2
return locals()
bar() # returns {'a': 2}
def solution(a=1):
a = 2
return # DO: RETURN SOMETHING
solution() # should returns {'a': 1}