zen_of_python | Unsorted

Telegram-канал zen_of_python - Zen of Python

20070

Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

Subscribe to a channel

Zen of Python

Как устроен жизненный цикл запросов в Django

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

#django #веб

Читать полностью…

Zen of Python

Использование подчеркивания в коде на Python

Подчёркивание _ — это символ, который используется в именах на Питоне. Он влияет на то, как код работает и как его читают. Знания о том, куда поместить подчёркивание, помогает писать код.

Этими знаниями делится автор статьи по ссылке. Не поленитесь прочитать.

#основы

Читать полностью…

Zen of Python

Simba: Симуляция десятков тысяч частиц в потенциале Леннарда-Джонса

Как вам эта симуляция? Красивая? Вы можете создать такую же благодаря проекту, который создал автор этой статьи. Причём работает она на чистом Python с GPU-ускорением.

Узнать подробнее о проекте и попробовать его можно в статье.

Читать полностью…

Zen of Python

​​Гарвардский курс по веб-разработке на Python и JS

Курс HarvardX: CS50's Web Programming продолжает легендарный CS50, фокусируясь на разработке веб-приложений с Python, JavaScript и SQL. Тут разбирают дизайн БД, масштабируемость, безопасность и UI.

В процессе обучения есть и практические проекты, среди которых создание API, интерактивных интерфейсов и использование облачных сервисов GitHub и Heroku.

Одним словом — годнота

#курс #web #js #python #en

Читать полностью…

Zen of Python

Что объединяет спорт, e-commerce и цифровые технологии? Правильно, кокос

А точнее Кокос Hackathon 2024, который пройдёт в период с 3 по 18 октября. Хакатон пройдёт в онлайн-формате так что каждый сможет побороться за призовой фонд в размере 1 000 000 рублей независимо от вашей локации.

Вас ждут два трека:

1. Разработка веб-платформы для ФК и болельщиков футбола.
2. Разработка платформы для оценки вероятности действий пользователя.

Узнать подробности и оставить заявку на участие можно до 30 сентября по ссылке.

Это #партнёрский пост

Читать полностью…

Zen of Python

Почему not not value БЫСТРЕЕ bool в Python

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

#видео

Читать полностью…

Zen of Python

Работа с JSON и XML в Python: парсинг, генерация и валидация

JSON и XML — это форматы для хранения информации. Их используют для обмена данными в веб-разработке между клиентом и сервером, поэтому они часто встречаются при работе с API.

В этой статье мы расскажем, как взаимодействовать с ними при работе с Python.

#api

Читать полностью…

Zen of Python

Плохие практики ООП в Python, которых нужно избегать

В этом видео рассматриваются распространенные ошибках в ООП на Python, которые часто совершают разработчики. Вы узнаете:

— как сохранить ваш код чистым и удобным для сопровождения;
— почему вам следует заменять ненужные классы функциями;
— зачем использовать модули вместо классов только со статическими методами;
— и как сглаживать глубокие иерархии наследования.

#видео #ооп

Читать полностью…

Zen of Python

Тут что-то на эльфийском

Читать полностью…

Zen of Python

Простыми словами: Структуры данных в Python

Мы немного забежали вперёд и уже разобрали две популярных структуры данных — BST и B-Tree. Но давайте немного откатимся назад и кратко разберём какие вообще структуры данных используются в Python помимо деревьев и чем они отличаются.

1. Списки (Lists)
Списки — это упорядоченные изменяемые коллекции, которые могут содержать элементы любого типа. Они поддерживают произвольный доступ по индексу и предоставляют множество встроенных методов для манипуляции элементами.

my_list = [1, 2, 3, "hello", 4.5]


2. Кортежи (Tuples)
Кортежи — это упорядоченные неизменяемые коллекции. После создания их элементы нельзя изменить. Кортежи полезны для хранения объектов, которые не должны изменяться в ходе выполнения программы.

my_tuple = (1, 2, 3, "hello", 4.5)


3. Словари (Dictionaries)
Словари — это неупорядоченные коллекции пар ключ-значение. Они позволяют быстро находить значение по ключу и часто используются для представления разреженных данных или объектов с именованными полями.

my_dict = {"name": "Alice", "age": 25, "city": "New York"}


4. Множества (Sets)
Множества — это неупорядоченные коллекции уникальных элементов. Они поддерживают операции над множествами, такие как объединение, пересечение и разность, и полезны для быстрого удаления дублирующихся элементов из коллекций.

my_set = {1, 2, 3, 4, 5}


5. Очереди (Queues)
Очереди обеспечивают порядок очередности элементов «первым пришел — первым вышел» (FIFO). В Python можно использовать модуль collections.deque для эффективного выполнения операций на концах очереди.

from collections import deque
my_queue = deque([1, 2, 3, 4, 5])
my_queue.append(6)
my_queue.popleft()


6. Стек (Stacks)
Стек обеспечивает порядок «последним пришел — первым вышел» (LIFO). В Python стек можно реализовать с помощью списка, используя методы append() и pop().

my_stack = [1, 2, 3, 4, 5]
my_stack.append(6)
my_stack.pop()


7. Двусвязные списки (Linked Lists)
Двусвязные списки состоят из узлов, каждый из которых содержит значение и ссылки на следующий и предыдущий узлы. Они обеспечивают эффективное добавление и удаление элементов, но требуют больше памяти, чем массивы.

class Node:
def __init__(self, data):
self.data = data
self.next = None
self.prev = None

class DoublyLinkedList:
def __init__(self):
self.head = None


8. Деревья (Trees)
Деревья используются для представления иерархических данных. Один из популярных видов деревьев — бинарное дерево поиска (BST), где каждый узел имеет не более двух детей, а левое поддерево содержит значения меньше родительского узла, правое — больше.

class TreeNode:
def __init__(self, value):
self.value = value
self.left = None
self.right = None


9. Графы (Graphs)
Графы состоят из узлов и ребер, связывающих их. Они используются для представления сетевых структур, таких как социальные сети, маршруты в транспорте и т.д. В Python графы можно реализовать с помощью словарей или использовать библиотеки, такие как NetworkX.

# Пример простого графа с использованием словаря
graph = {
'A': ['B', 'C'],
'B': ['A', 'D', 'E'],
'C': ['A', 'F'],
'D': ['B'],
'E': ['B', 'F'],
'F': ['C', 'E']
}


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

Про что ещё рассказать в рубрике простыми словами или какую тему разобрать подробнее? Напишите в комментарии

#простымисловами #структурыданных

Читать полностью…

Zen of Python

Old but gold: Два простых способа преобразовать файл Python в EXE-файл

Если вы написали программу и хотите, чтобы ею могли пользоваться не только разработчики, но и простые пользователи, то стоит оформить её в удобном формате — сделать интерфейс и преобразовать файлы .exe, чтобы программу было удобно установить. Вот именно о последнем и пойдёт речь в этой статье.

Здесь вы узнаете, в каких случаях пригодится такое преобразование и как его можно сделать различными способами:

https://www.datacamp.com/tutorial/two-simple-methods-to-convert-a-python-file-to-an-exe-file

Читать полностью…

Zen of Python

«Если сотрудник начал проситься в отпуск, то проще уже усыпить и завести нового»

Взято из флудильни

Читать полностью…

Zen of Python

Мини-гайд по отправке сообщений из Google Таблицы или базы данных с Python

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

Читать полностью…

Zen of Python

Вышла Visual Studio Code 1.93

И это отличная новость, ведь теперь там есть поддержка профилей, если вам нужны разные конфигурации под различные задачи, а также улучшена поддержка Python. Наконец-то питонисты смогут по полной использовать этот редактор кода.

Подробнее о нововведениях в нашей статье.

#новости #vscode

Читать полностью…

Zen of Python

Гайд по обработке данных с помощью Pandas

Отличное руководство для новичков и тех, кто постоянно работает с Pandas. В статье досконально описаны стандартные методы фильтрации, объединения, приведения типов и другие операции, но даже для гуру найдётся пара новых приёмов. Вау-эффект гарантирован.

#гайд #pandas

Читать полностью…

Zen of Python

Забирайте бесплатный курс по Python от института биоинформатики

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

Начать бесплатно можно по ссылке.

#курс

Читать полностью…

Zen of Python

Никто:

Я, написавший «Hello, World» на Python жду оффер на 150к:

Читать полностью…

Zen of Python

Что такое docstring в Python

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

#видео

Читать полностью…

Zen of Python

Stealth-Requests — библиотека для анонимного скреппинга веб-страниц

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

С помощью этой библиотеки вы сможете добиться желаемого результата благодаря возможности синтаксического анализа, реалистичным HTTP-запросам и маскировки TLS-отпечатков.

Более подробно обо всех возможностях можно прочитать на странице проекта.

#инструменты #веб

Читать полностью…

Zen of Python

«База данных» в гугл таблицах для телеграм-бота

Практически все боты используют какое-нибудь хранилище информации. Чаще всего применяются базы данных, но иногда их использование может быть избыточным, особенно если вам не нужны ACID-транзакции и есть желание менять данные руками в максимально простом интерфейсе.

В таком случае можно воспользоваться простыми google-таблицами. Как именно, рассказали в статье.

#telegram #google

Читать полностью…

Zen of Python

Интересно, гуру чего он в итоге стал спустя 8 лет

Читать полностью…

Zen of Python

Сколько времени нужно, чтобы освоить Python?

Согласно исследованию «Factors Affecting Students' Attitudes toward Computer Programming», проведённому в 2019 году в Vilnius University, освоение поделили на три стадии:

1. Базовое понимание. С постоянными усилиями и структурированным планом обучения вы можете приобрести базовое понимание синтаксиса Python и основных концепций в течение 3-4 недель. В этом этапе обычно изучаются переменные, типы данных, условные операторы, циклы, функции.

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

3. Продвинутые навыки могут занять несколько лет работы над реальными проектами. На этом этапе вы углубляетесь в конкретные области, такие как веб-разработка, анализ данных, научные вычисления, машинное обучение или другие специализированные области. Это тоже требует практики.

А на каком этапе вы?

❤️ — в самом начале пути
🤯 — второй этап, инфа сотка
🗿 — я в своём сознании настолько преисполнился, что мне этот Python абсолютно понятен


#советы

Читать полностью…

Zen of Python

Пора перестать использовать Python 3.8

По состоянию на сентябрь 2024, около 14% пакетов, загруженных из PyPI, были для Python 3.8. А это примерно 250 миллионов пакетов в день.

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

https://pythonspeed.com/articles/stop-using-python-3.8/

Читать полностью…

Zen of Python

Создание фуллстек-приложения с помощью Django, Vue.js и Flowbite

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

В этом руководстве вы увидите, как настроить эти инструменты и создать с помощью них первый проект:

https://chesda.hashnode.dev/django-vue-flowbite

#django #vue #веб

Читать полностью…

Zen of Python

Разбор паттерна Singleton в Python

Singleton (Одиночка) — это шаблон предоставления глобального доступа к состоянию, который гарантирует, что объект всегда будет один и тот же. Это один из первых паттернов, которые изучают разработчики.

В этом видео вы сможете разобраться в том, как именно он работает и для чего нужен. А также узнаете о Monostate.

#паттерны #singleton #видео

Читать полностью…

Zen of Python

Большой каталог шпаргалок на все случаи жизни

Ловите репозиторий, где собраны более 30 шпаргалок на разные темы. Здесь найдут подсказки сетевики, фронтендеры, бэкендеры, линуксоиды и пользователи windows.

Если вам чего-то не хватило, то вы можете предложить свою шпаргалку в качестве контрибьютора.

#шпаргалки

Читать полностью…

Zen of Python

Click — удобный инструмент для создания CLI на Python

Если вам нужно создать интерфейс командной строки для вашего проекта, то этот пакет позволит сделать это максимально просто.

Инструмент бесплатный и с отличной документацией: https://click.palletsprojects.com/en/8.1.x/

#инструменты #библиотека #cli

Читать полностью…

Zen of Python

256 попугаев дней с начала года прошли!

А это значит, что наступил День программиста! Мы с друзьями приготовили для вас небольшой сюрприз. Переходите по ссылке и трясите коробку, чтобы забрать его: https://tprg.ru/aKie

Делитесь в комментариях, что вам выпало.

Читать полностью…

Zen of Python

Вы всё ещё логируете через f-string? Тогда мы идём к вам

В этом видео вы узнаете об основной особенности логирования в Python, связанной с рендером строк. Вы изучите основные особенности стандартной Python библиотеки logging и получите «best practices» промышленного логирования.

После такого f-string, конечно, останутся в вашем арсенале. Но вот захотите ли вы их использовать также часто, как раньше?

#видео #основы #bestpractices

Читать полностью…

Zen of Python

Простыми словами: B-дерево

В прошлом посте я рассказывал про бинарное дерево поиска. Теперь давайте разберём ещё одну популярную структуру данных.

B-дерево (B-tree) — это самобалансирующаяся структура данных, которая хранит данные в отсортированном виде, позволяя эффективно выполнять операции поиска, вставки и удаления. B-деревья часто используются в системах хранения данных, таких как базы данных и файловые системы, благодаря своей способности справляться с большими объемами данных и минимизировать количество операций чтения/записи на диске.

Структура B-дерева выглядит следующим образом:

1. Корень дерева: он содержит указатели на свои дочерние узлы.
2. Внутренние узлы: эти узлы содержат ключи и указатели на другие узлы дерева.
3. Листовые узлы: узлы на самом нижнем уровне дерева, которые содержат сами данные или указывают на них.

//пример бинарного дерева

[10, 20]
/ | \
[1, 2, 5] [15, 18] [25, 30, 35]


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

Как я уже сказал, B-tree похожа на BST, но имеет ряд ключевых отличий:

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

Балансировка:
BST: Может стать несбалансированным, что приводит к увеличению высоты дерева и замедляет операции поиска.
B-tree: Остается сбалансированным благодаря встроенному механизму балансировки при вставке и удалении элементов.

Высота дерева:
BST: Может быть оправдано большой, так как каждый узел содержит только один ключ.
B-tree: Значительно меньше и площе, благодаря множеству ключей в одном узле.

Производительность при работе с большими данными:
BST: Из-за потенциально большой высоты дерева может потребоваться множество операций для поиска элемента.
B-tree: Более плоская структура минимизирует количество операций ввода-вывода, что особенно полезно при работе с внешней памятью и большими объемами данных.

В связи с этим можно выделить следующие преимущества B-дерева:
1. Более оптимизированное хранение больших объемов данных.
2. Автоматическая балансировка.
3. Эффективный доступ к данным благодаря низкой высоте дерева и множеству ключей в узлах.

Но где же применяется такая структура данных? Вот несколько примеров:

1. Базы данных. B-деревья широко используются в реляционных базах данных (MySQL, PostgreSQL) для реализации индексов, что позволяет эффективно выполнять операции поиска, вставки и удаления данных.
2. Файловые системы. Файловые системы, такие как NTFS и ext4, используют B-деревья для организации и управления файлами на диске, обеспечивая быструю навигацию и доступ.
Кэширование данных : Используются для быстрого доступа к часто запрашиваемым данным, улучшая производительность приложений.

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

#простымисловами #структураданных #btree

Читать полностью…
Subscribe to a channel