V2EX woshicai
woshicai

woshicai

V2EX 第 163045 号会员,加入于 2016-03-12 21:35:37 +08:00
woshicai 最近回复了
2017-05-20 08:11:01 +08:00
回复了 Andor_Chen 创建的主题 Python 送几本《流畅的 Python 》
fluent python
前排
> (其实我是来看评论的)
2016-11-01 11:41:04 +08:00
回复了 woshicai 创建的主题 Python 新人求助, 为什么实例属性没有覆盖类属性
@focusheart
非常感谢回答, 终于明白 self.key 为什么不行了。在 ModelMetaclass 的 __new__函数里没有确实没有将 key 处理为 instance property 。
但是还是有个问题:并不是所有 self.key 打印出来的值都是类中定义的 default 值,见输出:

[email protected] <StringField, varchar(50):None> <StringField, varchar(50):None> <StringField, varchar(500):None>

还有个问题:
最初我是用 getattr(self, key, None) 来获取属性,
class Model:
......
def __getattr__(self, key):
try:
return self[key]
print('-------\n getattr() called \n-------------')
......
发现 getattr 每次运行只被调用一次(我期待调用次数和 key 的个数一样),想知道 getattr 的调用顺序。
谢谢各位大神。
2016-11-01 09:36:35 +08:00
回复了 woshicai 创建的主题 Python 新人求助, 为什么实例属性没有覆盖类属性
@slideclick 感谢解答。
尴尬的是我用的不是 Django 框架, 前面没说清楚, 我是让类 User 是继承 dict 类, 所以 self[key]的方式是可以的。
而且 print(self)打印出来的就是一个 dict :
self: {'email': '[email protected]', 'name': 'Test1', 'image': 'about:blank', 'passwd': '1234567890'}
2016-11-01 08:25:55 +08:00
回复了 woshicai 创建的主题 Python 新人求助, 为什么实例属性没有覆盖类属性
@GreatMartial 是啊 print(self)可以看到实例的属性是我初始化实例的数据 但是用 self.key 访问到的确实类的属性
@cheetah v 站貌似不支持 markdown
@Trim21

好吧,把问题抽象一下。
简单的说就是我想获取 self 的属性, 用 self[key]能够正常获取我传入的数据, self.key 会出现异常(会返回类的 key 属性 default 值), print(self)显示实例的 key 值对应的是我传入的数据, 所以有疑惑。 想知道 self[key]和 self.key 的区别,为什么返回的结果不一样。
2016-10-31 23:23:50 +08:00
回复了 woshicai 创建的主题 Python 新人求助, 为什么实例属性没有覆盖类属性
自顶一记
没人不开心
2016-10-24 12:52:52 +08:00
回复了 lyver 创建的主题 推广 过节啦,领取好书一起 1024
《 Go 语言程序设计》 Docker 的火热带得动否 Go ?
2016-10-13 16:28:44 +08:00
回复了 magicfam 创建的主题 Python 前端新人接触 Python 感到迷茫
楼上说的有道理,不过怎么问也有技巧, 看不懂先自己查, 查了还是不懂就把问题记录下来, 等主管有空了拿着问题记录去问他, 问完感觉气氛还可以的话聊点代码以外的事情, 比如让他给你推荐学习资料(包括但不限网上文档、 书)等等拉近关系。
个人见解
网易邮箱 APP 可以直接接受 gmail 邮件。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1470 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 13ms UTC 16:41 PVG 00:41 LAX 09:41 JFK 12:41
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86