python - 如何在 Python 中同一类对象的 2 个实例中触发方法?
问题描述
我有同一个类(State)的 2 个实例(st0,st1),其中有 2 个方法。不知何故,当st0。loc_st()被调用,我想要那个st1。rem_st()被自动触发。如何使用 Python OOP 实现该目的?抱歉,代码看起来有点幼稚,但它是一个简化的模型,节省了阅读工作量。
import random
class State(object):
def __init__(self) -> None:
self.s = ['S0', 'S1', 'S2']
def loc_sc(self):
# how to trigger a remote method in different class?
print (self.s)
def rem_sc(self):
random.shuffle(self.s)
print (self.s)
if __name__ == '__main__':
st0 = State()
st1 = State()
# how can I trigger st1.rem_sc() automatically
# when st0.loc_sc is called
st0.loc_sc()
解决方案
两个实例互不认识。所以这不是一个推荐的情况,但是如果你真的想这样做,请将你的所有实例恢复到一个列表中,当你想触发其中一个时,只需循环查找它。这是答案!可以帮助你。
推荐阅读
- javascript - (js) 使用 api 包装器编写异步函数
- php - PHP:无法使用 API 获取谷歌照片/相册
- android - Flutter ML 套件视觉无法检测到人脸
- jenkins - 重命名文件 - 詹金斯
- vue.js - 获取页面的一部分以在vue中显示更新的数据
- wso2 - 在 WSO2 EI/ESB 集成工作室中处理来自 API 调用的路径参数
- html - 如何将数据从html表单元素传递到角度类
- python - 试图让 midi2vjoy 工作,pygame.midi.Input 导致分段错误
- algorithm - 查找列表中另一个数字的超集的数字
- java - 我被困在我的 android 应用程序之一的“If”和“Else”功能中