Python oop:__ init__类的方法经常有琐碎的赋值self.value = value

Hot*_*hke 3 python oop

通常python类具有以下形式的__init__方法:

class myclass:
     def __init__(self, value):
        self.value = value
Run Code Online (Sandbox Code Playgroud)

方法参数和实例变量的简单分配感觉就像不必要的代码.据我了解,以下不起作用:

class myclass:
     def __init__(self, self.value):
        pass
Run Code Online (Sandbox Code Playgroud)

我总是__init__要用这些琐碎的作业来编写方法.

它是否正确?

che*_*ner 5

这不只是执行任务; 它实际上也是实例变量"声明"的两倍.是的,没有什么可以阻止您在对象生命周期中的任何时候添加更多实例变量,但按照惯例,您分配给的属性__init__提供事实上的定义,即在类的实例上可用的属性.