В чем разница между атрибутами класса и экземпляра?

Есть ли какое-либо значимое различие между:

class A(object):
    foo = 5   # some default value

против

class B(object):
    def __init__(self, foo=5):
        self.foo = foo

Если вы создаете много экземпляров, есть ли разница в требованиях к производительности или пространству для этих двух стилей? Когда вы читаете код, считаете ли вы, что значение этих двух стилей существенно отличается?

Ответы на вопрос(6)

Ваш ответ на вопрос