Python字典打印变量报错:AttributeError,'dict'对象无'value1'属性
错误原因及解决方法
错误原因
- 字典访问语法错误:Python中字典是映射类型,访问元素必须用
[键名]的语法,你误用了.属性访问方式(比如settings.value1)——这种语法仅适用于访问类实例的属性,字典不支持,因此触发AttributeError。 - 字典键设置错误:你定义的
is_on、value1、value2变量值均为None,将它们作为字典键时,三个键都是同一个None,后续键值对会覆盖前面的,最终settings字典实际只有{None: 20}这一个键值对,根本不存在你期望的value1、value2键。
解决方法
步骤1:修正字典的键
将字典的键改为字符串类型的唯一标识,确保键与值对应正确:
settings = { "is_on": False, "value1": 10, "value2": 20 }
步骤2:修正字典元素的访问方式
把.访问改为[键名]的标准字典访问方式:
def main(): print(f"----------------") print(f"Value 1: {settings['value1']}") print(f"Value 2: {settings['value2']}") print("-----------------")
完整修正后的代码
settings = { "is_on": False, "value1": 10, "value2": 20 } def main(): # print(f"Enabled: {settings['is_on']}") print(f"----------------") print(f"Value 1: {settings['value1']}") print(f"Value 2: {settings['value2']}") print("-----------------") main()
内容的提问来源于stack exchange,提问作者blxssom
相关产品推荐
相关产品推荐

