鱼C论坛

 找回密码
 立即注册
查看: 2024|回复: 3

[已解决]46讲 课后习题4 和类一个层次是什么含义

[复制链接]
发表于 2016-12-5 11:01:59 | 显示全部楼层 |阅读模式

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

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

x
题目见附件。
然后我把代码改为
  1. class MyDes:
  2.     def __init__(self, value=None):
  3.         self.val = value

  4.     def __get__(self, instance, owner):
  5.         return self.val ** 2

  6. class Test:
  7.     x = MyDes(3)

  8. test = Test()

  9. print test.x
复制代码

把x直接定义在类的下面,可是打印的还是
<__main__.MyDes instance at 0x01F56DF0>

所以想请教各位鱼油,为什么会这样?怎么定义才会打印出9?
最佳答案
2017-12-8 17:45:45
难道是python2还是python3的区别,我用的是python3.6。没问题,附上代码:
  1. class MyDes:
  2.     def __init__(self, value=None):
  3.         self.val = value

  4.     def __get__(self, instance, owner):
  5.         return self.val ** 2

  6. class Test:
  7.     x = MyDes(3)

  8. if __name__ =='__main__':
  9.     test = Test()
  10.     print(test.x)
复制代码
46-4.PNG
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-12-5 17:07:59 | 显示全部楼层
求不沉。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-8 08:56:54 | 显示全部楼层
ding~
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-12-8 17:45:45 | 显示全部楼层    本楼为最佳答案   
难道是python2还是python3的区别,我用的是python3.6。没问题,附上代码:
  1. class MyDes:
  2.     def __init__(self, value=None):
  3.         self.val = value

  4.     def __get__(self, instance, owner):
  5.         return self.val ** 2

  6. class Test:
  7.     x = MyDes(3)

  8. if __name__ =='__main__':
  9.     test = Test()
  10.     print(test.x)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-11 03:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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