Python中文
首页
教程
问答
标签
搜索
登录
注册
lis上的Python属性
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我是Python新手,我刚刚发现了这些属性。当我在一个简单的变量上尝试时,它工作得很好,但是我不能让它在列表上工作。当执行下面的代码时,它将调用两次getter而不是setter。我知道在我的示例中,属性没有附加值,但它是为了简化。</p> <pre><code>class C: def __init__(self): self._x = [1, 2, 3] @property def x(self): print("getter") return self._x @x.setter def x(self, value): print("setter") self._x = value c = C() c.x[1] = 4 print(c.x[1]) </code></pre> <p>有人知道我做错了什么吗?</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>实际上,您的<code>c.x[1] = 4</code>分为两个操作:</p> <ol> <li>获取c的“x”属性(=>;getter)</li> <li>在结果对象上设置项。</li> </ol> <p>要想摆脱这一切是不容易的。但不管怎样,它最终还是达到了你想要的,不是吗?</p> <p>如果你写了如下内容,setter就会被调用:</p> <pre><code>c.x = another_list </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django restfram生成PDF
6 回答
无法使用Django Rest框架发送压缩的gzip数据
4 回答
无法使用Django rest框架进行身份验证(请求用户=匿名用户)
3 回答
无法使用Django、Python和JavaScrip触发onclick函数
8 回答
无法使用Django.views.generic.View保存表单
6 回答
无法使用Django(python 2.7,OS X 10.11.1)
10 回答
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
3 回答
无法使用Django\u mssql\u后端迁移到外部hos
2 回答
无法使用Django&Python3.4连接到MySql
8 回答
无法使用Django+nginx上载媒体文件
3 回答
无法使用Django1.6导入名称模式
10 回答
无法使用Django1.7和mongodb登录管理站点
3 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
4 回答
无法使用Djangockedi验证CBV中的字段
6 回答
无法使用Djangocketditor上载图像(错误400)
10 回答
无法使用Djangocron进行函数调用
7 回答
无法使用Djangofiler djang上载文件
4 回答
无法使用Djangokronos
6 回答
无法使用Djangomssql provid
1 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
10 回答