gpt4 book ai didi

python - 将方法参数转发给另一个方法 - self 需要从 locals() 中弹出

转载 作者:太空宇宙 更新时间:2023-11-04 07:41:59 25 4
gpt4 key购买 nike

将被调用函数的数据委托(delegate)给另一个函数很简单:

def test2(a, b):
huh = locals()
print huh

def test(a, b='hoho'):
test2(**locals())

但是,locals() 在调用方法时包含 self,这会妨碍尝试在一行中为方法调用做同样的事情:

class X(object):
def test2(self, a, b):
huh = locals()
print huh

def test(self, a, b='hoho'):
self.test2(**locals()) # no workie
test2(**locals()) # no workie either

最佳答案

你根本不应该在这里使用 locals();使用 *args**kw 来捕获参数并传递它们:

def test(self, *args, **kw):
self.test(*args, **kw)

关于python - 将方法参数转发给另一个方法 - self 需要从 locals() 中弹出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18281781/

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