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

Давайте получим класс: как создавать модули и классы с Python

Автор оригинала: FreeCodeCapm Team.

Hari Santanam.

На объектно-ориентированных языках компьютерных языков, таких как Python, классы в основном являются шаблоном для создания собственных объектов. Объекты являются инкапсуляцией переменных и функций в единое целое. Объекты получают свои переменные и функции из классов.

Чего-чего?

Вот несколько примеров, которые помогут вам понять – читать дальше. Существует также интерактивная команда кода, просто нажмите кнопку «Запустить» в верхней части определенного окна.

Самый простой способ описать классы и как их использовать это:

Представьте, что у вас есть большие полномочия. Вы создаете вид («класс»).

Тогда вы создаете атрибуты для этого вида («свойства») – высота, вес, конечности, цвет, мощности и так далее.

Затем вы создаете экземпляр этого вида – Fido собака, Дрогон из игры престолов, и так далее. Тогда вы работаете с этими случаями:

  • Например, в игре они будут участвовать в действии, взаимодействовать, используя их атрибуты.
  • В банковском приложении они будут различными транзакциями.
  • В приложении Buy/Sell/Sell/Trade/Arrease класс автомобиля может затем создавать подкласски, такие как автомобили. У каждого будут такие атрибуты, как пробег, варианты, функции, цвет и отделка.

Вы уже можете увидеть, почему это полезно. Вы создаете, повторно используете, адаптацию и усиливающие элементы в очень эффективном, логичном и полезном способе.

К настоящему времени вы, вероятно, поняли, что это способ классифицировать и группу, то, что похоже на то, как люди учится:

  • Животные – это живые вещи, которые не являются людьми или деревьями, в основном смысле
  • Затем вы переходите на разные типы животных – собаки, кошки, вероятно, первые животные большинство из нас узнали о
  • Затем вы переходите на разные атрибуты животных – формы, размеры, звуки, придатки и так далее.

Например, когда вы были ребенком, ваше первое понимание собаки, вероятно, было что-то с четырьмя ногами, которые лаяли. Затем вы научились различать, что некоторые были настоящие собаки, другие были игрушками. Что эта «собака» концепция содержала много типов.

Создание и использование классов в основном:

  • Строительство шаблона, чтобы положить «вещи» в – классификация
  • который затем может работать на. Например, подтягивая всех людей с собаками, которые вы можете запросить ссылку на блог на домашних животных, или все клиенты банка, которые могут быть хорошими перспективами для новой кредитной карты.

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

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

Примером может быть видеоигра, которую вы создаете. Каждый персонаж может быть «классом», со своими собственными атрибутами, которые взаимодействуют с экземплярами других классов. Класс King George из класса «King» может взаимодействовать с судом Jester Funnyman в классе «Клоун», и так далее. У короля может быть королевский «служащий» класс, а класс «слуги» всегда будет иметь класс «King».

Это то, что мы сделаем:

  • Создайте класс и используйте его
  • Создайте модуль и переместите создание класса и инициирование в модуль
  • Позвоните в модуль в новой программе, чтобы использовать класс

Код доступен в Github здесь Отказ

#TSB - Create Class in Python - rocket positions (x,y) and graph
#some items and comments bolded to call attention to processimport matplotlib.pyplot as plt
class Rocket():  def __init__(self, x=0, y=0):    #each rocket has (x,y) position; user or calling function has choice    #of passing in x and y values, or by default they are set at 0    self.x = x    self.y = y      def move_up(self):    self.y += 1      def move_down(self):    self.y -= 1      def move_right(self):    self.x += 1      def move_left(self):    self.x -= 1
#Make a series of rockets - x,y positions, I am calling it rocketrockets=[]rockets.append(Rocket())rockets.append(Rocket(0,2))rockets.append(Rocket(1,4))rockets.append(Rocket(2,6))rockets.append(Rocket(3,7))rockets.append(Rocket(5,9))rockets.append(Rocket(8, 15))  #Show on a graph where each rocket is
for index, rocket in enumerate(rockets):  #original position of rockets  print("Rocket %d is at (%d, %d)." % (index, rocket.x, rocket.y))  plt.plot(rocket.x, rocket.y, 'ro', linewidth=2, linestyle='dashed', markersize=12)  #move the 'rocket' one up  rocket.move_up()  print("New Rocket position %d is at (%d, %d)." % (index, rocket.x, rocket.y))  #plot the new position  plt.plot(rocket.x, rocket.y, 'bo', linewidth=2, linestyle='dashed', markersize=12)  #move the rocket left, then plot the new position  rocket.move_left()  plt.plot(rocket.x, rocket.y, 'yo', linewidth=2, linestyle='dashed', markersize=12)
#show graph legend to match colors with positionplt.gca().legend(('original position','^ - Moved up', '< - Moved left'))plt.show()#plt.legend(loc='upper left')

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

Что такое модуль и почему нам это нужно?

Модуль – это файл, содержащий определения и операторы Python. Модуль – код Python, который можно вызвать из других программ для обычно используемых задач, без необходимости вводить их в каждую программу, которая использует их.

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

От Python Документация :

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

Обратите внимание, что мы сделали выше:

  • создан и инициализировал класс
  • создал функцию для перемещения экземпляра класса в четырех основных направлениях (вверх, вниз, вправо, слева) и приращениях – в качестве параметров или аргументов к функции
  • создал другую функцию для расчета расстояния между двумя экземплярами класса, используя формулу расстояния диаграммы

Вот как мы будем использовать новый модуль для перезаписания той же программы из первой части. Уведомление в разделе «Импорт в начале» мы сейчас импортируем Simple_module1 Модуль, который мы только что создали:

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

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

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

Все еще интересно о классах? Хорошо, давайте получим «класс» – вот еще одна простая иллюстрация. Мы назовем этот класс «человек». У него есть только два свойства – имя и возраст. Затем мы добавим экземпляр этого с именем и возрастом человека и распечатайте его. В зависимости от того, какова ваша цель, вы можете представить, что все остальные детали вы можете добавить – например, семейное положение и настройки местоположения для приложения для социального сетевого сетевого использования, опыт работы в годы и отраслевой специализации для приложения, связанного с карьерой. Нажмите на маленький треугольник ниже, чтобы увидеть его работу.

Так что у вас есть. Вы можете создать много разных классов, с родительскими классами, подкладками и так далее. Спасибо за чтение – пожалуйста, хлопайте, если вам это понравилось. Вот некоторые другие ссылки, если вы хотите узнать больше: