鱼C论坛

 找回密码
 立即注册
查看: 1459|回复: 1

[已解决]property 这是什么意思,对照视频和书修改了很多变都是错

[复制链接]
发表于 2017-7-7 21:49:37 | 显示全部楼层 |阅读模式

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

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

x
class A:
        def __init__(self,x=10):
                self.x = x
        def g(self):
                return x
        def s(self,va):
                self.x = va
        def d(self):
                del self.x
        x = property(g,s,d)

       
>>>
>>>
>>> a = A()
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    a = A()
  File "<pyshell#1>", line 3, in __init__
    self.x = x
  File "<pyshell#1>", line 7, in s
    self.x = va
  File "<pyshell#1>", line 7, in s
    self.x = va
  File "<pyshell#1>", line 7, in s
    self.x = va
  [Previous line repeated 491 more times]
RecursionError: maximum recursion depth exceeded while calling a Python object

>>>
最佳答案
2017-7-8 15:59:41
property()传入的三个函数应当是围绕一个属性的一套操作
不过楼主代码本身有两个问题:
1、第5行应该是return self.x  ,小问题
2、第10行property()返回的对象和要操作的属性重名了,把第10行的x改个名字就好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-8 15:59:41 | 显示全部楼层    本楼为最佳答案   
property()传入的三个函数应当是围绕一个属性的一套操作
不过楼主代码本身有两个问题:
1、第5行应该是return self.x  ,小问题
2、第10行property()返回的对象和要操作的属性重名了,把第10行的x改个名字就好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 11:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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