小编Dus*_*tic的帖子

“__get__”参数之一是多余的吗?

如此处所述:

https://docs.python.org/3/reference/datamodel.html#object.__get__

传递给 __get__ 方法的两个参数('self' 除外)分别是对象和访问属性的类。第二个论点不是多余的吗?此外,当“类”也是对象时,为什么需要区分对象和类访问?

所以,在我看来,有两种可能性:

  • 从对象访问属性,在这种情况下,所有者参数将等于type( instance ),因此它不会带来新信息
  • 从类(“类型”的对象)访问属性,在这种情况下,源对象仅位于所有者参数中,实例None

在我看来,如果只使用一个参数(例如instance)可以实现相同的功能,该参数将始终保存原始对象,无论它是否是“类”。如果确实需要该信息,则可以使用isinstance(instance, type).

那么,为什么需要两个参数呢?

python python-descriptors

5
推荐指数
1
解决办法
119
查看次数

标签 统计

python ×1

python-descriptors ×1