以下是一个解决方法的代码示例:
class MyObject:
def __init__(self):
self.event1_executed = False
self.event2_executed = False
def event1(self):
if not self.event1_executed:
print("执行事件1")
self.event1_executed = True
else:
print("事件1已经执行过")
def event2(self):
if not self.event2_executed:
print("执行事件2")
self.event2_executed = True
else:
print("事件2已经执行过")
# 创建对象
obj = MyObject()
# 第一次执行事件1
obj.event1() # 输出:执行事件1
# 再次执行事件1
obj.event1() # 输出:事件1已经执行过
# 第一次执行事件2
obj.event2() # 输出:执行事件2
# 再次执行事件2
obj.event2() # 输出:事件2已经执行过
在这个示例中,MyObject
类定义了两个事件 event1()
和 event2()
。类的初始化方法 __init__()
初始化了两个实例变量 event1_executed
和 event2_executed
,用于标记事件是否已经执行过。当调用事件方法时,会先检查对应的实例变量,如果事件还未执行过,则执行事件并将对应的实例变量标记为已执行,否则输出事件已经执行过的提示信息。