在 Python 3.x 中,是否可以在将项目附加到列表之前运行函数?
我有一个继承自列表的类,带有一些额外的自定义函数。我想对添加到此列表的任何元素的数据执行一系列检查。如果添加的元素不符合特定条件,列表将引发错误。
class ListWithExtraFunctions(list):
def __beforeappend__(self):
... run some code ...
... perform checks ...
... raise error if checks fail ...
最佳答案
定义 ListWithExtraFunctions.append
并在 value
通过所有检查时调用 super().append(value)
:
class ListWithExtraFunctions(list):
def append(self, value):
if okay():
return super().append(value)
else:
raise NotOkay()
关于Python 3.x - 在将项目附加到列表之前运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35117067/