gpt4 book ai didi

Python - 在字典中声明方法名称,在外部类中使用方法定义

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

from foo import fooClass

dict = {'a': method1, 'b': method2}

bar = fooClass()

method = dict['a']

bar.method()

我想定义一个包含方法引用的字典,但方法定义不在字典定义的范围内。

目前,我收到 NameError: name 'method1' is not defined。

澄清一下,我已经看到定义函数的示例,然后在同一范围内创建使用函数名称的字典,但这不是我想要做的。

最佳答案

您需要将字典指向实际的方法:

from foo import fooClass

dict = {'a': fooClass.method1, 'b': fooClass.method2}

由于 method1 在该范围内定义,您需要引用 fooClass 类中的方法。


或者,如果您不想在代码中一直引用 fooClass,您可以将方法存储为字符串并使用 getattr() 执行此操作:

from foo import fooClass

dict = {'a': 'method1', 'b': 'method2'}

bar = fooClass()
method = getattr(bar.__class__, method = dict['a'])
bar.method()

关于Python - 在字典中声明方法名称,在外部类中使用方法定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20511097/

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