Понимание класса и объекта Python
Если у меня есть этот код:
class Fish(object): pass class Salmon(Fish): pass
Является ли Salmon
объектом из класса Fish
? Какой экземпляр? Что называется x = Salmon()
?
- Python Как переопределить член класса в дочернем элементе и получить к нему доступ от родителя?
- Возвращаемое значение класса класса Python
- Есть ли эквивалент Python для Ruby's reply_to?
- Статические атрибуты (Python vs Java)
- Соглашения об именах для методов и атрибутов класса
Позвольте мне начать просто: на Python все является object
.
Но я предполагаю, что вы запутываете «объект из класса» (думаю, вы имели в виду «экземпляр класса»?) С «наследованием» :
class Fish(object): pass
Создает класс, который наследуется от object
. Точно так же:
class Salmon(Fish): pass
создает класс Salmon
который наследует от Fish
.
Оба они не являются «экземплярами» в нормальном смысле. Они на самом деле являются «экземплярами»: они оба являются экземплярами type
(который, в свою очередь, подклассы object) базового метакласса для всех классов, но это, вероятно, слишком много, чтобы войти в него. Ознакомьтесь с метаклассами на Python, если вы хотите узнать больше.
Фактически создается instance
x = Salmon()
: Это создает экземпляр Salmon
.
- Понимание поведения памяти Dask
- Я получаю «Объект NoneType не является итерируемым». Я понятия не имею, почему. Я проверил свою программу тысячу раз. Кто-нибудь знает, как это исправить?
- Функции Python – это объекты,
- Почему функция @ var.setter не может использовать переменные класса доступа?
- Каков пример использования для метода класса Python?
- Вызов функции внутри моего класса не работает
- правильный способ определения переменных класса в Python
- Победитель автогонки Python
- Исключения для всего класса
- Странное поведение при наследовании из списка в python
- Python: объект как аргумент другого объекта