Классы и объекты Python. Часть 9 Курс Python от начального до продвинутого в 11 сообщениях в блоге

Опубликовано: 2022-01-25

Эта статья поможет читателю понять основные классы Python, а также некоторые основные приложения в реальном мире. Мы будем использовать Visual Studio Code в качестве редактора кода. Если вы не установили Visual Studio Code, инструкции приведены в первом блоге.

Классы и объекты Python – оглавление:

  1. Классы Python
  2. Классы Python — определение
  3. Инициализация классов Python
  4. Давайте напишем наш первый класс Python
  5. Атрибуты
  6. Поведение класса
  7. Объекты в Python
  8. Наследование

Классы Python

Как мы уже говорили в первом блоге, Python — это объектно-ориентированный язык программирования. Есть три фразы, которые очень важны при обсуждении объектно-ориентированного программирования на Python. Первый — класс, второй — объект, третий — наследование. Начнем с того, что такое класс.

Классы Python — определение

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

Инициализация классов Python

Класс можно инициализировать, используя следующий синтаксис.

Класс в Python определяется с помощью ключевого слова «класс», следующего за именем класса. Основной синтаксис функции Python показан ниже.

Например:

<img src="https://firmbee.com/wp-content/uploads/Python_9-800x600.png" alt="Python_classes" width="800" height="600" class="alignnone size-medium wp-image-21409 img-fluid" />
# Create a function
# class Monkey
class classname:

Примечание: имя класса также имеет те же нормы, что и объявление переменной.

Давайте напишем наш первый класс Python

# first class
 
class Animals:
	pass
 

В приведенном выше блоке кода мы написали класс, который мы будем развивать дальше в блоге. Как видите, мы использовали ключевое слово «класс».

Давайте теперь посмотрим, как добавить компоненты в класс животного. Но перед этим давайте узнаем о конструкторе «__init__()». Конструкторы используются для создания объектов. Здесь __init__() используется для создания объекта. Конструктор может быть задан по умолчанию только с self в качестве аргумента или параметризован с обязательными аргументами.

Атрибуты

Существует два разных типа атрибутов: первые — это переменные класса, а вторые — переменные экземпляра. Переменные класса — это переменные, принадлежащие классу. Также эти переменные доступны для всех экземпляров класса. Следовательно, их значение не изменится, даже если изменится экземпляр.

# class variables
 
class Animals:
	type=”mammals”

Переменные экземпляра — это переменные, принадлежащие самим экземплярам. Следовательно, они будут изменять свое значение по мере изменения экземпляра.

# class variables
 
class Animals:
	def __init__(self,legs):
		self.legs=legs
		

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

Давайте создадим программу, в которой объявлены переменные класса и экземпляра.

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
 
	

В приведенной выше программе мы использовали как переменные экземпляра, так и переменные класса. Итак, эти переменные образуют атрибуты класса.

Поведение класса

Как уже говорилось, поведение класса определяется методами внутри класса. Но прежде чем перейти к обсуждению поведения, мы должны начать обсуждение параметра «я», который мы использовали в __init__().

Себя:

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

Методы:

Методы класса — это функции внутри класса, у которых первым аргументом будет «я». Метод внутри класса определяется с помощью ключевого слова «def».

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
	def bark(self):
		if self.name==”dog”:
			print(“woof woof!!!”)
		else:
			print(“not a dog”)
 

В приведенном выше методе «bark», поскольку мы используем переменную имени, которая является переменной экземпляра, мы обращаемся к ней, используя «я», и эта функция напечатает «гав-гав!!!», только если имя предоставлено объект, собака.

Мы обсудили большинство компонентов класса, но вы можете подумать, как проверить, работает ли класс. Ответ на этот вопрос таков: пока мы не создадим объект класса, мы не сможем увидеть, что делает класс. Теперь давайте определим и создадим объект класса.

Объекты в Python

Объект является экземпляром класса. Класс — это просто план, но объект — это экземпляр класса, который имеет фактические значения.

Код для определения или создания объекта показан ниже.

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
	def bark(self):
		if self.name==”dog”:
			print(“woof woof!!!”)
		else:
			print(“not a dog”)
 
dog=Animals(“dog”,4)
 

Для создания объекта используется следующий синтаксис: имя_объекта=имя_класса(аргументы). Следовательно, здесь мы даем животному имя «собака» и количество ног равное 4. Теперь, когда объект класса создан, следующим шагом является использование объекта для доступа к его атрибутам. Чтобы получить доступ к атрибутам класса с помощью объекта, помните, что с помощью объекта можно получить доступ только к переменным экземпляра. Переменные экземпляра в нашем классе — это имя и ноги.

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
	def bark(self):
		if self.name==”dog”:
			print(“woof woof!!!”)
		else:
			print(“not a dog”)
 
dog=Animals(“dog”,4)
print(dog.name)
print(dog.legs)
 

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

Давайте исследуем вывод.

#Output
 
dog
4
 

Для доступа к функциям внутри класса или методов мы будем использовать запись через точку. Пример показан ниже.

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
	def bark(self):
		if self.name==”dog”:
			print(“woof woof!!!”)
		else:
			print(“not a dog”)
 
dog=Animals(“dog”,4)
print(dog.name)
print(dog.legs)
print(dog.bark())
#Output
 
dog
4
woof woof!!!

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

Наследование

Наследование — это процесс, посредством которого атрибуты и методы класса могут быть переданы дочернему классу. Класс, от которого наследуется дочерний класс, является родительским классом. Синтаксис наследования показан ниже.

#Inheritance
 
class parent:
 
class child(parent):
 

На приведенном выше рисунке видно, что для синтаксиса наследования мы помещаем имя родительского класса в качестве аргумента дочернего класса. Давайте воспользуемся классом Animals и создадим дочерний класс с именем dog. Это показано ниже.

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
	def bark(self):
		if self.name==”dog”:
			print(“woof woof!!!”)
		else:
			print(“not a dog”)
 
class Dog(Animals):
def __init__(self,name,legs,breed):
Animals.__init__(self,name,legs)
self.breed=breed

В приведенном выше примере кода мы создали класс собаки, который расширяет класс животных, который мы создали ранее. Мы также используем параметры из Animals с помощью Animals.__init__(arguments), у которого есть имя и ноги, которые будут унаследованы классом собаки. Затем мы создаем атрибут экземпляра для класса собак, которым является порода.

Теперь давайте создадим объект для класса собаки и получим доступ к атрибутам и методам класса животных.

class Animals:
	type=”mammals”
	def __init__(self,name,legs):
		self.name=name
		self.legs=legs
	def bark(self):
		if self.name==”dog”:
			print(“woof woof!!!”)
		else:
			print(“not a dog”)
 
class Dog(Animals):
def __init__(self,name,legs,breed):
Animals.__init__(self,name,legs)
self.breed=breed
 
 
pug=Dog("dog",4,"pug")
pug.breed
pug.name
pug.legs
pug.bark()
#Output
 
pug
dog
4
woof woof!!!

Как видно из вывода, к атрибутам и методам родительского класса обращается объект дочернего класса.

В этом блоге мы рассмотрели некоторые основы классов в Python. В следующем сообщении блога мы рассмотрим тему обработки файлов.

python_classes

Вам также может понравиться наш курс JavaScript от начального до продвинутого.

Python classes and objects. Part 9 Python Course from Beginner to Advanced in 11 blog posts robert whitney avatar 1background

Автор: Роберт Уитни

Эксперт и инструктор по JavaScript, который тренирует ИТ-отделы. Его главная цель — повысить продуктивность команды, научив других эффективно сотрудничать при написании кода.

Курс Python от начального до продвинутого в 11 сообщениях блога:

  1. Введение в курс Python. Часть 1 Курс Python от начального до продвинутого в 11 сообщениях в блоге
  2. Переменные и типы данных в Python. Часть 2 Курс Python от начального до продвинутого в 11 сообщениях в блоге
  3. Кортежи, списки, наборы и словари Python. Часть 3 Курс Python от начального до продвинутого в 11 сообщениях в блоге
  4. Наборы и словари Python. Часть 4 Курс Python от начального до продвинутого в 11 сообщениях в блоге
  5. Условные операторы в Python. Часть 5 Курс Python от начального до продвинутого в 11 сообщениях в блоге
  6. Циклы в Python. Часть 6 Курс Python от начального до продвинутого в 11 сообщениях в блоге
  7. Функции Python. Часть 7 Курс Python от начального до продвинутого в 11 сообщениях в блоге
  8. Расширенные функции в Python. Часть 8 Курс Python от начального до продвинутого в 11 сообщениях в блоге
  9. Классы и объекты Python. Часть 9 Курс Python от начального до продвинутого в 11 сообщениях в блоге
  10. Файлы в Питоне. Часть 10 Курс Python от начального до продвинутого в 11 сообщениях в блоге
  11. Приложения Python на практике. Часть 11 Курс Python от начального до продвинутого в 11 сообщениях в блоге