gpt4 book ai didi

python - 无法在类内的列表中执行函数

转载 作者:行者123 更新时间:2023-12-01 23:20:36 26 4
gpt4 key购买 nike

我正在尝试用 Python 创建一个函数列表。虽然我的代码可以“看到”该函数并尝试执行它,但它会遇到一个错误,指出它缺少位置参数 self

class cpu:
def __init__(self):
pass

def execute(self):
self.instructions[0]()

def add(self):
print("instr add")

def beq(self):
print("instr beq")

instructions = [add, beq]

cpu_ = cpu()
cpu_.execute()

输出:

Traceback (most recent call last):
File "C:\...\src\error.py", line 17, in <module>
cpu_.execute()
File "C:\...\src\error.py", line 6, in execute
self.instructions[0]()
TypeError: add() missing 1 required positional argument: 'self'

最佳答案

    ...
self.instructions[0](self)
...

这似乎可以解决问题。我不太清楚为什么。

关于python - 无法在类内的列表中执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68149063/

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