Why such structure
class A:
def __init__(self, a):
self.a = a
def p(self, b=self.a):
print b
gives an error
If you have arrived here via google, please make sure to check that you have given self as the first parameter to a class function. Especially if you try to reference values for that object instance inside the class function.
def foo():
print(self.bar)
>NameError: name 'self' is not defined
def foo(self):
print(self.bar)