python - 在 __init__ 函数参数中定义属性或仅将其初始化块而不将其设置为参数之间的区别
问题描述
我不确定在初始化之前是否需要向init函数添加参数,或者是否可以在不先将其作为参数的情况下对其进行初始化。
写这个有区别吗:
class Test:
def __init__(self):
self.placeholder=placeholder
和这个:
class Test:
def __init__(self, placeholder):
self.placeholder=placeholder
解决方案
是的。
第二个实际上会引发错误。
您需要将placeholder
参数传递给__init__
才能访问它。
__init__
像任何其他函数一样工作,因此您需要在函数括号内声明其参数。
推荐阅读
- .net - 对类型 '(, )' 的引用声称它是在 'mscorlib' 中定义的,但找不到
- ios - iOS后台任务从未启动
- python - 我们可以向谁显示或显示正在运行的 Excel 实例并传入数据框?
- python-3.x - 具有 None 默认值和类型的数据类元素 - 正确用法?
- gitlab - “拒绝应用来自 {link} 的样式,因为它的 MIME 类型不受支持且已启用严格的 MIME checkinis。” 在 Vue+Vuetify 应用中
- typescript - 无法在 NextJs + Storybook 中提供静态文件
- sql - 无法从 SELECT 返回多行以按特定列正确汇总
- laravel - Laravel 本地化和来自 Jetstream / Fortify 的路线
- javascript - My bootbox.js confirm dialogue requires two clicks to save
- python - Why is the time complexity of getting the length of a python list constant?