Красота Дмитрий - Введение в Python стр 8.

Шрифт
Фон

* Перегрузка операторов (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)

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

| 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

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

Команда import в Python:
Команда 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:
from ... import *

| from math import *

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

|

| print (sqrt(121))

| print (pi)

| print (e)

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

Местонахождение модулей в Python:

1. Директория, в которой находится файл, в котором вызывается команда импорта

2. Если модуль не найден, Python ищет в каждой директории, определенной в консольной переменной PYTHONPATH.

3. Если и там модуль не найден, Python проверяет путь заданный по умолчанию

*

Путь поиска модулей сохранен в системном модуле sys в переменной path. Переменная sys.path содержит все три вышеописанных места поиска модулей.

Получение списка всех модулей Python установленных на компьютере:

| help("modules")

Через несколько секунд вы получите список всех доступных модулей.

Создание своего модуля в Python:
модуль в Python

| def hello():

| print ("Hello from module_1")

А во втором вызовем эту функцию:

| from module_1 import hello

|

| hello()

Выполнив код второго файла получим:

Hello from module_1

Функция dir():
функция dir()

| # на данный момент нам доступны лишь встроенные функции

| dir()

| # импортируем модуль math

| import math

| # теперь модуль math в списке доступных имен

| dir()

| # получим имена, определенные в модуле math

| dir(math)

Архитектура программы на Python:

* Первый уровень это обычные команды на Python.

* Команды на Python могут быть собраны в функции.

* Функции могут быть частью класса.

* Классы могут быть определены внутри модулей.

* Наконец, модули могут составляться в пакеты модулей.

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке