Did you know?#
Well… at least I did not.
The size of an instance of the smallest new-style user defined class is 32 bytes:
class X(object):
pass
x=X()
x.__sizeof__()
Class attributes starting with a dunder are not overwritten by a sub class:
"""
Demonstration, that dunder attributes are not overwritten by subclasses.
"""
class A(object):
_foo = 1
def f(self):
print self._foo
class B(A):
_foo = 2
A().f()
B().f()
print '---------'
class A1(object):
__foo = 1
def f(self):
print self.__foo
class B1(A1):
__foo = 2
A1().f()
B1().f()
b1 = B1()