Выбрать главу

Создание класса в 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