IT序号网

python - 在类方法中声明新变量

xiaohuochai 2023年05月26日 程序员 8 0

我刚刚阅读了 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 

所以我的问题是:

  1. self.c = self.a + self.bc = self.a + self.b 有什么区别?
  2. 是否应使用 self 语句声明在类中声明的所有新变量?

感谢您的帮助!

请您参考如下方法:

不同之处在于,在第二个示例中,您将加法的结果存储到对象变量 c 中。在第一个示例中,c 在方法内部,因此不能是类变量,因为它是在调用 Add 方法时实例化的,而不是在定义类时实例化的。

方法中的变量应该写成self,如果你想存储它们的话。一个局部的、不重要的变量可以写在一个方法中,就像你在 c 的例子中所做的那样。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

python - 在 python 中以相反的顺序柯里化(Currying)