Python中文
首页
教程
问答
标签
搜索
登录
注册
在类方法中声明新变量
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我刚读到Python中的类和方法变量,我想知道这两个例子之间是否有区别:</p> <pre><code>class Example(object): def __init__(self, nr1, nr2): self.a = nr1 self.b = nr2 def Add(self): c = self.a + self.b return c class Example2(object): def __init__(self, nr1, nr2): self.a = nr1 self.b = nr2 def Add(self): self.c = self.a + self.b return self.c </code></pre> <p>基本上,如果我这样做了:</p> <pre><code>print Example(3,4).Add() print Example2(3,4).Add() </code></pre> <p>我得到了同样的结果:</p> <pre><code>7 7 </code></pre> <p>所以我的问题是:</p> <ol> <li><code>self.c = self.a + self.b</code>和<code>c = self.a + self.b</code>有什么区别?</li> <li>所有在类内声明的新变量都应该用<code>self</code>语句声明吗?</li> </ol> <p>谢谢你的帮助!</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>不同之处在于,在第二个示例中,您存储添加到对象变量c的结果。在第一个示例中,c位于方法内部,因此不能是类变量,因为它是在调用Add方法时实例化的,而不是在定义类时实例化的。</p> <p>方法中的变量应该用self编写,如果您想存储它们的话。一个局部的,不重要的变量可以写在一个方法中,就像你在c的例子中所做的那样</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
5 回答
如何在乒乓球游戏中阻止球
2 回答
如何在乘法和模中不乘空间?
1 回答
如何在乘法和除以2个不同的数字之间进行交换?
4 回答
如何在也是数据一部分的单个字符上拆分大字符串
1 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
4 回答
如何在事件wxWidgets中传递自定义数据
7 回答
如何在事件中使用lambda i=i?
9 回答
如何在事件中心只接收最近的数据
6 回答
如何在事件发生之前保持云函数运行?
10 回答
如何在事件发生后使页面重定向到同一页面
9 回答
如何在事件回调之间保持python生成器的状态
7 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
4 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
1 回答
如何在事件处理程序中访问外部对象?
2 回答
如何在事件循环中将协程打包为正常函数?
5 回答
如何在事件循环之外运行协同程序?
10 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
5 回答
如何在事件文件中只保留一份摘要?
9 回答
如何在事件模板中添加事件
10 回答