问题描述
我正在尝试制作一个文本冒险游戏,并且我在类 init 中定义了一个字典,在该类中,稍后在类中引用了一个函数。我希望程序在我使用字典键调用函数时执行该函数,但在调用类时它会自动执行。
这是我的最小可重现错误:
class myClass:
def __init__(self):
self.my_dictionary = {
"key": myClass.my_function()
}
def my_function():
print("here")
myClass()
打印:here
当我不希望打印任何内容时。
我希望发生的事情是这样的:
class myClass:
def __init__(self,input):
self.input = input
self.my_dictionary = {
"key": myClass.my_function(),"ooo": 0
}
self.my_dictionary[self.input] # if the input is "key" then this should activate myClass.my_function()
def my_function():
print("here")
myClass("key") # SHOULD activate myClass.my_function()
myClass("ooo") # should NOT activate myClass.my_function()
但这会打印 here \n here
。
我在我的另一个项目中进行了测试,发现该函数在放入字典时被调用,即在上一个示例的第 7-8 行。
我不知道为什么会发生这种情况,如果没有办法解决它,我如何才能达到类似的效果(我的目的是将不同的键输入到字典中,然后具有相应的功能执行)。
感谢您的帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)