type 类是什么样的类呢
type(property)<class 'type'>
我以为property应该是函数,没想到是type
有大佬科普一下type类型是什么样的呢? type类型就是类类型
你可能有点懵,但是我们平常使用的类都是type类型
例如:class C
此时C就是type类型
这行代码的意思是,property是一个类 这说明property也是type实例化出来的呗{:10_293:}
>>> type(type(1))
<class 'type'> property是一个装饰器 返回一个数据描述符 至于类的类还是函数的类 这个是callable泛型{:10_292:} kogawananari 发表于 2020-11-1 15:45
property是一个装饰器 返回一个数据描述符 至于类的类还是函数的类 这个是callable泛型
完全没懂{:10_266:} lhgzbxhz 发表于 2020-11-1 15:39
type类型就是类类型
你可能有点懵,但是我们平常使用的类都是type类型
例如:class C
property装饰器是一个类 类型吗 kogawananari 发表于 2020-11-1 15:45
property是一个装饰器 返回一个数据描述符 至于类的类还是函数的类 这个是callable泛型
懂了,谢谢 lhgzbxhz 发表于 2020-11-1 15:39
type类型就是类类型
你可能有点懵,但是我们平常使用的类都是type类型
例如:class C
懂了,谢谢 oneface 发表于 2020-11-1 15:50
property装饰器是一个类 类型吗
property装饰器 是数据描述符 而数据描述符是一个类 class Stu:
@property
def age(self):
return 12
stu = Stu()
stu.age = 18
print(stu.age)
del stu.age
使用property装饰器
等价于下面的
class Stu:
class Stu_descriptor:
def __init__(self):
self.val = 12
def __get__(self, obj, objtype):
return self.val
def __set__(self, obj, val):
print("can't set attribute")#抛出异常
def __delete__(self, obj):
print("can't delete attribute")#抛出异常
age = Stu_descriptor()
stu = Stu()
stu.age = 18
print(stu.age)
del stu.age
页:
[1]