鱼C论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 48|回复: 2

第45讲课后题第二题 运行程序后出现的奇怪问题

[复制链接]
最佳答案
0 
发表于 7 天前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 yumjang 于 2019-8-14 00:05 编辑

问题如下:
在不上机验证的情况下,你能推断以下代码分别会显示什么吗??

  1. >>> class C:
  2.         def __getattr__(self, name):
  3.                 print(1)
  4.         def __getattribute__(self, name):
  5.                 print(2)
  6.         def __setattr__(self, name, value):
  7.                 print(3)
  8.         def __delattr__(self, name):
  9.                 print(4)           
  10. >>> c = C()
  11. >>> c.x = 1
  12. # 位置一,请问这里会显示什么?
  13. >>> print(c.x)
  14. # 位置二,请问这里会显示什么?
复制代码




答案是:
3
2
None


而我的程序跑出来,在None之后会多46个2,即便把小甲鱼的代码直接放进去跑,也是多46个执行__getattribute__的结果。非常的奇怪。

我把代码发给别人,没问题,但我自己这儿却总是出现这鬼现象。求大神告知为啥...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
232 
发表于 7 天前 | 显示全部楼层

回帖奖励 +5 鱼币

我也是,满屏的 2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
8 
发表于 7 天前 | 显示全部楼层

回帖奖励 +5 鱼币

没出现
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号

GMT+8, 2019-8-21 08:33

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表