小编Stu*_*Pig的帖子

python __init__ vs class attributes

我是编程新手.我刚开始几个星期.我花了几个小时阅读课程,但我仍然感到困惑.我有一个具体的问题.

我很困惑何时使用类属性,何时使用初始化器(__init__).

我知道在使用时__init__,我不会立即分配任何值,但只需要在使用该类创建对象时赋值.类属性是在该类下创建的对象自动固有的.

但就实际使用而言,他们是否完成了同样的事情?它们只是两种不同的方式来做同样的事情吗?或者是否属于__init__类属性不能做的事情?

我用这些代码进行了一些测试,结果是一样的.我很困惑何时使用哪个.对我来说class属性看起来更方便使用.

#use class attributes for class Numbers_1
class Numbers_1:

  one = 1
  two = 2
  three = 3
  six = two * three

def multiply(self):
   return self.six * self.two * self.three

 #use initializer for class Numbers_2    
 class Numbers_2:

 def __init__(self, num10, num20, num30, num600):
   self.num10 = num10
   self.num20 = num20
   self.num30 = num30
   self.num600 = num600

 def multiply(self):
   return self.num600 * self.num20 * self.num30

 #Now I run some test to …
Run Code Online (Sandbox Code Playgroud)

python class

5
推荐指数
2
解决办法
2963
查看次数

标签 统计

class ×1

python ×1