gpt4 book ai didi

python - 为什么 Python 指向随着这个函数的微小变化而改变?

转载 作者:太空宇宙 更新时间:2023-11-04 03:43:32 24 4
gpt4 key购买 nike

<分区>

当使用 python 时,令我困扰的是虽然 obj.method() 非常好,但 method(obj) 是不允许的。所以我想我会尝试编写一些代码来解决这个问题。我想到了下一个:

def globalclassfuncs(defobj):
for i in inspect.getmembers(defobj, predicate=inspect.ismethod):
def scope():
var = i[0];
setattr(sys.modules[__name__], i[0], lambda obj, *args: getattr(obj, var)(*args));
scope();

但是,这里有一些奇怪的地方。当我删除 def scope():scope() 时,它会在 for 循环中没有函数定义的情况下运行,或者当我更改 getattr() 函数直接使用 i[0] 而不是通过 var应该指向。为什么这种行为会因代码中如此小的更改而发生如此大的变化?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com