为什么 PyLint 警告没有 __init__?

2024-05-29 06:16:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我们有许多python类,它们似乎不需要__init__,将它们初始化为空是完全可以接受的,甚至更可取。派林特似乎认为这是件坏事。我是不是错过了一些洞察,为什么没有__init__是一种难闻的气味?或者我应该压制那些警告然后忘掉它?


Tags: 警告init洞察气味坏事压制难闻
2条回答

你用这些课干什么?

如果它们只是一组不需要维护任何状态的函数,则不需要__init__(),但是将所有这些函数移到它们自己的模块中会更有意义。

如果它们确实保持一个状态(它们有实例变量),那么您可能应该有一个__init__(),以便可以初始化这些变量。即使在创建类时从未为它们提供值,但通常最好定义它们,以便方法调用不引用可能存在或可能不存在的实例变量。

也就是说,如果您不需要__init__(),可以忽略这个警告。

编辑:根据您的注释,您似乎对在初始化之前引用变量时将获得的attributeRor很满意。这是对类进行编程的一种非常好的方法,因此在这种情况下忽略PyLint发出的警告是合理的。

通常至少要使用__init__()方法来初始化实例变量。如果你不这样做,那么一定要关掉这个警告。

相关问题 更多 >

    热门问题