我是一个PyCharm新手,但长期使用IntelliJ。在IntelliJ中,编写类定义时,IDE可以基于实例变量自动生成构造函数equals()
方法和hashCode()
方法。这不仅有助于保存类型,而且有助于防止意外错误,并有助于自动抛出一些equals()
和hashCode()
最佳实践。
考虑到产品来自同一家公司,我希望皮查姆也能这样做。在搜索了大量的文档之后,我找不到关于__eq__()
或__hash__()
的任何东西。当然,Python实例变量没有显式指定,但我希望生成器可以遵循一种约定,比如将所有__init()__
参数作为潜在的实例变量。至于__init__()
,I found something that will automatically add instance variable settings进入__init__()
,但是这种方法似乎比仅仅键入更麻烦,而且它甚至没有将实例变量作为参数添加到__init__()
签名中。
我是否在文档中遗漏了什么,或者可能有一个插件可以做到这一点?
更新:为了清楚起见,我正在寻找能够生成这些方法的实际实现的东西。也就是说,如果我有一个名为Point
的类,而PyCharm知道我的类有x
和y
实例变量,那么它会自动为__eq__()
方法生成这个:
def __eq__(self, other):
if not isinstance(other, Point):
return NotImplemented
elif self is other:
return True
else:
return self.x == other.x and self.y == other.y
在IntelliJ中很容易实现相同的功能。
目前没有回答
相关问题 更多 >
编程相关推荐