xiaofan1228 发表于 2020-3-9 12:30:36

关于类对象的__dict__

本帖最后由 xiaofan1228 于 2020-3-9 12:43 编辑

class Typed:
    def __get__(self, instance,owner):
      print('get方法')
      print('instance参数【%s】' %instance)
      print('owner参数【%s】' %owner)      
    def __set__(self, instance, value):
      print('set方法')
      print('instance参数【%s】' %instance)
      print('value参数【%s】' %value)      
    def __delete__(self, instance):
      print('delete方法')
      print('instance参数【%s】'% instance)
class People:
    name=Typed()
    def __init__(self,name,age,salary):
      self.name=name      
      self.age=age
      self.salary=salary

p1=People('alex',13,13.3)
print(p1.__dict__) #这里输出


输出结果
{'age': 13, 'salary': 13.3}

问题: 为什么没有输出 name ?    另,求关于__dict__的拓展阅读

xiaofan1228 发表于 2020-3-9 12:43:47

本帖最后由 xiaofan1228 于 2020-3-9 12:47 编辑

看明白了,因为name已经被描述,所以实例的属性字典并不存在name,也说明一点实例属性的权限并没有数据描述符的权限大,mark
页: [1]
查看完整版本: 关于类对象的__dict__