0

Например, в С++ понятие класса сущетсвует только до компиляции, потом компилятор склеивает все и оптимизирует. В Java класс - это что-то более конкретное, что существует даже после компиляции. Как устроены классы в Python ?

faoxis
  • 7,738
  • 1
    Непонятна суть вопроса. Принципы ооп не зависят от языка. – Мистер Фикс Nov 08 '16 at 15:32
  • 1
    Питон (язык) не определяет как в памяти объекты представлены (классы являются объектами в Питоне как и многое другое). Вам интересует побитовое представление класса в какой-нибудь версии CPython (зачем?). К примеру, можете посмотреть, используя ctypes, на любой объект как массив байтов (c_ubyte * sizeof(obj)), пример для int – jfs Nov 08 '16 at 23:27
  • @МистерФикс как принципы ООП связаны с представлением класса в памяти ? – faoxis Nov 09 '16 at 08:30
  • @jfs зачем ? Интерсно же с чем работаешь... Примерно ваш ответ я и ожидал увидеть. – faoxis Nov 09 '16 at 08:31

1 Answers1

0

В python класс является полноценным объектом в процессе выполнения программы. Можно изменить классовую переменную, например. Тогда все экземпляры, созданные на основе данного класса (если они пользуются именно классовой переменной), будут использовать новое значение.

Определение класса является исполняемой инструкцией:

Class definitions, like function definitions (def statements) must be executed before they have any effect. (You could conceivably place a class definition in a branch of an if statement, or inside a function.)

После выполнения такой инструкции создается объект класса:

When a class definition is left normally (via the end), a class object is created.

Подробнее можно почитать, например python2 documentation.

Nikmoon
  • 373