首页 > 解决方案 > 在 __init__ 函数参数中定义属性或仅将其初始化块而不将其设置为参数之间的区别

问题描述

我不确定在初始化之前是否需要向init函数添加参数,或者是否可以在不先将其作为参数的情况下对其进行初始化。

写这个有区别吗:

class Test:
    def __init__(self):
        self.placeholder=placeholder

和这个:

class Test:
    def __init__(self, placeholder):
        self.placeholder=placeholder

标签: python

解决方案


是的。

第二个实际上会引发错误。

您需要将placeholder参数传递给__init__才能访问它。

__init__像任何其他函数一样工作,因此您需要在函数括号内声明其参数。


推荐阅读