#python #oop #python-3.6 #instance-variables #class-variables
#python #ооп #python-3.6 #переменные экземпляра #переменные класса
Вопрос:
используя Python 3.6.9, когда я запускаю следующий код, переменная экземпляра x пугающе превращается из переменной экземпляра в переменную класса. Я вижу это с помощью отладчика VSCode (VSCode 1.51.1, расширение ms-python.python v2020.12.424452561). В чем причина?
class Image:
pass
class Archive:
def __init__(self, x):
self.x = x
a = Archive(33)
a.x = Image
pass
Комментарии:
1. Нет, это не так. Возможно, отображение отладчика вводит в заблуждение, или вы неправильно его читаете.
2. Назначение класса
Image
a.x
довольно странно. Непонятно, зачем вы это делаете.3. Я не знаю, почему это отображается в разделе «переменные класса», но это не переменная класса. Возможно, вы отредактировали свой код, не перезапуская Python или что-то в этом роде.
4. Переменная ‘x’ хранит объект класса Image, но по-прежнему является переменной экземпляра для архивирования класса
5. Хорошо, тогда ваша IDE неверна или использует свою собственную терминологию