Python如何调用字典中无显式变量名的类实例方法
如何调用无独立变量名、存储在字典中的类实例方法
问题场景
- 自定义
Patient类,通过__init__方法接收id、name、appointments等参数生成患者实例 - 实现静态方法
add_patient完成新患者入库,核心逻辑为创建实例后,以实例id为键存入全局字典patientsdictionary:
new = Patient(id, name, ..., appointments) patientsdictionary[new.id] = new
- 所有患者实例均未绑定独立变量名(不存在
patient1 = Patient(...)这类单独赋值),全部存储在上述字典中 - 需求为调用指定实例(例如id=3的患者)的实例方法
get_appointment(self),为对应实例的appointments列表追加预约记录,不清楚无独立变量名时如何调用实例方法。
解决方案
存储在字典中的实例和绑定了独立变量名的实例没有本质区别,只要通过字典键取到对应实例的引用,就可以直接调用实例方法,和普通变量调用的规则完全一致。
操作id=3的患者实例时,直接通过键取值后调用方法即可:
# 取出字典中id=3对应的Patient实例,直接调用实例方法 patientsdictionary[3].get_appointment()
如果get_appointment需要传入预约相关参数,正常传参即可:
# 示例:传入预约日期、就诊科室参数 patientsdictionary[3].get_appointment(appointment_date="2024-06-20", department="骨科")
核心逻辑:Python中类的实例不管是赋值给单独变量,还是存放在列表、字典等容器结构中,只要能获取到实例本身的引用,就可以正常访问实例属性、调用实例方法,和引用的存储位置无关。字典中存储的value本身就是
Patient类的实例对象,取出value就等同于拿到了可操作的实例本身。
内容的提问来源于stack exchange,提问作者user17253648
相关产品推荐
相关产品推荐

