昨晚去翻了一下python里面abstractmethod的实现,发现还是比想象中要复杂很多。原本以为只是如何写decorator的问题,才发现有几点是之前不了解的:
1.有的decorator是用function wrapper来实现的;有的decorator居然是用class来实现的。
2. 在python3里面所有class都继承自object,但现在发现原来function也是object(python2并不是这样)。
所以在python3里面的abstractmethod实现是给function加了一个私有属性标记为abstract,然后在构造函数里统计abstractmethods,如果不为空的话,就是不能被实例化的abstract class。
最后可以看看PEP-3119关于abstractmethod的细节:
https://t.cn/Aijlq2DZ
1.有的decorator是用function wrapper来实现的;有的decorator居然是用class来实现的。
2. 在python3里面所有class都继承自object,但现在发现原来function也是object(python2并不是这样)。
所以在python3里面的abstractmethod实现是给function加了一个私有属性标记为abstract,然后在构造函数里统计abstractmethods,如果不为空的话,就是不能被实例化的abstract class。
最后可以看看PEP-3119关于abstractmethod的细节:
https://t.cn/Aijlq2DZ
per-表示贯穿,自始至终
perspective透视的
perennia全年的
perspire出汗
permanent永久的
persist坚持
persuade劝说
percussion敲打,叩诊
表示 假,坏
perfidy 不忠,背叛fid 相信
perjury 伪证,假誓jur 发誓
perfunctory 草率的funct 作用
perpetrate 做坏事;petr=patr 父亲
pervert 堕落,滥用vert 转
perspective透视的
perennia全年的
perspire出汗
permanent永久的
persist坚持
persuade劝说
percussion敲打,叩诊
表示 假,坏
perfidy 不忠,背叛fid 相信
perjury 伪证,假誓jur 发誓
perfunctory 草率的funct 作用
perpetrate 做坏事;petr=patr 父亲
pervert 堕落,滥用vert 转
#品牌档案# #006 R+D.LAB: 带有手工温度的“有用之美”
R+D.LAB成立于2006年,是一个从始至终坚守美学与实用并存的创意设计工作室,探索现代美好事物,相信美学的形式、色彩的力量和传统原始技艺中沉淀出的纯净特质可以赋予器物最真实的美。R+D.LAB的产品从实用价值出发坚持着Pure,Thoughtful, Functional, Purpose的原则,从美学设计出发秉承着Clear, Natural, Progressive, Meaningful的宗旨,将传统的工匠技艺与现代社会的实用追求相结合,创造出适合当今生活方式的纯粹而现代的产品。https://t.cn/Aij2bejN
#Cabana家具店##品牌档案##R+D.LAB#
R+D.LAB成立于2006年,是一个从始至终坚守美学与实用并存的创意设计工作室,探索现代美好事物,相信美学的形式、色彩的力量和传统原始技艺中沉淀出的纯净特质可以赋予器物最真实的美。R+D.LAB的产品从实用价值出发坚持着Pure,Thoughtful, Functional, Purpose的原则,从美学设计出发秉承着Clear, Natural, Progressive, Meaningful的宗旨,将传统的工匠技艺与现代社会的实用追求相结合,创造出适合当今生活方式的纯粹而现代的产品。https://t.cn/Aij2bejN
#Cabana家具店##品牌档案##R+D.LAB#
✋热门推荐