Два примера;Атрибуты класса/переменные в Python
class Foo1:
something = 0
def __init__(self, n):
self.something = n
и
class Foo2:
def __init__(self, n):
self.something = n
Оба класса, кажется, имеют такое же поведение:
x = Foo1(42)
y = Foo2(36)
print x.something
# will print 42
print y.something
# will print 36
Но в классе Foo1
переменная self.something
(в конструкторе) фактически переменная something
, как определенный в начале класса? В чем тут разница? Какой путь предпочтительнее использовать?
возможно дубликат [Python: Разница между классом и экземпляром атрибутов] (http://stackoverflow.com/questions/207000/python- различия между классами и экземплярами) – sebastian
Также проверьте ответы на http://stackoverflow.com/questions/2923579/python-class-attribute и http://stackoverflow.com/questions/68645/static -класс-переменные-в-питон. Каждый экземпляр Foo1 может получить доступ (и поделиться) 'something' с' x .__ class __. Something' – fredtantini
Еще один: http://stackoverflow.com/q/206734/2319400 – sebastian