1. Основы Python: синтаксис, типы данных, функции и введение в ООП
Основы Python: синтаксис, типы данных, функции и введение в ООП
Добро пожаловать в курс «Python и веб-разработка на Django». Это первая и фундаментальная статья, которая заложит основу для всего вашего дальнейшего пути в веб-разработке. Прежде чем мы начнем создавать сложные веб-приложения, нам необходимо освоить инструмент, на котором они строятся — язык программирования Python.
Python славится своим чистым синтаксисом и читаемостью кода. Однако за этой простотой скрывается мощная объектно-ориентированная структура, понимание которой критически важно для работы с фреймворком Django. В этой статье мы разберем ключевые концепции языка, необходимые для старта.
Философия и синтаксис Python
Python — это интерпретируемый язык высокого уровня. Одной из его главных особенностей является использование отступов (пробелов) для выделения блоков кода. В отличие от C++ или Java, где используются фигурные скобки {}, или Pascal с операторами begin и end, в Python структура программы определяется визуальным выравниванием.
!Сравнение структуры кода: отступы в Python против скобок в других языках
Правила отступов
Стандарт PEP 8 (официальное руководство по стилю кода Python) рекомендует использовать 4 пробела для каждого уровня вложенности. Смешивание табуляции и пробелов строго запрещено и приведет к ошибке IndentationError.
Пример правильной структуры:
Комментарии
Комментарии игнорируются интерпретатором и служат для пояснения кода.
#.""" или '''.Переменные и типы данных
В Python типизация является динамической и строгой.
int x в C++). Тип определяется автоматически в момент присваивания значения.Основные типы данных
Рассмотрим типы, с которыми вы будете сталкиваться в Django постоянно.
#### Числа (Numbers)
Существует два основных числовых типа:
int (целые числа): 10, -5, 0.float (числа с плавающей точкой): 10.5, 3.14.#### Строки (Strings)
Строки в Python — это неизменяемые последовательности символов. Их можно заключать как в одинарные ', так и в двойные " кавычки.
Особое внимание стоит уделить f-строкам (formatted string literals), появившимся в Python 3.6. Они позволяют встраивать значения переменных прямо в строку:
#### Булевы значения (Booleans)
Тип bool может принимать только два значения: True (истина) и False (ложь). Обратите внимание, что они пишутся с большой буквы.
Структуры данных
Для работы с наборами данных Python предлагает мощные встроенные структуры. В веб-разработке они используются повсеместно: от передачи данных из базы в шаблон до обработки JSON-запросов.
Списки (Lists)
Список — это упорядоченная изменяемая коллекция объектов произвольных типов. Списки создаются с помощью квадратных скобок [].
Кортежи (Tuples)
Кортеж — это упорядоченная неизменяемая коллекция. Создается с помощью круглых скобок ().
> Кортежи работают быстрее списков и защищают данные от случайного изменения. В Django они часто используются для хранения настроек, которые не должны меняться в процессе работы приложения.
Словари (Dictionaries)
Словарь — это неупорядоченная коллекция пар «ключ-значение». Это одна из самых важных структур для веб-разработчика, так как она идеологически близка к формату JSON.
Управляющие конструкции
Логика программы строится на условных операторах и циклах.
Условный оператор if
Конструкция if-elif-else позволяет выполнять код в зависимости от условий.
Циклы
Пример перебора списка:
Функции
Функции позволяют упаковывать код в переиспользуемые блоки. В Python функции определяются ключевым словом def.
Важно понимать разницу между print() и return. print() просто выводит текст в консоль, тогда как return возвращает значение из функции, которое можно сохранить в переменную или использовать дальше.
Введение в Объектно-Ориентированное Программирование (ООП)
Django — это фреймворк, полностью построенный на принципах ООП. Понимание классов и объектов является обязательным условием для работы с ним. В Django всё является объектами: запросы, ответы, модели базы данных и формы.
Основные понятия ООП
!Класс как чертеж и объекты как реализации этого чертежа
Создание класса в Python
Рассмотрим пример класса, описывающего пост в блоге (что очень похоже на то, как мы будем описывать модели в Django).
Разбор ключевых элементов
* class BlogPost:: Объявление нового класса.
* __init__: Специальный метод (магический метод), который вызывается автоматически при создании нового объекта. Он инициализирует начальное состояние объекта.
self: Это ссылка на текущий* экземпляр объекта. Когда вы создаете 10 разных статей, self позволяет программе понять, у какой именно статьи нужно изменить заголовок или количество лайков. Это аналог this в Java или C++.
Использование класса
Наследование
Наследование — это механизм, позволяющий создавать новый класс на основе существующего. Это «суперсила» Django. Например, создавая страницу сайта, вы будете наследовать свой класс от базового класса Django, автоматически получая весь его функционал.
В данном примере VideoPost имеет все методы BlogPost (например, add_like), но также имеет свой уникальный метод play.
Заключение
Мы рассмотрели фундамент языка Python: от базового синтаксиса и типов данных до принципов ООП. Эти знания — ваш инструментарий. Списки и словари помогут вам структурировать данные, функции — организовать логику, а классы станут основой для моделей и представлений в Django.
В следующих статьях мы перейдем к настройке окружения и установке самого фреймворка Django, где вы увидите, как эти концепции применяются на практике.