Понимание класса и объекта Python

Если у меня есть этот код:

class Fish(object): pass class Salmon(Fish): pass 

Является ли Salmon объектом из класса Fish ? Какой экземпляр? Что называется x = Salmon() ?

Позвольте мне начать просто: на Python все является object .

Но я предполагаю, что вы запутываете «объект из класса» (думаю, вы имели в виду «экземпляр класса»?) С «наследованием» :

 class Fish(object): pass 

Создает класс, который наследуется от object . Точно так же:

 class Salmon(Fish): pass 

создает класс Salmon который наследует от Fish .

Оба они не являются «экземплярами» в нормальном смысле. Они на самом деле являются «экземплярами»: они оба являются экземплярами type (который, в свою очередь, подклассы object) базового метакласса для всех классов, но это, вероятно, слишком много, чтобы войти в него. Ознакомьтесь с метаклассами на Python, если вы хотите узнать больше.

Фактически создается instance x = Salmon() : Это создает экземпляр Salmon .