Python | Программирование
9.87K subscribers
1.82K photos
2 videos
139 files
1.53K links
Python без границ для всех

Владелец, реклама @Ak_Mihail

Преобрести рекламное размещение: https://telega.in/c/Python_libr
加入频道
Шпаргалка по основам Python

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

🧷 https://cheatography.com/davechild/cheat-sheets/python/

#Шпаргалка
This media is not supported in your browser
VIEW IN TELEGRAM
Git Разработчика - ваш надежный источник в мире IT!

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

🔍Учись наконец-то делать крутые проекты с @git_developer
Please open Telegram to view this post
VIEW IN TELEGRAM
📌 Сборщик мусора

В старых языках (C++, asm) мы, как программисты, должны были самостоятельно убирать остатки работы после себя: созданные классы, огромные куски данных, коллекции.

В современных языках (Java, C#, Python, JavaScript) есть сборщики мусора, которые занимаются очищением памяти. Они удаляют объекты, если те никому не нужны (на них больше нет ссылок).

В Python даже есть отдельный модуль для взаимодействия со сборщиком мусора — gc. Он вам может пригодиться только на собеседовании.

📕 Документация

#урок
Курс Python для начинающих

Обзор ускоренного курса Python
Привет от Питона
Базовые типы
Преобразование между типами
Ложные значения
Выбор названий для переменных и констант
Переменные и динамическая типизация
Базовые типы копируются по значению
Увеличение и уменьшение переменных
Списки
Tuples
Словари
Копирование по ссылке
Наборы
Итоги по типам контейнеров
Установка и настройка Code Runner в VS Code
Функции
Позиционные аргументы
Именованные аргументы
Сбор всех аргументов в tuple
Перебор значений с использованием цикла for...in
Использование kwargs в функциях
Описание функций
Операторы сравнения
Логический оператор and
Оценка короткого замыкания
Логический оператор or
Логический оператор not
Комбинация операторов и приоритет
Условные инструкции if
Форматирование строк
Обработка ошибок с использованием try…except
Модули Python

🧷 https://youtu.be/82DKIKRgAdw

#Видео
📌 pytest — лучший фреймворк для теста

Тестировать код нужно обязательно. Есть даже отдельная методология — TDD, где ты сначала пишешь тесты, а потом только код. Лучшим решением в Python для этого будет pytest.

Почему лучшим? Потому что это самая популярная система, а значит по ней много уроков и вопросов с ответами на StackOverflow.

Ещё фреймворк довольно быстрый и простой в использовании. Несколько строчек и вы уже знаете, где у вас ошибка.

📕 Документация

#урок
Что такое Python и почему вы захотите его изучить?

• Как думаешь, какой язык программирования сейчас самый популярный? Если погуглить, то окажется, что это Python. А почему так, основы питона и какие зарплаты получают пайтон программисты сейчас расскажем и покажем.

🧷 https://youtu.be/MunPNYumw6M

#Видео
Ребят, в начале или середине своего пути вам часто нужно искать качественные ресурсы и инструменты для обучения.

⚠️ Это экономит ваше время и помогает сосредоточиться на самом главном — освоении новых знаний и навыков.

Раньше приходилось рыскать по интернету в поисках нужного, но теперь есть специальный канал для этого: @roadmap_ready

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

➡️ Так что подписываемся
Please open Telegram to view this post
VIEW IN TELEGRAM
📌 contextvars — недооценённая возможность Python

Этот модуль позволяет нам передавать данные между функциями. Это, можно так выразиться, локальное хранилище, в которое можно что-то положить и потом вытащить.

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

К сожалению, у модуля скудная документация, так что самым пытливым придётся читать PEP.

Доступно с Python 3.7

#урок
🧩 Что не нужно делать при помощи Python

• Несмотря на масштабное использование Python в разных сферах IT, он все же не является идеальным решением для некоторых задач. Есть более подходящие ЯП для реализации следующих процессов.

🧷 https://itproger.com/news/chto-ne-nuzhno-delat-pri-pomoshti-python

#Статья
📌 Избавляемся от отступов в многострочных строках

Если вы уже использовали тройные кавычки в своём проекте, то знаете, что у них серьёзные проблемы с отступами. То, что мы делаем для красоты, остаётся в проекте.

Мы можем пойти двумя путями: полностью убрать отступы, что сделает код некрасивым, или использовать textwrap.dedent().

📕 Документация

#урок
🧩 В каких сферах стоит использовать Python

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

🧷 https://itproger.com/news/v-kakih-sferah-stoit-ispolzovat-python

#Статья
📌 from typing import TypedDict

Новинка в Python 3.8, она позволяет давать аннотации словарям. Это очень удобно, поскольку IDE сразу предлагает ключи, а Python проверяет соответствие типов.

Важной особенностью является то, что в объекте не может быть ключей, которые не определены в классе (иначе выдаст предупреждение).

📕 PEP 589

#урок
📌 Упрощаем работу с JSON

Это хорошо, когда у вас небольшой JSON с данными о статусе и сообщением, но как быть программистам с миллионным вложением? JMESPath

Установка:
pip install jmespath

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

👨‍💻 Урок по языку

📕 Документация по модулю

#урок
📌 Что такое PEP?

Python Enhancement Proposals — предложения по улучшению Python. Самый лучший источник знаний по этому языку.

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

Самым популярным представителем PEP является PEP 8 — правила по оформлению кода, написанного на Python.

Вот ещё несколько PEP'ов, которые можно почитать: PEP 343 (with), PEP 557 (dataclasses). Все можно найти на PEP 0.

#урок
📌 else в цикле

Да-да, else есть и у циклов. Этот блок существует и выполняется только если цикл завершил свою работу без вызова break.

Если на пути цикл встретит continue или появится ошибка, то код из else всё равно выполнится. Так удобно выполнять код до первого "исключения" в логике.

📕 Документация

#урок
📌 Учим приложения общаться друг с другом

Как-то приложения должны делится информацией илля этого есть прекрасный фреймворк - hug. Он быстро создаёт API, с помощью которого можно взаимодействовать с приложением.

Установка: pip3 install hug

С его помощью можно быстро написать API для браузера (HTTP) или терминала (CLI). Также он считается самым простым фреймворком для создания оболочки взаимодействия пользователя с приложением.

Всё очень легко, копируем пример с официального сайта и запускаем с помощью hug -f file.py. Потом открываем браузер и переходим по http://127.0.0.1:8000/echo.

#урок
📌 Помощники цикла

Эти функции упрощают работу при работе с итерируемыми объектами. Использовать их можно как угодно, но чаще всего они встречаются рядом с for.

enumerate(iter, start=0) — возвращает кортеж типа (индекс, значение). Если передать второй параметр, то индекс сместиться на start единиц.

reversed(iter) — проходится по объекту задом наперёд. Если это невозможно, выдаёт ошибку.

zip(*args) — параллельно проходит по всем объектам, возвращая по элементу с каждого.

Если вы что-то не поняли, то можете посетить документацию: enumerate, zip и reversed.

#урок
📌 Встроенные функции

Встроенные функции — это те, которые доступны из любого места в коде. print, float, int, str — всё это относится к ним.

enumerate, zip, reversed — функции, помогающие при работе с итерируемым объектом (список, множество, словарь).

getattr, hasattr, setattr — функции для работы с атрибутами класса (получить значени, есть ли атрибут, задать значение).

map, filter — итераторы, которые выполняют какие-то действия (что-то меняют или убирают).

Документация

#урок
📌 Работаем с приложением из терминала

Каждый раз получать данные через input() неудобно. В таком случае лучше создать CLI API, но это трудно и долго... Если не использовать click.

Установка: pip install click

Библиотека мало того, что легко настраивается, так ещё и самостоятельно генерирует страницу помощи с полученными параметрами.

Если модуль вам подходит, можете начать с документации.

#урок
📌 Зачем нужна __name__?

Эта переменная нужна для проверки, модуль импортировали или же запустили как отдельный файл.

Если скрипт запущен отдельно, он получает имя '__main__', а если импортирован, то имя модуля (файла).

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

Все эти особенности описаны в документации Python.

#теория