LINUX.ORG.RU

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

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

Ну, например, для меня было открытием, что при декларировании класса:

class TelegramBot:

  var1 = None

  def test(self, val):
    self.var1 = val
...


..и создании его инстансов и работе с ними:

tg1 = TelegramBot()
tg2 = TelegramBot()
tg1.test(222)
tg2.test(111)


свойство tg1.var1 иногда (!) ВНЕЗАПНО принимало значение 1 (и наоборот).
При попытке воспроизвести специально — всё работало как нужно.

Помогло в
__init__()
инициализировать эти переменные ещё раз.


Это баг, фича, или я наркоман, например?

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

Ну, например, для меня было открытием, что при декларировании класса:

class TelegramBot:

  var1 = None

  def test(self, val):
    self.var1 = val
...


..и создании его инстансов и работе с ними:

tg1 = TelegramBot()
tg2 = TelegramBot()
tg1.test(222)
tg2.test(111)


свойство tg1.var1 иногда (!) ВНЕЗАПНО принимало значение 222 и наоборот.
При попытке воспроизвести специально — всё работало как нужно.

Помогло в
__init__()
инициализировать эти переменные ещё раз.


Это баг, фича, или я наркоман, например?

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

Ну, например, для меня было открытием, что при декларировании класса:

class TelegramBot:

  var1 = None

  def test(self, val):
    self.var1 = val
...


..и создании его инстансов и работе с ними:

tg1 = TelegramBot()
tg2 = TelegramBot()
tg1.test(222)
tg2.test(111)


свойства tg1.var1 и tg2.var2 иногда (!) могут принимать совершенно неожиданные значения.
При попытке воспроизвести специально — всё работало как нужно.

Помогло в
__init__()
инициализировать эти переменные ещё раз.


Это баг, фича, или я наркоман, например?

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

Ну, например, для меня было открытием, что при декларировании класса:

class TelegramBot:

  var1 = None

  def test(self, val):
    self.var1 = val
...


..и создании его инстансов и работе с ними:

tg1 = TelegramBot()
tg2 = TelegramBot()
tg1.test(222)
tg2.test(111)


свойства tg1.var1 и tg2.var2 иногда (!) могут принимать совершенно неожиданные значения.
При попытке воспроизвести специально — всё работало как нужно.

Помогло в
__init__
инициализировать эти переменные ещё раз.


Это баг, фича, или я наркоман, например?