LINUX.ORG.RU

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

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

Мнэ… так в питоне это и есть общепринятая идеология. Более того, Circle не метакласс, это обычный класс.

Еще раз, в С++

class A{...};
  1. может делать экземплятры класса (инстансы)
  2. может быть параметром шаблона но не может хранится в переменной/передаваться в функции как параметр. Т.е. это не объект первого класса, он ограничен в своих правах. Нельзя написать вот так вот
T C = A;
...
void f(T C){...}
f(A);

В питоне

class A: pass
  1. может делать экземпляры класса (инстансы)
  2. может хранится в переменной/передаваться в функции как параметр. Т.е. это объект первого класса, он имеет точно такие же права как int например. Можно написать вот так вот
a = A() # сделали экземпляр класса А
b = A() # сделали еще один экземпляр класса А
C = A   # положили в C объект класса А
f(A)    # передали в f объект класса А как параметр

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

Мнэ… так в питоне это и есть общепринятая идеология. Более того, Circle не метакласс, это обычный класс.