what is the different between
class d():
    d = None
    def __init__(self):
        .....
and:
class d():
   def __init__(self):
       self.d = None
what is the different between
class d():
    d = None
    def __init__(self):
        .....
and:
class d():
   def __init__(self):
       self.d = None