Рубрики
Без рубрики

Обзор объектно-ориентированного программирования с использованием Python

Объектно-ориентированное программирование разбивает задачи на объекты, которые используются некоторые определенные методы и данные. Прочитайте и узнайте все основы объектно-ориентированного программирования.

Автор оригинала: sajjan Kumar.

Основное введение

Мы пишем код вокруг функций с определенным входом, водорослями, чтобы манипулировать им, в надежде чего-то вернуть. Будь то алгоритм поиска, функция для проверки чего-либо или скриптов, которые манипулируют некоторыми внешними ресурсами на основе данного ввода, мы выполняем это некоторое время. Мы называем этот стиль написания кода «процедурный способ программирования». Это хорошая практика, но это не идеально для больших проектов. Для более крупных проектов мы используем другой стиль программирования под названием «Объектно-ориентированный путь программирования».

объектно-ориентированное программирование

В этом методе мы нарушаем задачу на объекты, которые используются некоторые определенные методы и данные. Это модель, организованная вокруг «класса/объекта», а не функции. Объекты смоделированы после реальных объектов.

Таким образом, объектно-ориентированное программирование – это парадигма программирования, которая организована вокруг объектов (с участием как данных, так и методов), и она направлена на использование преимуществ повторного использования кода.

Что такое класс?

Класс – это логическая группировка данных и функций (называемых «методами», когда определено в классе). Классы создаются после объектов реального слова: концепции, такие как клиент, продукт или Urllib. Таким образом, вместо того, чтобы просто положить случайные вещи вместе под название «класс», мы пытаемся создавать классы, где между вещами есть логические соединения.

Классы могут рассматриваться как чертежи создания объектов. Когда мы делаем план здания, мы на самом деле не делаем здание; Мы определяем его различные свойства, такие как количество комнат, базовый макет и функциональность. Когда наш план готов, мы можем сделать любое количество зданий, основанных на этом план, добавляют дополнительные функции, а также изменение определенных функций.

Определение образца класса в Python

 class Class_name(object):
    """ docstring for class_name """
    pass

Теперь давайте посмотрим на пример. Предположим, мы должны написать какой-то код, который хранит базовую информацию о студенте определенной школы.

 class Student(object):
    """ A base class of student for school xyz """ 

	total_student =0

	def __init__(self,name,standard,average_grade):
    	self.name = name
    	self.standard= standard
    	self.average_grade= average_grade
    	Student.total_student += 1
    
	def display_number_of_student(self):
    	print "Total Number of Student: %d" %Student.total_student
    
	def display_info(self):
    	print "Name:", self.name, ", Standard: ", self.standard, 
		", Average Grade:", self.average_grade

Создание объекта из класса

Чтобы создать объект [экземпляр] из класса, мы будем позвонить в класс так же, как мы бы функционируем – с аргументами (минус я), предоставленным __init__ функция.

 smith= Student("Jon Smith",8,'B')
 kumar= Student("Rahul Kumar",9,'C')

О, все было слишком поспешно? Не волнуйся. Мы пройдем через все шаг за шагом.

__в этом__

Это будет первый метод в классе, и он называется «инициализация» или «конструктор». Первый аргумент для __init__ будет Я (Мы поговорим об этом следующем). Наряду с собой, требуется дополнительный аргумент, который мы собираемся использовать и манипулировать в классе. Эти аргументы называются атрибутами.

Хорошая практика – определить все атрибуты внутри __init__ Отказ

себя

Так что же самое? Вместе с __init__ каждый метод в студенческом классе занимает Я как их аргумент.

Чтобы создать наш первый экземпляр (объект) Смит Мы назвали классом вместе с некоторыми аргументами, которые переходят к функции _ init _. Когда мы говорим Смит это экземпляр, Я относится к Смит Отказ Поэтому, когда мы создаем экземпляр, вместо использования Смит = студент («Смит», «Джон Смит», 8, «B») мы будем использовать Смит = студент («Джон Смит», 8, «B») Отказ Python автоматически прерывает Я как Смит Отказ Нам не нужно объяснять это слишком много.

Теперь, почему я присутствует в других методах?

Когда мы получаем доступ к любому методу класса «студент», используя Смит, каждый метод прерывает Я как Смит и обрабатывать информацию относительно этого экземпляра. Методы называются использованием instance_name.method_name (argus) Итак, здесь мы не определили Я Отказ Здесь instance_name . принимается как Я Отказ Еще один способ определить это будет instance_name.method_name (instance_name, argus) Отказ

Например: Когда мы называем smith.display_info () Вывод будет:

Имя: Джон Смит, стандарт: 8, средний класс: B,

Но когда мы называем kumar.display_info () Вывод будет:

Название: Rahul Kumar, стандарт: 9, средний класс: C

Когда мы создаем экземпляр, __init__ называется и полностью инициализированный объект готов. Теперь, с помощью этого объекта мы можем получить доступ ко всем методам, определенным внутри класса.

Много новых слов!

На протяжении всего поста вы можете столкнуться с несколькими новыми словами, которые не имеют смысла, если вы новичок в объектно-ориентированном программировании. Сейчас самое прекрасное время, чтобы определить их. Давайте начнем:

1. Класс:

Логическая группировка данных и функций, плана и строительный блок Python.

Пример класса: В нашем примере Студент это класс, который представляет собой план студентов определенной школы.

2. Экземпляр:

Когда мы призываем к классу, мы создаем экземпляр этого класса. Мы можем создать столько экземпляров, сколько мы хотим для определенного класса.

Пример: Смит и Кумар два инстанса студента класса.

3. Методы/методы экземпляра:

Функции, определенные внутри класса, называются методами. Иногда тезисы также называют «методами экземпляра», так как эти методы принимают Я как их первый аргумент (требуется, чтобы экземпляр действовать).

Пример: Функция display_number_of_student () и display_info () называются методами.

4. Атрибуты:

Различные переменные, определенные внутри __init__ Функция называется атрибутами.

Пример: Имя, стандартные и средние_Grade являются атрибутами ученика класса.

5. Переменная экземпляра:

Переменные, которые определены внутри метода экземпляра и принадлежат только к тому, что метод определенного экземпляра называются «переменной экземпляра».

6. Переменная класса:

Переменная класса – это переменная, которая передается всем экземпляром класса. Переменная класса может быть доступна изнутри или снаружи класса. Переменные классов определены в классе, но вне любого из методов класса.

Пример: Переменная Total_student В классе студент – классная переменная.

Доступ к переменной классы

Мы знаем, что переменная класса доступна изнутри или снаружи класса.

 Student.total_student

Выход:

 2

Очередной раз,

 print smith.total_student
 print kumar.total_student

Выход:

 2
 2

Если мы попытаемся получить доступ к атрибуту, который не определен, Python поднимет “AttributeError” Отказ

Положить все это вместе

Мы хотим создать студенческий журнал для определенной школы. Для этого нам сначала приходится подготовить план (то есть создал класс под названием ученика). До сих пор мы не создали журналы для любого ученика. Мы только что изложили информацию и функцию.

Теперь мы можем создать наш первый экземпляр, предоставив правильный аргумент студенческого класса [(«Джон Смит», 8, «B»)]. Здесь. Мы говорим Python использовать Student Bluetprint, чтобы сделать журнал студента, который мы будем ссылаться на Смит Отказ

Опять же, когда мы называем Кумар = студент («Рахул Куамр», 9, «C») Мы говорим Python использовать Student Bluetprint для создания журнала студентов, который мы будем ссылаться на KUMAR.

Смит и Кумар оба известны как случаи ученика класса. Мы можем создать столько случаев, как мы хотим. Эти экземпляры имеют доступ к методам экземпляра и переменные класса.

Последнее примечание:

До сих пор мы говорили о основах класса, почему они полезны и как их использовать (надеюсь). Объектно-ориентированное программирование – это большая тема. Этот пост не был разработан в качестве одной остановки для занятий. Узнайте больше о классах и Python здесь, чтобы получить более глубокое понимание.

Если у вас есть какие-либо вопросы, не стесняйтесь посещать мой Сайт И дайте мне знать!