Отвечая Static class variables in PythonPythonWin в python интерактивные оболочки, вызывающие конструкторы дважды?
Я заметил, что интерпретатор PythonWin PyWin32 build 209.2, кажется, оценивает дважды?
PythonWin 2.5 (r25:51908, Mar 9 2007, 17:40:28) [MSC v.1310 32 bit (Intel)] on win32.
Portions Copyright 1994-2006 Mark Hammond - see 'Help/About PythonWin' for further copyright information.
>>> class X:
... l = []
... def __init__(self):
... self.__class__.l.append(1)
...
>>> X().l
[1, 1]
>>>
в то время как интерпретатор питона делает правильно
C:\>python
ActivePython 2.5.0.0 (ActiveState Software Inc.) based on
Python 2.5 (r25:51908, Mar 9 2007, 17:40:28) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> class X:
... l = []
... def __init__(self):
... self.__class__.l.append(1)
...
>>> X().l
[1]
>>>
@Gregory, это больше похоже на отчет об ошибке для PyWin, чем вопрос SO. – 2008-09-17 08:58:24