LINUX.ORG.RU

История изменений

Исправление tailgunner, (текущая версия) :

class Foo(object):
  f1 = {"att1": "bzz"}
  def __init__(self, a):
    self.f1 = a

>>> o = Foo(100)
>>> o.f1
100
>>> Foo.f1
{'att1': 'bzz'}

Правда, следить за согласованностью имен полей класса Foo и полей объекта класса Foo придется самому. Хотя, наверное, можно навесить декоратор на класс, а в нем проставить __slots__... но для однофайловой программы это оверкилл.

Исправление tailgunner, :

class Foo(object):
  f1 = {"att1": "bzz"}
  def __init__(self, a):
    self.f1 = a

>>> o = Foo(100)
>>> o.f1
100
>>> Foo.f1
{'att1': 'bzz'}

Правда, следить за согласованностью имен полей класса Foo и полей объекта класса Foo придется самому.

Исходная версия tailgunner, :

class Foo(object):
  f1 = {"att1": "bzz"}
  def __init__(self, a):
    self.f1 = a

Правда, следить за согласованностью имен полей класса Foo и полей объекта класса Foo придется самому.