在Python中的类上定义方法时,它看起来像这样:
class MyClass(object):
def __init__(self, x, y):
self.x = x
self.y = y
但是在某些其他语言(例如C#)中,您可以使用“ this”关键字来引用该方法所绑定的对象,而无需在方法原型中将其声明为参数。
这是Python中的有意语言设计决定,还是有一些实现细节需要传递“ self”作为参数?
我喜欢引用Peters的Python Zen。“显式比隐式好。”
在Java和C ++中,this.
可以推断出' ',除非您拥有无法推断的变量名。因此,您有时需要它,有时则不需要。
Python选择使这种事情变得明确,而不是基于规则。
此外,由于没有暗示或假设,因此公开了部分实现。self.__class__
,self.__dict__
以及其他“内部”结构也很明显。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句