В Python все это объект. Даже целые числа являются объектами – это отличается от языков программирования, таких как Java, где целые числа, плавающие и логические значения являются примитивными типами данных. Таким образом, Python построен на строго согласованной объектно-ориентированной парадигме.
Учитывая, что объекты повсюду в Python, ориентированное на объектно-ориентированное программирование не хорошо изучено на Python Coders. Огромная ошибка! К счастью, вы можете исправить это при примере примерно на объекты Python и классы.
Если вам удается прочитать все учебное пособие, вы получите вознаграждение с помощью PDF Cheet листа о классах и объектах. Итак, оставайся со мной! 🧙♂️.
Полный пример код
Вот простой пример объектной ориентации в Python. Мы создаем два класса Маггл
и Волшебник
и создать несколько экземпляров, таких как Вернон
и Петуния
( Mootgles ), а также Том
( Волшебник ). Идите вперед и увидите на примере, я объясню это вам в на мгновение:
class Muggle: def __init__(self, age, name, liking_person): self.age = age self.name = name self.likes = liking_person class Wizard: def __init__(self, age, name): self.age = age self.name = name self.mana = 100 def like_me(self, victim): if self.mana >= 100: victim.likes = self.name self.mana = self.mana - 100 Vernon = Muggle(52, "Vernon", None) Petunia = Muggle(49, "Petunia", Vernon) Vernon.likes = "Petunia" print(Vernon.likes) Wiz = Wizard(42, "Tom") Wiz.like_me(Petunia) Wiz.like_me(Vernon) print(Petunia.likes=="Tom" and Vernon.likes=="Tom")
Как вы проходите по этому учебству, вы можете посмотреть меня объяснить его в следующем видео.
[Video] Python Classes Объекты Пример из Гарри Поттера
Классы Пример объяснил
Вы можете спросить: Что такое класс в любом случае?
Классы – «чертежи» для создания объектов. Описание класса сообщает вам все, что объект состоит из и умеет делать (данные и функциональность).
Сегодня мы видим эти две концепции в действии (с обычными примерами Гарри Поттера):
class Muggle: def __init__(self, age, name, liking_person): self.age = age self.name = name self.likes = liking_person Vernon = Muggle(52, "Vernon", None) Petunia = Muggle(49, "Petunia", Vernon)
Из этого кода-фрагмента вы можете узнать несколько вещей:
- Мы создаем новый класс «План» для Магглы Используя ключевое слово
Класс
Отказ Это абстрактная концепция – и это показывает, как каждыйМаггл
В нашем микрокосме выглядит. - Мы используем метод «Конструктор»
__init __ (...)
инициализировать класс с данными. В нашем случае каждыйМаггл
есть атрибутывозраст
,Имя
иЛюбит
(человек им нравится). Первое значение любого класса Метод (включая конструктор) является ссылкой на сам объект. Помните, что класс описывает функциональность и свойства бетонных объектов. Как только вы позвоните конструктору в свой код, Python создает пустой объект, который вы можете получить доступ к имениЯ
Отказ
Обратите внимание, что, хотя первый аргумент – Я
При определении метода вы на самом деле не указываете этот аргумент при вызове метода. Python внутренне делает это для вас. Это просто кусок синтаксиса, который вы должны помнить.
Конструктор является специальным методом Маггл
Класс : Это позволяет вам инициировать новый объект, используя имя класса как вызов функции. Например, звонки Маггл (52, "Вернон", нет)
и Маггл (49, «Петуния», Вернон)
Создает два новых объекта класса оба определяют три переменных следующим образом:
Вы можете видеть, что эти объекты следуют тому же черту, но являются разными случаями класса Маггл
Отказ Тот же тип свойств, но разные ДНК.
Отныне эти объекты живут в памяти вашего компьютера, пока Python Buam не собирает их.
Можете ли вы увидеть трагический элемент истории до сих пор? Петуния любит Вернон, но он никому не любит Отказ Однако, как сказал знаменитый немецкий автор «Янош», «Если вы любите, вы не можете не помочь, но немного любви назад» Отказ Давайте сделаем это счастливым концом, будем ли мы?
Vernon.likes = "Petunia" print(Vernon.likes)
Головоломка 1: Какая вывод этого кода фрагмент?
Давайте двигаться дальше. Гарри Поттер будет скучно без волшебников. Итак, давайте определим Волшебник
Класс, чтобы мы могли создать некоторые волшебники в нашем маленьком мире.
class Wizard: def __init__(self, age, name): self.age = age self.name = name self.mana = 100 def like_me(self, victim): if self.mana >= 100: victim.likes = self.name self.mana = self.mana - 100 Wiz = Wizard(42, "Tom")
Каждый Волшебник
Объект имеет три переменных: возраст
, Имя
и Мана
Уровень (насколько магическая сила слева от волшебника). Кроме того, мы добавляем метод под названием Alke_me (...)
Это волшебная формула Мастера может применяться к любой жертве. Если волшебник имеет достаточно маны, он может заставить жертву любить их.
Том (aka. Господь Волдеморт) одиноко и хочет, чтобы любить, поэтому он пытается получить петунию и Вернон, чтобы понравиться ему:
Wiz.like_me(Petunia) Wiz.like_me(Vernon) print(Petunia.likes=="Tom" and Vernon.likes=="Tom")
Головоломка: Том успешен в том, что он как он, как он?
Убедитесь, что вы полностью усваивали синтаксис того, как создать Классы и объекты в Python Отказ Наиболее распространенный источник путаницы – забыть о Я
Аргумент при определении метода и что конструктор определяется и называется по-разному: __init __ (...)
против w Iszhard (...)
Отказ
Головоломки
Головоломка 1: "Петуния"
Головоломка 2: Ложь
Чит лист Ооп.
Чтобы помочь вам более глубоко в самых важных особенностях ориентации объекта Python, не стесняйтесь скачать следующие PDF:
Скачать все 8+ Python Cheat Steets
Скачать только этот чит-лист в виде PDF
Учебное пособие в Instagram Python OOP
Для ультракороткого урока ориентации на объект Python посмотрите следующий пост Instagram (правый промах):
Ein Beitrag Geteilt Von Блог Python (@ finxter.com_) am
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.