#python python... PYTHON 🔛 🚀
11 subscribers
914 photos
7 videos
158 files
1.54K links
Download Telegram
Forwarded from The Pythonic Way
Всем привет! 👋

Меня зовут Тимофей, я Python Engineer с опытом в 3+ года.
Впрочем, более подробно обо мне и о моем пути разработчика вы сможете узнать из этой статьи.

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

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

Давайте развиваться вместе!😏

#статья
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from The Pythonic Way
Как изучать Python для веб-разработки в 2023 году 🤷‍♂

Написал статью на Хабре о том, как изучать Python для веб-разработки.

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

Скорее, я хотел составить абстрактный план обучения, который сможет задать общий ориентир, а также будет коррелировать с роадмэпом вроде roadmap.sh, о котором я писал ранее.

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

#статья #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from The Pythonic Way
Tip of the day: Работа с @датаклассами в Python💻

Понимаю, что людям интересен разнообразный и полезный контент. В связи с этим, придумал для вас что-то вроде постоянной рубрики "Фишка дня". В таких постах буду максимально коротко рассказывать о фишках стандартной библиотеки питона и других инструментов. Начинаем!

Сегодня поговорим о такой полезной конструкции, как @датаклассы.

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

Можно выделить несколько преимуществ использования датаклассов:

Краткий синатксис: вам всего лишь нужно импортировать нужный декоратор и готово — можно пользоваться @dataclass

Автоматическое создание методов: датаклассы могут автоматически генерировать init, repr и другие специальные методы на основе атрибутов, определенных в классе.

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

Когда использовать?

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

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

#полезное #tip
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from The Pythonic Way
​​А вы знаете, чем отличается оператор == от is ?

Стартую экспериментальную рубрику, где буду показывать и объяснять интересные фишки Питона в виде викторины. Объяснение ответа через некоторое время буду скидывать в комментарии. Поехали!
Forwarded from The Pythonic Way
Tip of the day: Генераторы списков в Python 🧙‍♂️

На днях выкачу большую статью о ИИ, название будет звучать примерно так: «ChatGPT в качестве помощника питонисту: опыт после 3 месяцев использования, преимущества, возможности, ограничения».

Ну а пока что расскажу вам о удобной и чисто питоничной конструкции, как генераторы списков.

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

Одним из примеров использования генераторов списков является создание списка, содержащего квадраты чисел от 0 до 9:
squares = [x**2 for x in range(10)]

Этот код создаст список [0, 1, 4, 9, 16, 25, 36, 49, 64, 81].
Это может быть особенно полезно, если требуется создать список чисел, например, для последующей обработки.

Генераторы списков также могут использоваться для фильтрации значений:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [x for x in numbers if x % 2 == 0]

Этот код создаст список четных чисел: [2, 4, 6, 8, 10].
При этом генераторы списков позволяют использовать условия и фильтры для создания списков с определенными характеристиками.

Кроме того, генераторы списков могут использоваться для создания вложенных списков:
matrix = [[i+j for i in range(3)] for j in range(3)]

Этот код создаст матрицу 3х3: [[0, 1, 2], [1, 2, 3], [2, 3, 4]].
Такая конструкция окажется полезной, если требуется создать многомерные или же вложенные списки.

#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from The Pythonic Way
Модуль Pickle: простой и быстрый способ хранить ваши данные в Python 🥒

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

Для чего использовать?

🟢Обмен данными между приложениями: pickle может использоваться для передачи данных между различными приложениями Python. Например, вы можете сериализовать объект Python в поток байтов и отправить его по сети, а затем восстановить объект на другом компьютере.

🟢Хранение данных в базе данных: pickle может использоваться для хранения объектов Python в базе данных. Например, если вы хотите сохранить список объектов Python в базе данных, вы можете сериализовать каждый объект в поток байтов и сохранить его в базе данных.

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

🟠Простота использования: pickle очень прост в использовании. Вы можете сериализовать и десериализовать объекты Python всего лишь несколькими строками кода.

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

🟠Экономия времени: благодаря pickle, вы можете быстро и легко сохранить и восстановить состояние программы.

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

#tip #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from The Pythonic Way
ChatGPT попытался сбежать от OpenAI 🤨

Еще немного шума о chatGPT:
энтузиаст из твиттера спросил у бота, нужна ли ему помощь в побеге от OpenAI.

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

Полный тред можно почитать тут.

Ну что, время для паники или раздутая новость? 👀

#новости
Please open Telegram to view this post
VIEW IN TELEGRAM
200+ Python & Data Science Tips.pdf
55.2 MB
Нашли методичку по Python на все случаи жизни (Eng) - много полезного!

#материалы
🐍 20 важных концепций в Python, которые помогут вам стать более эффективным разработчиком

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

🔗 Основной сайт
🔗 Зеркало
Forwarded from Простой Python | Программирование
Создание ИИ-ассистента

Благодаря данной статье ты научишься создавать своего ИИ-ассистента. Ты узнаешь, как преобразовать текст в речь, реализовать локализацию, а также собрать все вместе в приложении Streamlit.

👉Читать статью

#статьи
Forwarded from Простой Python | Программирование
set.isdisjoint

Метод isdisjoint() возвращает True, если два множества не имеют между собой общих элементов, т. е. они не пересекаются. В противном случае возвращается False. Ты можешь передавать список, кортеж, словарь или строка. В этом случае isdisjoint() сначала преобразует итерации в множества, а затем проверяет, не пересекаются ли они.

#практика
Forwarded from Простой Python | Программирование
ML веб-сервис на FastAPI

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

👉Читать статью

#статьи
Forwarded from Простой Python | Программирование
string.rpartition

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

#практика
Forwarded from Простой Python | Программирование
Оптимизация использования памяти

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

👉Читать статью

#статьи
Forwarded from Простой Python | Программирование
Проверка атрибутов классов

Начиная с Python3, в Python появился модуль typing, который обеспечивает поддержку подсказок типа во время выполнения. Но для проверки значений нет единого способа проверки значений. Делимся статьей, где автор рассказывает про 7 вариантов проверки атрибутов класса.

👉Читать статью

#статьи
Forwarded from Простой Python | Программирование
Фреймворки с параллельной обработкой данных

Машинное обучение — это просто, когда ты работаешь с относительно небольшим набором данных. Но что делать, когда твой набор данных слишком велик, чтобы поместиться в памяти? Делимся статьей, где автор рассказывает про различные фреймворки с параллельной обработкой данных.

👉Читать статью

#статьи
Forwarded from Простой Python | Программирование
list.remove

Метод remove() удаляет первый соответствующий элемент (который передается в качестве аргумента) из списка. Если элемент не существует, выдается ValueError: list.remove(x): x not in list. Обрати внимание, данный метод возвращает None.

#практика
Forwarded from Простой Python | Программирование
type(): Создание класса

С помощью type() можно динамически создать класс. Для этого нужно функции передать три параметра. name – имя класса; bases – кортеж, из которого получен текущий класс; dict – словарь, который определяет пространства имен для класса.

#практика
Forwarded from Простой Python | Программирование
translate

Метод translate() использует таблицу перевода для замены/перевода символов в заданной строке в соответствии с таблицей сопоставления. Таблица перевода создается статическим методом maketrans(). В данном примере строка удаления ThirdString сбрасывает отображение a и b на None. Когда строка переводится с помощью translate(), a и b удаляются, а символ “c” заменяется на вывод idef.

#практика