Введение в Python - [11]

Шрифт
Интервал

* Переменная класса (Class variable): Переменная, доступная для всех экземпляров данного класса. Определяется внутри класса, но вне любых методов класса.

* Экземпляр класса (Instance): Отдельный объект-представитель определенного класса.

* Переменная экземпляра класса (Instance variable): Переменная определенная внутри медота класса, принадлежащая только к этому классу.

* Метод (Method): Особая функция, определенная внутри класса.

* Наследование (Inheritance): Передача аттрибутов и методов родительского класса дочерним классам.

* Перегрузка функций (Function overloading): Изменение работы метода, унаследованного дочерним классом от родительского класса.

* Перегрузка операторов (Operator overloading): Определение работы операторов с экземплярами данного класса.

Создание класса в Python:


Определение класса начинается с ключевого слова class, после него следует имя класса и двоеточие. Теперь с отступом можно описывать сам класс.


class Elevator: """ Simple elevator class """# Переменная класса. Сколько людей было перевезено ВСЕМИ лифтами people_lifted = 0

>

# Конструктор класса. Вызывается при создании экземпляра класса def __init__(self,name): self.name = name # переменная класса. Количество людей перевезенных КОНКРЕТНЫМ лифтом self.people_lifted = 0

>

# Метод перевозки людей def lift(self): print ("Lifted someone") # Увеличиваем количество людей перевезенных ЭТИМ лифтом self.people_lifted += 1 # Увеличиваем количество людей перевезенных ВСЕМИ лифтами Elevator.people_lifted +=1

>

# Метод печатающий информацию о конкретном лифте def info(self):

> print (self.name, "lifted", self.people_lifted, "people out of", Elevator.people_lifted)


Создание экземпляров класса:

Чтобы создать экземпляр класса следует любой переменной присвоить значение имени класса, указав в скобках аргументы, которые принимает метод __init__().

>| elevator_1 = Elevator("OTIS")

>| elevator_2 = Elevator("PHILLIPS")


Получение доступа к атрибутам и методам класса:

Чтобы получить доступ к атрибутам класса в Python следует после объекта поставить точку и написать имя переменной или метода, которые вы хотите использовать:


>| # Везем человека в лифте под именем OTIS

>| elevator_1.lift()

>| # Везем двоих человек в лифте под именем PHILLIPS

>| elevator_2.lift()elevator_2.lift()

>| # Получаем информацию по лифту под именем OTIS

>| elevator_1.info()

>| # Получаем информацию по лифту под именем PHILLIPS

>| elevator_2.info()


Соединив все это в одном файле, получим следующее:



Углубленные темы объектно-ориентированного программирования, которые мы еще рассмотрим:

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

Перегрузка методов в Python.

Перегрузка операторов в Python.

Сокрытие данных класса в Python.

Принципы ООП.

Модули в Python


Published: 20 March 2015


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

Команда import в Python:

Вы можете использовать любой питоновский файл как модуль в другом файле, выполнив в нем команду import. Команда import в Python обладает следующим синтаксисом:


>| import module_1[, module_2[,... module_N]


Когда интерпретатор Python встречает команду import, он импортирует (дает доступ) этот модуль, если он присутствует в пути поиска Python. Путь поиска Python это список директорий, в которых интерпретатор производит поиск перед попыткой загрузить модуль. Например, чтобы использовать модуль math следует написать:


>| import math

>| # Используем функцию sqrt из модуля math

>| print (math.sqrt(9))

>| # Печатаем значение переменной pi, определенной в math

>| print (math.pi)


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

Команда from ... import в Python

Команда from ... import позволяет вам импортировать не весь модуль целиком, а только определенное его содержимое. Например:


>| # Импортируем из модуля math функцию sqrt

>| from math import sqrt

>| # Выводим результат выполнения функции sqrt.

>| # Обратите внимание, что нам больше незачем указывать имя модуля

>| print (sqrt(144))

>|

>| # Но мы уже не можем получить из модуля то, что не импортировали

>| print (pi) # Выдаст ошибку


Выражение from ... import не импортирует весь модуль, а только предоставляет доступ к конкретным объектам, которые мы указали.

Команда from ... import * в Python:

В Python так же возможно импортировать всё (переменные, функции, классы) за раз из модуля, для этого используется конструкция from ... import *. Например:


>| from math import *

>| # Теперь у нас есть доступ ко всем функция и переменным, определенным в модуле math

>|

>| print (sqrt(121))

>| print (pi)


Рекомендуем почитать
Изучаем Java EE 7

Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)


Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


Фундаментальные алгоритмы и структуры данных в Delphi

Книга "Фундаментальные алгоритмы и структуры данных в Delphi" представляет собой уникальное учебное и справочное пособие по наиболее распространенным алгоритмам манипулирования данными, которые зарекомендовали себя как надежные и проверенные многими поколениями программистов. По данным журнала "Delphi Informant" за 2002 год, эта книга была признана сообществом разработчиков прикладных приложений на Delphi как «самая лучшая книга по практическому применению всех версий Delphi».В книге подробно рассматриваются базовые понятия алгоритмов и основополагающие структуры данных, алгоритмы сортировки, поиска, хеширования, синтаксического разбора, сжатия данных, а также многие другие темы, тесно связанные с прикладным программированием.


Питон — модули, пакеты, классы, экземпляры

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


Как пасти котов. Наставление для программистов, руководящих другими программистами

«Как пасти котов» – это книга о лидерстве и руководстве, о том, как первое совмещать со вторым. Это, если хотите, словарь трудных случаев управления IT-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды разработчиков. Даже если вы еще месяц назад были блестящим и дисциплинированным программистом и вдруг оказались в роли менеджера, вряд ли вы знаете, с чего надо начать, какой выбрать стиль руководства, как нанимать и увольнять сотрудников, проводить совещания, добиваться своевременного выполнения задач.