self&
this具有相同的目的,但
self必须明确接收。
Python是一种动态语言。因此,您可以将成员添加到您的班级中。通过
self显式使用,可以定义您是在本地范围,实例范围还是在类范围内工作。
与C ++中一样,您可以显式传递实例。在下面的代码中,
#1和
#2实际上是相同的。因此,您可以毫无歧义地将方法用作常规函数。
class Foo : def call(self) : passfoo = Foo()foo.call() #1Foo.call(foo) #2
从PEP20:
Explicit is better than implicit。
请注意,这
self不是关键字,您可以根据需要调用它,这只是一个约定。



