我刚刚阅读了 Python 中的类和方法变量,我想知道这两个示例之间是否存在差异:
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
基本上如果我这样做:
print Example(3,4).Add()
print Example2(3,4).Add()
我得到了相同的结果:
7
7
所以我的问题是:
self.c = self.a + self.b
和c = self.a + self.b
有什么区别?- 是否应使用
self
语句声明在类中声明的所有新变量?
感谢您的帮助!
请您参考如下方法:
不同之处在于,在第二个示例中,您将加法的结果存储到对象变量 c 中。在第一个示例中,c 在方法内部,因此不能是类变量,因为它是在调用 Add 方法时实例化的,而不是在定义类时实例化的。
方法中的变量应该写成self,如果你想存储它们的话。一个局部的、不重要的变量可以写在一个方法中,就像你在 c 的例子中所做的那样。