You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python:如何调用字典中存储的Test对象的returnVal方法?

解决字典中对象方法调用的问题

别担心,这绝对是新手用字典存储对象时很容易踩的小坑,完全不是什么基础到不好意思问的问题😉

问题出在哪?

你直接写Tom.returnVal()的时候,Python会把Tom当成一个变量名来解析,但你根本没定义过名为Tom的变量——你存在字典里的是键为字符串"Tom"的对象,两者完全不是一回事,所以自然会报错。

正确的调用方式

你需要先通过字典的键(也就是"Tom")取出对应的Test实例,然后再调用它的returnVal()方法,有两种常见写法:

写法1:直接通过字典索引调用

class Test(object):
    def __init__(self,val):
        self.val=val
    def returnVal(self):
        return(self.val)

# 注意:尽量别用dict当变量名,会覆盖Python内置的dict类型
user_dict = {}
user_dict["Tom"] = Test(20)

# 正确调用:先取字典里的对象,再调用方法
result = user_dict["Tom"].returnVal()
print(result)  # 输出20

写法2:先取出对象存为变量,再调用方法

如果需要多次调用这个对象的方法,先把它赋值给变量会更清晰:

# 从字典中取出Tom对应的对象
tom_obj = user_dict["Tom"]
# 调用方法
result = tom_obj.returnVal()
print(result)  # 输出20

额外小提示

尽量不要用dict作为变量名哦,因为dict是Python自带的内置类型(用来创建字典的类),用它当变量名会覆盖掉原本的内置功能,后续如果想使用dict()创建字典就会出问题啦。

内容的提问来源于stack exchange,提问作者Xaeol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:08:46