'Self' of python vs 'this' of cpp/c#

Soh*_*amC 9 python

I am quite amateur in OOP concepts of python so I wanted to know are the functionalities of self of Python in any way similar to those of this keyword of CPP/C#.

Kiw*_*iwi 6

self & this have the same purpose except that self must be received explicitly.

Python is a dynamic language. So you can add members to your class. Using self explicitly let you define if you work in the local scope, instance scope or class scope.

As in C++, you can pass the instance explicitly. In the following code, #1 and #2 are actually the same. So you can use methods as normal functions with no ambiguity.

class Foo :
    def call(self) :
        pass

foo = Foo()
foo.call() #1
Foo.call(foo) #2
Run Code Online (Sandbox Code Playgroud)

From PEP20 : Explicit is better than implicit.

Note that self is not a keyword, you can call it as you wish, it is just a convention.