ЭВТЮМИЯ

Классы и объекты

Основы Python | 13.06.2025
25 0

Любой объект создаётся на основе класса, который является шаблоном, определяющим свойства и поведение объекта. Поэтому такой объект ещё называют экземпляром класса. Может быть вы помните, что функция type() возвращает конструкцию class <тип>. Это связано с тем, что все встроенные типы данных являются классами. Например, строка "Привет!" является объектом или экземпляром класса str и поддерживает всего его свойства и методы.

И мы можем не только использовать встроенные классы, но и создавать свои собственные. Давайте создадим класс для автомобиля в автосалоне. Для этого нам понадобится ключевое слово class, за которым следует имя класса, написанное с большой буквы. Если названия переменных и функций мы писали в «змеином регистре» snake_case, то классы принято именовать в «верблюжьем регистре» CamelCase. То есть каждое слово начинается с заглавной буквы и без разделителей следует за предыдущим:

class Car:
    pass

Здесь мы создали пустой класс Car с помощью уже знакомого нам ключевого слова pass.

Введение в модули и пакеты

Основы Python | 10.08.2025
25 0

Написание сложной программы с нуля, в котором весь код содержится в одном огромном файле, может быть невероятно долгим и трудозатратным. Гораздо эффективнее не только разбить программу на отдельные файлы (и папки), но и использовать уже готовые части кода – те, что вы ранее написали сами или те, что были разработаны и протестированы другими специалистами.

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

Набор связанных модулей, которые совместно обеспечивают определённую функциональность, называется пакетом. Он представляет собой папку, которая содержит несколько файлов с расширением .py и часто содержит специальный служебный файл __init__.py, обозначающий, что эта папка является пакетом.

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

Ошибки и исключения

Основы Python | 19.01.2025
24 0

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

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

Например, выведем сообщение на экран, но пропустим закрывающую скобку при вызове функции print():

print("Эта инструкция написана не очень правильно"

Запустив этот код, вы увидите примерно такое сообщение о синтаксической ошибке:

Traceback (most recent call last):
  File "/home/irina/projects/task.py", line 2
    print("Эта инструкция написана не очень правильно"
         ^
SyntaxError: '(' was never closed

Чтение и запись файлов

Основы Python | 02.10.2025
24 0

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

По способу хранения информации все файлы делятся на текстовые и бинарные (двоичные).

Байты внутри текстового файла представляют символы (с учётом используемой кодировки), которые мы можем прочитать и увидеть на экране. Такие файлы удобны для хранения текстовой информации.

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

Рекомендации по оформлению кода

Основы Python | 08.12.2024
23 0

Когда мы пишем программы, важно не только то, что делает код, но и то, как он выглядит. Хорошо оформленный код легче читать, понимать, отлаживать и поддерживать. Для языка Python существует официальное руководство по стилю кода под названием PEP 8 (от англ. Python Enhancement Proposal – Предложение по улучшению Python). 

PEP 8 представляет собой обширный документ, включающий множество рекомендаций по стилю и оформлению кода на Python. Однако, поскольку мы только начинаем изучение Python, мы рассмотрим только самые основы, такие как:

  • Базовые правила отступов и форматирования.
  • Советы по использованию пробелов и длин строк.
  • Важность аккуратного комментирования и соблюдения регистра.

Ветвление

Основы Python | 11.01.2025
23 0

Ветвление – это фундаментальный механизм в программировании, позволяющий выполнять различные действия в зависимости от условия. Это похоже на принятие решений в реальной жизни: «Если я наберу 100 очков, то перейду на следующий уровень. Иначе мне придётся сыграть ещё раз».

В Python ветвление реализуется с помощью условных операторов if (с англ. – если), elif (от англ. else if – иначе если) и else (с англ. – иначе):

if условие_1:
    блок_кода_1
elif условие_2:
    блок_кода_2
else:
    блок_кода_3

Каждое условие – это логическое выражение, результат которого может быть либо истинным (True), либо ложным (False). Если первое условие в if истинно, то выполняется соответствующий блок кода, иначе – проверяется следующее условие в elif и так далее. Если все условия оказались ложными, то выполняется блок кода else.

Принадлежность кода к блоку if, elif или else определяется обязательным отступом (обычно 4 пробела). Отсутствие или неправильный отступ приведет к ошибке IndentationError.

Общие функции и операторы коллекций

Основы Python | 27.02.2025
23 0

Несмотря на то, что коллекции в Python имеют свои уникальные особенности, они обладают некоторыми общими способами работы с ними. Так мы можем получить количество элементов любой коллекции и проверить принадлежность элемента ей, а также определить максимальное и минимальное значение или посчитать сумму коллекции чисел.

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

Например, определим количество элементов в множестве:

weapons = ("Меч", "Лук", "Копье")
print(len(weapons)) 
# Вывод: 3

Методы преобразования и выравнивания строк

Основы Python | 01.03.2025
23 0

Программируя на Python, мы уже сталкивались как с функциями, так и с методами. Функции не привязаны к объектам и вызываются независимо от них. Например, функция id() возвращает уникальный идентификатор объекта, а функция print() выводит данные на экран.

Однако методы, напротив, принадлежат определённым типам данным (классам) и используются только совместно с объектом, к которому относятся. Например, уже рассмотренный метод dict.values() возвращает последовательность значений словаря dict.

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

Но строки являются неизменяемым типом данных, поэтому методы, преобразующие строку, на самом деле не изменяют её, а возвращают изменённую копию исходной строки, которую следует сразу использовать в работе или присвоить какой-либо переменной.

Инкапсуляция и ограничение доступа

Основы Python | 19.06.2025
23 0

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

Вспомним пример с автомобилем из предыдущего параграфа. Инкапсуляция позволяет контролировать, как и когда данные объекта могут быть изменены. Так, вызов метода продажи sell() не только изменяет статус наличия автомобиля в автосалоне, но и выполняет другие необходимые действия, например, выводит сообщение о продаже. Прямое изменение атрибута не обеспечит совершение этих действий.

В отличие от некоторых других языков программирования, в Python нет строгих механизмов для полного запрета доступа к атрибутам и методам. Вместо этого используется соглашение об именовании, которое говорит разработчикам, как следует обращаться к этим данным.

Основы работы со строками

Основы Python | 25.12.2024
22 0

Строки в Python представлены типом str (от англ. string – строка) и представляют собой упорядоченные последовательности символов, заключённые в кавычки. Строки используются для хранения и обработки текстовой информации. Будь то имена, адреса, тексты книг или любые другие данные, которые можно представить в виде текста, в Python они обычно обрабатываются как строки.

Для создания строковой переменной достаточно заключить любой текст в одинарные (') или в двойные (") кавычки:

message = 'Что на ужин?'
reply_message = ""  # Пустая строка – тоже строка