No it is not good idea. Not due to "*bigger*" memory consumption but for better feeling:-) 

Example
```python
    class A(object):
        __slots__ = ['a', 'b']
    
    
    class B(A):
        pass
    
    
    class C(A):
        __slots__ = ['c']
    
    
    class D(A):
        pass
    
    
    class E(A):
        __slots__ = []
    
    a = A()
    b = B()
    b.a = 5
    b.c = 10
    c = C()
    c.a = 5
    c.c = 10
    d = D()
    e = E()
    
    
    print b.a, b.c
    print "size of a: %s" % sys.getsizeof(a)
    print "size of b: %s" % sys.getsizeof(b)
    print "size of c: %s" % sys.getsizeof(c)
    print "size of d: %s" % sys.getsizeof(d)
    print "size of e: %s" % sys.getsizeof(e)
```
output:
```
    5 10
    size of a: 64
    size of b: 80
    size of c: 72
    size of d: 80
    size of e: 64
```

object d derived from class D allocates dict if you remove ```__slots__ = []``` event if __slots__ are inherited from class A