Разработка веб-приложения с Python Flask и MySQL: шаг за шагом

Введение

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

Python имеет огромное сообщество, которое самостоятельно влияет на развитие языка.

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

Python — идеальный язык для быстрого анализа данных, веб-разработки и написания сценариев. Простота этого языка требует здесь особого упоминания. Из-за этой простоты стало довольно легко повторно использовать код и модульное программирование. Этот сценарий поможет сократить расходы.

Читабельность и правильное использование пробелов сделали этот язык программирования одним из самых любимых для профессионалов. Однако здесь есть одна загвоздка. Python не имеет никаких сопутствующих встроенных функций, и для программистов стало обязательным использование фреймворков.

Пакеты и модули из этой статьи помогут вам в написании веб-приложений без какой-либо необходимости в управлении процессами!

What is a Web Server? [Definition]

In the infrastructure of the internet, the server is one part of the client-server model. When a client browser visits a web page, it makes an HTTP request to the server containing the files needed to operate a website. The server listens to the client’s request, processes it, and responds with the required files to present the web page. This content could be HTML (the text and media you see on a website) and JSON (applications).

You might have encountered a few server error codes in your time browsing the internet — “file not found” or 404 being a more popular one. In these cases, the server has trouble accessing certain files. With a 404 error, the particular file is missing.

There are more nuances to web servers, including classification into static and dynamic web servers. For example, static web servers only return files as they are, with no extra processing. Dynamic web servers introduce databases and application servers, which you can proceed to once you’ve got the hang of static servers. 

Having said all that, we should get into how you create a web server. We’ll assume you’re running the latest version of Python. There are resources for you to learn how to run a python script, among other useful lessons. 

Условия¶

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

На английском if значит «если», а else — «иначе» или «в противном случае». В строчке после  идет условие, которое мы проверяем. Если оно верно, выполняется первый блок кода (он отделен четырьмя пробелами вначале). Если неверно, то тот, что после .

(info: Блоки кода в Python отделаются отступами. Отступ на самом деле может быть любым, например некоторые предпочитают использовать вместо четырех пробелов клавишу Tab. Главное — не смешивать в одной программе отступы разного типа. Если уж начал использовать четыре пробела, то используй по всей программе, а то Python будет на тебя ругаться и унижать.)

Еще один важный момент здесь — это знак равенства в условии. Он пишется как двойное «равно» () и этим отличается от присвоения — одинарного «равно».

Функция , прежде чем сравнивать условие, делает все буквы в строке маленькими, потому что глупый юзер может ввести слово YES с горящим Caps Lock, и это надо предусмотреть заранее.

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

(info:Оператор в Python — это символ, который выполняет операцию над одной или несколькими переменными или значениями: арифметические («плюс», «минус», «равно» и так далее), сравнения (двойное «равно», «больше», «меньше» и прочее), присваивания (равно и несколько других), логические операторы (, , ), операторы членства (, ) и операторы тождественности (, ). Еще есть побитовые операторы для сравнения двоичных чисел.)

Давай создадим еще более сложное условие, использовав оператор , который переводится как ИЛИ.

Здесь используются скобки — Python не требует скобок для простых условий, но для сложных они применяются, чтобы явно определить порядок действий. Программа приветствует только двух пользователей, . То есть сначала проверяется, не совпали ли логин и пароль с логином и паролем Ивана, а потом после оператора проверяется то же для Марины.

(info: Когда нужно проверить не одно, а сразу два или три условия, ты можешь заключить каждое из них в скобки, а между ними ставить операторы или . В случае общее условие выполняется, если выполняется хотя бы одно из входящих в него условий. В случае с , чтобы общее условие выполнилось, должны выполниться оба входящих в него условия.)

Вот еще пример, в нем используется , который означает что‑то вроде ИНАЧЕ‑ЕСЛИ. Это применяется для задания нескольких блоков команд: в случае, если одно условие не выполняется, с помощью ELIF проверяется следующее и так далее.

В качестве условий могут выступать различные операторы сравнения:

  • (a равно 9)
  • (a не равно 7)
  • (a больше 5)
  • (a меньше 5)
  • (a больше или равно 3)
  • (a меньше или равно 8)

Ты также можешь инвертировать истинность условия (true) на ложность (false) и обратно с помощью слова .

Например, нужно, чтобы человек ввел число не (NOT) меньше 5.

Сравнительные характеристики

Все, перечисленных выше фреймворки, бесплатны, кросс-платформенны и являются проектами Open Source. Посмотрите небольшую сравнительную табличку:

Параметр

Django

Web2py

Flask

Bottle

CherryPy

Первый выпуск

2005

2007

2010

2009

2002

Актуальная версия

2.2, April 2019

2.17.2, October 2018

1.0.2,May 2018

0.12.16,December 2018

18.1.0, December 2018

Тип

Full

Full

Micro

Micro

Micro

Разраб.

Adrian Holovaty, Simon Willison

Massimo Di Pierro

Armin Ronacher

Marcel Hellkamp

Remi Delon,Robert Brewer

Лицензия

Версия Python

Python 2.x или Python 3.x (Django 2.0 и выше)

Python 2.7 и Python 3.5+

Обе Python 2.x и Python 3.x

Python 2.5+ и 3.x

Python 2.x и Python 3.x

Примеры

Instant Press,Ourway

Splunk Enterprise

Pyramid

Pyramid — WSGI-фреймворк с открытым исходным кодом (репозиторий находится на GitHub). С его помощью можно легко создавать веб-приложения.

Pyramid написан на Python и использует архитектурный паттерн модель-представление-контроллер (MVC, Model-View-Controller).

Pyramid — кроссплатформенный фреймворк. Это означает, что его можно использовать на всех основных ОС (Windows, Mac OS и т. д.).

Создатели Pyramid — Крис МакДоно, Бен Бангерт, Майкл Мерикел, Берт Дж.В. Регир и Стив Пирси. Первый релиз фреймворка состоялся в 2008 году.

Сегодня Pyramid используют такие компании, как Kalibrr, Juniper Square, Gandi.net, App backend, Once, RideLink, Tango Financial. Но вообще об этом фреймворке знает не так много людей и он явно проигрывает в популярности Django и Flask.

Python – это язык программирования высокого уровня. Это значит, что он автоматизирует множество процессов, таких как управление памятью.

Такое свойство языка дает Вам много преимуществ. Главное из которых – это возможность концентрироваться на основных, а не вспомогательных задачах.

И как уже было сказано ранее, Python очень востребован в реальном мире. Возьмите, к примеру, таких технологических гигантов как Google, Apple, Netflix.

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

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

Например для создания веб-приложений, видеоигр и многого другого. Это стало возможным благодаря огромному выбору расширений и библиотек, доступных для Python.

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

Настройка среды разработки

При создании веб-приложений мы рекомендуем установить Python на WSL. Многие руководства и инструкции для разработки веб-приложений на Python написаны для пользователей Linux и поэтому они используют средства упаковки и установки на основе Linux. Большинство веб-приложений также развертываются в Linux, поэтому это обеспечит согласованность между рабочими средами и средами разработки.

Если вы используете Python не для разработки веб-приложений, мы рекомендуем установить Python непосредственно в Windows из Microsoft Store. WSL не поддерживает рабочих столов или приложения с графическим пользовательским интерфейсом (например, PyGame, Gnome, KDE и т. д.). В этих случаях установите и используйте Python непосредственно в Windows. Если вы не знакомы с Python, ознакомьтесь с нашим руководством: начало работы с Python в Windows для начинающих. Если вы заинтересованы в автоматизации распространенных задач в операционной системе, ознакомьтесь с нашим руководством. Начало работы с Python в Windows для сценариев и автоматизации. Для некоторых сложных сценариев вам может потребоваться скачать определенный выпуск Python непосредственно из python.org или рассмотреть возможность установки альтернативы, например Anaconda, Jython, PyPy, WinPython, IronPython и т. д. Мы рекомендуем использовать это только в том случае, если вы являетесь более продвинутым программистом Python с определенной причиной выбора альтернативной реализации.

Веб-фреймворк Python Starlette

Starlette является легким фреймворком ASGI, что идеален для создания высокопроизводительных сервисов . Он может использоваться как самостоятельный фреймворк, так и как инструментарий ASGI. Поставляется вкупе с обширным ассортиментом инструментов, поддерживает WebSockets, GraphQL, внутрипроцессовые фоновые задачи, а также текстовый клиент, построенный на Requests Python.

Установка Starlette

Shell

pip install starlette

1 pip install starlette

Пример Hello world на Starlette 

Python

from starlette.applications import Starlette
from starlette.responses import JSONResponse
import uvicorn

app = Starlette(debug=True)

@app.route(‘/’)
async def homepage(request):
return JSONResponse({‘hello’: ‘world’})

if __name__ == ‘__main__’:
uvicorn.run(app, host=’0.0.0.0′, port=8000)

1
2
3
4
5
6
7
8
9
10
11
12
13

fromstarlette.applications importStarlette

fromstarlette.responses importJSONResponse

importuvicorn

app=Starlette(debug=True)

@app.route(‘/’)

async defhomepage(request)

returnJSONResponse({‘hello»world’})

if__name__==’__main__’

uvicorn.run(app,host=’0.0.0.0′,port=8000)

The TCP Socket Address

Any http message (whether it is a request or response) needs to know how to reach its destination.

In order to reach its destination, each http message carries an address called the destination TCP address.

And each TCP address is composed of an IP address and a port number.

I know all these acronyms (TCP, IP, etc..) might be overwhelming if your networking concepts are not strong.

I will try to keep it simple but if you are interested in improving your knowledge of networking concepts, I highly recommend this book by Ross and Kurose.

So where is that address when all you did was type www.yahoo.com on your browser?

Well, this domain name is converted into an IP address through a large distributed database called the DNS.

Do you want to check out what this IP address is?

Easy! Head to your terminal and do the following:

As you can see, the DNS will translate yahoo.com to any of the addresses above.

The IP address alone will allow the HTTP message to arrive at the right machine, but you still need the port number in order for the HTTP request to arrive exactly at the web server.

In other words, the web server is a regular network application that is listening on a specific port.

And the http request MUST be addressed to that port.

So where is the port number when you type www.yahoo.com?

By default, the port number is 80 for http and 443 for https, so even though you haven’t explicitly specified the port number, it is still there.

And if the web server is listening on a non-default port number (neither 80 nor 443), you must explicitly specify the port number like this:

By now you should have all the necessary information to create an http web server in Python.

So without further ado, let’s get started.

WSGI Servers¶

Stand-alone WSGI servers typically use less resources than traditional web
servers and provide top performance .

Gunicorn

Gunicorn (Green Unicorn) is a pure-Python WSGI
server used to serve Python applications. Unlike other Python web servers,
it has a thoughtful user interface, and is extremely easy to use and
configure.

Gunicorn has sane and reasonable defaults for configurations. However, some
other servers, like uWSGI, are tremendously more customizable, and therefore,
are much more difficult to effectively use.

Gunicorn is the recommended choice for new Python web applications today.

Waitress

Waitress is a pure-Python WSGI server
that claims “very acceptable performance”. Its documentation is not very
detailed, but it does offer some nice functionality that Gunicorn doesn’t have
(e.g. HTTP request buffering).

Waitress is gaining popularity within the Python web development community.

Веб-фреймворк Django

Django — бесплатный веб-фреймворк с открытым исходным кодом. Он использует архитектурный паттерн Модель-Представление-Шаблон (MVT, Model-View-Template).

Это очень развитый фреймворк, применяемый для быстрой разработки надежных, легко поддерживаемых сайтов. С Django вам не придется каждый раз заново изобретать велосипед: он берет на себя основную рутину веб-разработки. Подходит он как для фронтенда, так и для бэкенда.

Дополнительные преимущества Django — легковесность и открытый исходный код (репозиторий можно найти на GitHub).

Django используется, в основном, для написания качественных веб-приложений и динамических сайтов. Он имеет собственный движок шаблонов для генерации HTML, что сильно облегчает процесс создания динамических сайтов. Но статические сайты, разумеется, тоже можно создавать.

Фреймворк Django был создан Адрианом Головатым и Саймоном Виллисоном во время их работы в газете Lawrence Journal-World. Первый релиз Django состоялся в 2005 году.

Сейчас фреймворк принадлежит и управляется Django Software Foundation — компанией, базирующейся в США.

Django интегрируется с Django REST framework, Select2, Bugsnag, Strapi Cloudinary и многими другими фреймворками и библиотеками.

Такие популярные компании, как Pinterest, Udemy, Trivago, Pratilipi, Instagram, Robinhood используют Django в своих проектах.

От редакции Pythonist. Возможно, вас заинтересуют статьи о Django:

  • Сайт на Django за 20 минут
  • 11 проектов на Django для начинающих
  • Великолепная четверка книг по Django, вышедших в 2019 году

Преимущества Django

  • Реализация на Python
  • Открытый исходный код
  • Поддерживает быструю разработку
  • Безопасность
  • Масштабируемость
  • Хорошая поддержка сообщества
  • Предлагает лучшее CDN-соединение и управление контентом.

Недостатки Django

  • Не подходит для маленьких проектов
  • Нет поддержки мультипроцессора
  • Фреймворк непросто освоить, хотя, когда все же освоите, работать будет очень легко
  • Это монолитный фреймворк
  • Компоненты фреймворка крепко связаны
  • Регулярные выражения URL-адресов

Что запомнить

Наш блог полностью готов к работе. В него можно добавлять новые функции (например, редактирование постов или систему авторизации), а также применять CSS-стили, чтобы он выглядел красивее. Но главное — мы заложили основу для бэкенда и разобрались, как это сделать на Flask.

Вот некоторые важные вещи, которые стоит помнить при работе с фреймворком Flask:

  • Flask — это микрофреймворк для создания веб-приложений на языке Python.
  • Flask использует декораторы для связывания функций с URL-адресами и методами HTTP.
  • Чтобы удобно отображать HTML-страницы, можно использовать шаблоны, которые упрощают разработку.
  • Flask не имеет встроенной поддержки баз данных, но к нему всегда можно подключить сторонние — например, SQLite.
  • Flask использует объект request для доступа к данным, отправленным пользователем через формы и URL-адреса.
  • Flask использует флеш-сообщения для отображения сообщений об ошибках или на веб-странице.

Что такое язык Python и где он используется

Python — это высокоуровневый интерпретируемый язык программирования, который был впервые выпущен в 1991 году(Не все знают, но язык даже старше Java!). Он известен своей простотой, удобочитаемостью и удобством использования, что делает его популярным выбором для широкого спектра приложений, от веб‑разработки до научных вычислений.

Python может быть использован для многих целей, включая:

  • Веб‑разработка: Python широко используется для создания серверной части веб‑приложений с использованием таких фреймворков, как Django, Flask или FastAPI.

  • Анализ данных и машинное обучение: Python стал фактическим языком для анализа данных, машинного обучения и искусственного интеллекта благодаря своему богатому набору библиотек, таких как NumPy, Pandas и Scikit‑learn.

  • Написание скриптов: Простота и удобство использования Python делают его популярным выбором для написания сценариев для автоматизации задач, таких как системное администрирование и сетевое программирование.

  • Разработка десктопных приложений: Python также можно использовать для создания настольных приложений с использованием библиотек GUI, таких как PyQt.

  • Разработка игр. Конечно, ААА‑проектов на питоне не делают, что что‑то простое — вполне. На YouTube есть интересный канал, на котором автор периодически выкладывает свои Pygame‑проекты.

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

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

Frameworks

4. Laravel

Laravel — один из самых популярных фреймворков PHP, доступных в мире технологий. Эта веб-платформа с открытым исходным кодом следует архитектурному шаблону модель-представление-контроллер (MVC) и предоставляет вам множество дополнительных функций, таких как встроенный инструмент командной строки под названием Artisan, предустановленные объектно-ориентированные и модульные библиотеки, Eloquent ORM ( Object Relational Mapping), Template Engine и многие другие. Более того, фреймворк использует различные инструменты для конкретных задач, таких как внедрение зависимостей, модульное тестирование и т.д. Готовые к использованию пакеты, предоставляемые Laravel, включают Cashier для управления службами выставления счетов по подписке, Envoy, который обеспечивает чистый и минимальный синтаксис для определения общих задачи, которые вы запускаете на своих удаленных серверах, Socialite для упрощенного механизма аутентификации OAuth с такими поставщиками, как Facebook, GitHub, Google и т.д.

5. Django

Django — это веб-фреймворк с открытым исходным кодом на основе Python, который позволяет вам заниматься веб-разработкой более эффективно и без каких-либо проблем. Он следует архитектурному шаблону модель-шаблон-представления (MTV). Причина огромной популярности и спроса на этот конкретный фреймворк кроется в некоторых его заметных особенностях, таких как расширяемость, быстрая разработка, масштабируемость, безопасность, обширное сообщество и многие другие. Компании используют Django для различных областей веб-разработки, таких как платформы социальных сетей, платформы научных вычислений, системы управления контентом и многие другие. Некоторые из популярных веб-сайтов, использующих Django: Instagram, Mozilla, Pinterest и т.д. Если вы хотите заняться веб-разработкой с использованием Python, вы, безусловно, можете попробовать Django.

Другие фреймворки, которые вы можете рассмотреть: Angular, Meteor, Spring, Ruby on Rails и т.д.

Мотивация

На днях мой брат спросил меня, могу ли я создать для него веб-сайт, с помощью которого можно было бы собирать данные, вводимые пользователями, выполнять некоторые вычисления и привлекать потенциальных клиентов. Я не работал над созданием сайтов со времен Geocities и MySpace. Ну, может быть, не так давно, но я довольно сильно отстал от темы, поскольку веб-программирование — не моя повседневная работа. Моим последним побочным проектом был сайт ресторана, созданный много лет назад, который я сделал с помощью PHP, поэтому я провел небольшое интернет-исследование, чтобы узнать, что популярно именно сейчас.

Материалы для изучения. Шаг 1 — Шаг 3

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

  1. Знакомство с Python. Дэн Бейдер.

    Пытаетесь найти что‑нибудь для начинающих о языке Python в интернете? Не можете решить, с чего начать? Как структурировать это море информации? В каком порядке изучать? Если вы задаетесь подобными вопросами, потому что хотите заложить фундамент будущей карьеры питониста — эта книга для вас! Вместо скучного перечисления возможностей языка авторы рассказывают, как сочетать разные структурные элементы Python, чтобы сразу создавать скрипты и приложения. Книга построена по принципу 80/20: большую часть полезной информации можно усвоить, изучив несколько критически важных концепций. Освоив самые популярные команды и приемы, вы сразу сосредоточитесь на решении реальных повседневных задач.

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

  2. «Изучаем Python». Марк Лутц

    Многие питонисты считают данную книгу мастхэвом. И не зря, ведь данная работа уже считается классикой. Очень малое количество книг могут сравниться с Лутцом по глубине и подробности в описании своего предмета. Освоив материал книги, вы совершенно точно сможете решать с помощью Python самые разные задачи. Недостатком является форма изложения, которая зайдет далеко не всем, а также размер книги — около 1200 страниц.

  3. Укус питона. Swaroop C.H

    Книга является противоположностью учебнику Лутца. Она маленькая(около 164 страниц), совсем не является полноформатным учебником и содержит в себе самые основы в формате «записок» автора. Книгу вполне можно изучать вместе с каким‑нибудь курсом, например из пункта 4.

  4. Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих. Адитья Бхаргава

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

    В книге «Грокаем алгоритмы» Адитья Бхаргава не просто показывает примеры таких решений с детальными иллюстрациями, но и учит читателя самостоятельно находить их в дальнейшем. Читатель знакомится с понятиями бинарного поиска, массивами, связанными списками, структурами данных, рекурсией.

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

  5. Вся серия курсов на степике. Очень хорошие курсы с большим количеством задач, которые познакомят вас с основными типами данных, циклами, условиями и т. д.

  6. Руководство по языку Python. Метанит. Вполне себе хорошее базовое руководство по языку. Рассматриваются все базовые темы, включая ООП. Сам когда‑то пользовался, было полезно.

  7. Git за полчаса: руководство для начинающих. Отличная статья, которая научит вас основам работы с системой контроля версий.

  8. Гуглите. Вы обучаетесь только тогда, когда сталкиваетесь с трудностями. Поиск решения задачи сильно прокачивает ваши скиллы. Ищите ответы на форумах, в статьях, видео на YouTube и т. д. Только путем проб и ошибок можно по‑настоящему понять изучаемую тему.

Django

Django — это полнотекстовая платформа разработки, которая является бесплатной и доступна каждому. Самое лучшее в этом конкретном фреймворке — это то, что он довольно быстрый. Разработчики получают возможность работать над сложными кодами и приложениями быстро и гибко. Этот фреймворк использует прагматичные конструкции для оптимизации всего процесса разработки веб-приложений, что делает его еще более полезным. Нет никаких сомнений в том, что Django является одним из лучших веб-фреймворков Python в настоящее время.

В Django есть много удивительных функций, которые помогли ему выделиться по сравнению с другими фреймворками Python, представленными на рынке. Некоторые из его функций включают администрирование контента, механизм аутентификации, маршрутизацию URL-адресов, механизм шаблонов и миграцию схемы базы данных.

Он также поддерживает базы данных Oracle, PostgreSQL, MySQL и SQLite. Поддержка этих баз данных привела к их внедрению на сайтах с высоким трафиком и различных платформах социальных сетей, таких как Instagram, Pinterest, The Washington Times, Bitbucket, Mozilla и Disqus. То есть, Django превратился в один из самых надежных и востребованных программных фреймворков, поскольку он обеспечивает невероятную эффективность, беспроблемную разработку, меньшее количество кода и повторное использование меньшего количества компонентов.

Безопасность Django — это то, что нуждается в особом упоминании. Он обеспечивает отличную защиту и гарантирует, что программисты избегают любых распространенных ошибок, таких как межсайтовые скрипты, кликджекинг, внедрение SQL-кода и различных подделок.

Список основных характеристик Django:

  • Огромные возможности для программирования.
  • Высокоскоростной фреймворк.
  • Отличная защита.
  • Универсальность.
  • Масштабируемость.

Общие рекомендации

  • Выберите удобную IDE. Процесс разработки в первую очередь должен быть комфортным для вас самих. Лучшая IDE для разработки на Python — это Pycharm, но после войны JetBrains их продукты больше не доступны для покупки аккаунтам из Беларуси и России. Альтернатива — VS Code, достаточно шустрый редактор кода, благодаря плагинам в нем доступны большинство плюшек Pycharm.
  • Обязательно делайте перерывы: дайте вашему мозгу шанс обработать и усвоить полученную информацию. Если у вас долго что‑то не получается — просто отдохните и отвлекитесь. Лучший отдых для меня — прогулка. Выработайте привычку заниматься каждый день.
  • Теория + много практики. Теоретические знания — это безусловно хорошо, но без должного количества практики они ничего не значат. Часто бывает такое, что в теории вам все кажется очевидным и понятным, но как дело касается решения вы обнаруживаете, что сильно путаетесь и голова будто бы не работает. Это нормально! Пытайтесь, пока не получится.
  • Не прыгайте между темами. Обучайтесь поэтапно и в комфортном для вас темпе. Никто не выиграет от того, что вы с утра до вечера будете сидеть за книгами и задачами, после чего сильно перегорите. Перегорание — это в целом распространенная проблема у программистов (и не только). Во время обучения и работы я тоже перегорал и знаю, что это такое. Но в итоге я нашел комфортный для себя темп и определил некоторые рабочие правила, вроде периодического отдыха.
  • Не злоупотребляйте копипастом кода. Старайтесь думать сами. Это не значит, что вы не должны слушать автора, напротив, изучайте курс внимательно. Вы не должны слепо переписывать код и ждать чуда. Пытайтесь решить задачу сами, экспериментируйте, думайте над задачей вместе с автором.
  • Если вам нужно решить большую или же непонятную задачу, декомпозируйте ее на более мелкие. 
  • Ищите сообщества — отличный способ сохранить мотивацию и учиться у других.
  • Создавайте пет‑проекты — применяйте полученные знания на практике. Их можно добавить в резюме. Начните с простых проектов: калькулятор или текстовая игра. Постепенно переходите к более сложным.

Что такое библиотеки Python

Библиотеки Python — это коллекции дополнительных модульных компонентов кода для «змеиного языка», заточенных под определенные тонкие задачи. Для управления ими необходимы специальные навыки, овладев которыми можно сделать программирование на «Питоне» значительно более эффективным.

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

Основное отличие фреймворка от библиотеки в том, что первый является готовым, самодостаточным «механизмом», для запуска которого необходимо добавить логическую структуру программы. Библиотеки же представляют собой отдельные модули, которые разработчик подключает к собственному коду, тем самым внедряя в свой проект новые возможности.

Понравилась статья? Поделиться с друзьями: