白two 发表于 2022-4-25 12:20:21

类的实例的属性为字符串,转换为字典后怎么在 __str__ 调用该属性的属性?

# -*- coding=utf-8 -*-
import json
class Cat:
    """定义一个猫类"""
    def __init__(self, new_name, new_info):
      """在创建完对象之后 会自动调用, 它完成对象的初始化的功能"""
      self.name = new_name
      self.info = new_info# 它是一个对象中的属性,在对象中存储,即只要这个对象还存在,那么这个变量就可以使用


    def __str__(self):
      """返回一个对象的描述信息"""
      # print(num)
      return "名字是:%s , 信息是:%s" % (self.name, json.loads(self.info).name)

info1 = '''{
    "age": "18",
    "name": "bai",
    "introduction": "none"
}'''   
cat1 =Cat('xiaoa', info1)
print(cat1)

报错:
AttributeError: 'dict' object has no attribute 'name'

isdkz 发表于 2022-4-25 12:20:22

本帖最后由 isdkz 于 2022-4-25 14:08 编辑

白two 发表于 2022-4-25 12:31
已解决,是我傻逼了,字典访问键的值是用 ['name']
哪位随便回一下,我给设置最佳答案

我要鱼币,谢谢大佬{:5_109:}

白two 发表于 2022-4-25 12:31:40

本帖最后由 白two 于 2022-4-25 12:32 编辑

已解决,是我傻逼了,字典访问键的值是用 ['name']
哪位随便回一下,我给设置最佳答案

.yun. 发表于 2022-10-11 00:08:15

666啊,大佬。{:5_102:}
页: [1]
查看完整版本: 类的实例的属性为字符串,转换为字典后怎么在 __str__ 调用该属性的属性?