我刚刚写了一个小函数,它返回自己的参数作为字典:
from inspect import signature
class MyClass:
def MyFunc(self, thing1=0, thing2=0, thing3=0, thing4="", thing5=""):
P = {}
for p in list(signature(self.MyFunc).parameters):
P[p] = eval(p)
return P
撇开为什么有人想这样做(并接受我从更广泛的上下文中提炼出一个非常简单的例子来探索一个非常具体的问题),有一个明确的参考自我。我的福克在那里。
我见过避免这种情况的复杂方法,例如:
globals()[inspect.getframeinfo(inspect.currentframe()).function]
和
globals()[sys._getframe().f_code.co_name]
但是我想知道是否有类似匿名构造Python的东西来引用父类中同名的方法,它适用于优雅地允许函数匿名引用自身,即不必命名自己。super()
我怀疑不是,从Python 3.8开始,没有办法做到这一点。但认为这是一个值得讨论和探索的问题,并邀请纠正我的怀疑。
白猪掌柜的
料青山看我应如是
慕容708150
相关分类