我一直在编程多种语言,例如Java,Ruby,Haskell和Python。由于我从事的项目不同,我每天必须在多种语言之间切换。现在,问题是我常常忘记写代码,self
因为Python中函数定义中的第一个参数与在同一对象上调用方法相同。
也就是说,我对Python的这种方法感到惊讶。基本上,我们必须键入更多内容才能完成工作,在Java和Ruby之类的语言中,通过自动引用当前对象中的变量使事情变得简单。
我的问题是为什么这是self
必要的?纯粹是样式选择,还是有原因导致Python不能让您忽略self
Java和C ++的想法this
?
@staticmethod
在方法声明之前编写,可以抑制错误(仅用于提供信息,也不建议使用)