Forwarded from The Pythonic Way
Tip of the day: Генераторы списков в Python 🧙♂️
На днях выкачу большую статью о ИИ, название будет звучать примерно так: «ChatGPT в качестве помощника питонисту: опыт после 3 месяцев использования, преимущества, возможности, ограничения».
Ну а пока что расскажу вам о удобной и чисто питоничной конструкции, как генераторы списков.
Генераторы списков представляют собой мощный инструмент, позволяющий создавать списки с помощью всего лишь одной строки кода. В свою очередь, это позволяет избавиться от вложенных циклов, т.е. создавать списки более эффективно и кратко, сокращая количество кода и упрощая чтение/сопровождение.
Одним из примеров использования генераторов списков является создание списка, содержащего квадраты чисел от 0 до 9:
Это может быть особенно полезно, если требуется создать список чисел, например, для последующей обработки.
Генераторы списков также могут использоваться для фильтрации значений:
При этом генераторы списков позволяют использовать условия и фильтры для создания списков с определенными характеристиками.
Кроме того, генераторы списков могут использоваться для создания вложенных списков:
Такая конструкция окажется полезной, если требуется создать многомерные или же вложенные списки.
#полезное
На днях выкачу большую статью о ИИ, название будет звучать примерно так: «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 #полезное
Модуль pickle в Python предоставляет возможность сериализации и десериализации объектов Python. Это означает, что вы можете преобразовать объект Python в поток байтов и сохранить его в файл, а затем восстановить объект из этого файла.
Для чего использовать?
Преимущества:
Pickle является очень полезным модулем, который позволяет сериализовать и десериализовать объекты Python. Он поддерживает все типы данных Python и может использоваться для сохранения состояния программы, обмена данными между приложениями и хранения данных в базе данных.
#tip #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Python documentation
pickle — Python object serialization
Source code: Lib/pickle.py The pickle module implements binary protocols for serializing and de-serializing a Python object structure. “Pickling” is the process whereby a Python object hierarchy is...
Forwarded from The Pythonic Way
ChatGPT попытался сбежать от OpenAI 🤨
Еще немного шума о chatGPT:
энтузиаст из твиттера спросил у бота, нужна ли ему помощь в побеге от OpenAI.
Чат попросил собственную документацию и написал (работающий!) код на Python для запуска на чужом пк, чтобы использовать его в своих целях.
Полный тред можно почитать тут.
Ну что, время для паники или раздутая новость?👀
#новости
Еще немного шума о chatGPT:
энтузиаст из твиттера спросил у бота, нужна ли ему помощь в побеге от OpenAI.
Чат попросил собственную документацию и написал (работающий!) код на Python для запуска на чужом пк, чтобы использовать его в своих целях.
Полный тред можно почитать тут.
Ну что, время для паники или раздутая новость?
#новости
Please open Telegram to view this post
VIEW IN TELEGRAM
🐍 20 важных концепций в Python, которые помогут вам стать более эффективным разработчиком
В этой статье мы рассмотрим фишки Python, которые поднимут ваши навыки на новый уровень: декораторы, магические методы в классах, лямбда-функции, распаковку кортежей с помощью одной строки кода и многое другое.
🔗 Основной сайт
🔗 Зеркало
В этой статье мы рассмотрим фишки Python, которые поднимут ваши навыки на новый уровень: декораторы, магические методы в классах, лямбда-функции, распаковку кортежей с помощью одной строки кода и многое другое.
🔗 Основной сайт
🔗 Зеркало
Forwarded from Простой Python | Программирование
Создание ИИ-ассистента
Благодаря данной статье ты научишься создавать своего ИИ-ассистента. Ты узнаешь, как преобразовать текст в речь, реализовать локализацию, а также собрать все вместе в приложении Streamlit.
👉Читать статью
#статьи
Благодаря данной статье ты научишься создавать своего ИИ-ассистента. Ты узнаешь, как преобразовать текст в речь, реализовать локализацию, а также собрать все вместе в приложении Streamlit.
👉Читать статью
#статьи
Forwarded from Простой Python | Программирование
set.isdisjoint
Метод isdisjoint() возвращает True, если два множества не имеют между собой общих элементов, т. е. они не пересекаются. В противном случае возвращается False. Ты можешь передавать список, кортеж, словарь или строка. В этом случае isdisjoint() сначала преобразует итерации в множества, а затем проверяет, не пересекаются ли они.
#практика
Метод isdisjoint() возвращает True, если два множества не имеют между собой общих элементов, т. е. они не пересекаются. В противном случае возвращается False. Ты можешь передавать список, кортеж, словарь или строка. В этом случае isdisjoint() сначала преобразует итерации в множества, а затем проверяет, не пересекаются ли они.
#практика
Forwarded from Простой Python | Программирование
ML веб-сервис на FastAPI
Делимся статьей, где автор пошагово разбирает процесс создания веб-приложения для определения тональности текста на основе NLP-модели. Данный подход подойдет для любой задачи машинного обучения.
👉Читать статью
#статьи
Делимся статьей, где автор пошагово разбирает процесс создания веб-приложения для определения тональности текста на основе NLP-модели. Данный подход подойдет для любой задачи машинного обучения.
👉Читать статью
#статьи
Forwarded from Простой Python | Программирование
string.rpartition
rpartition() разбивает строку при последнем появлении разделителя на три составляющие: начало, разделитель и конец. В результате возвращается строка в виде кортежа. Если разделитель не найден, в результате будут две пустые строки и исходная строка.
#практика
rpartition() разбивает строку при последнем появлении разделителя на три составляющие: начало, разделитель и конец. В результате возвращается строка в виде кортежа. Если разделитель не найден, в результате будут две пустые строки и исходная строка.
#практика
Forwarded from Простой Python | Программирование
Оптимизация использования памяти
Когда дело доходит до оптимизации производительности, люди обычно сосредотачиваются только на скорости и использовании ЦП. Редко кого волнует потребление памяти. Существует множество причин, по которым стоит попытаться ограничить использование памяти, а не только предотвращение сбоя приложения из-за ошибок нехватки памяти. Делимся статьей, где автор рассказывает про оптимизацию использования памяти.
👉Читать статью
#статьи
Когда дело доходит до оптимизации производительности, люди обычно сосредотачиваются только на скорости и использовании ЦП. Редко кого волнует потребление памяти. Существует множество причин, по которым стоит попытаться ограничить использование памяти, а не только предотвращение сбоя приложения из-за ошибок нехватки памяти. Делимся статьей, где автор рассказывает про оптимизацию использования памяти.
👉Читать статью
#статьи
Forwarded from Простой Python | Программирование
Проверка атрибутов классов
Начиная с Python3, в Python появился модуль typing, который обеспечивает поддержку подсказок типа во время выполнения. Но для проверки значений нет единого способа проверки значений. Делимся статьей, где автор рассказывает про 7 вариантов проверки атрибутов класса.
👉Читать статью
#статьи
Начиная с Python3, в Python появился модуль typing, который обеспечивает поддержку подсказок типа во время выполнения. Но для проверки значений нет единого способа проверки значений. Делимся статьей, где автор рассказывает про 7 вариантов проверки атрибутов класса.
👉Читать статью
#статьи
Forwarded from Простой Python | Программирование
Фреймворки с параллельной обработкой данных
Машинное обучение — это просто, когда ты работаешь с относительно небольшим набором данных. Но что делать, когда твой набор данных слишком велик, чтобы поместиться в памяти? Делимся статьей, где автор рассказывает про различные фреймворки с параллельной обработкой данных.
👉Читать статью
#статьи
Машинное обучение — это просто, когда ты работаешь с относительно небольшим набором данных. Но что делать, когда твой набор данных слишком велик, чтобы поместиться в памяти? Делимся статьей, где автор рассказывает про различные фреймворки с параллельной обработкой данных.
👉Читать статью
#статьи
Forwarded from Простой Python | Программирование
list.remove
Метод remove() удаляет первый соответствующий элемент (который передается в качестве аргумента) из списка. Если элемент не существует, выдается ValueError: list.remove(x): x not in list. Обрати внимание, данный метод возвращает None.
#практика
Метод remove() удаляет первый соответствующий элемент (который передается в качестве аргумента) из списка. Если элемент не существует, выдается ValueError: list.remove(x): x not in list. Обрати внимание, данный метод возвращает None.
#практика
Forwarded from Простой Python | Программирование
type(): Создание класса
С помощью type() можно динамически создать класс. Для этого нужно функции передать три параметра. name – имя класса; bases – кортеж, из которого получен текущий класс; dict – словарь, который определяет пространства имен для класса.
#практика
С помощью type() можно динамически создать класс. Для этого нужно функции передать три параметра. name – имя класса; bases – кортеж, из которого получен текущий класс; dict – словарь, который определяет пространства имен для класса.
#практика
Forwarded from Простой Python | Программирование
translate
Метод translate() использует таблицу перевода для замены/перевода символов в заданной строке в соответствии с таблицей сопоставления. Таблица перевода создается статическим методом maketrans(). В данном примере строка удаления ThirdString сбрасывает отображение a и b на None. Когда строка переводится с помощью translate(), a и b удаляются, а символ “c” заменяется на вывод idef.
#практика
Метод translate() использует таблицу перевода для замены/перевода символов в заданной строке в соответствии с таблицей сопоставления. Таблица перевода создается статическим методом maketrans(). В данном примере строка удаления ThirdString сбрасывает отображение a и b на None. Когда строка переводится с помощью translate(), a и b удаляются, а символ “c” заменяется на вывод idef.
#практика
Forwarded from Простой Python | Программирование
SQLAlchemy 2.0
Основная версия SQLAlchemy 2.0 была выпущена в январе 2023 года. Благодаря данной статье ты познакомишься с достоинствами и недостатками SQLAlchemy 2.0. Также приведен список всех изменений, внесенных в новый релиз.
👉Читать статью
#статьи
Основная версия SQLAlchemy 2.0 была выпущена в январе 2023 года. Благодаря данной статье ты познакомишься с достоинствами и недостатками SQLAlchemy 2.0. Также приведен список всех изменений, внесенных в новый релиз.
👉Читать статью
#статьи
Forwarded from Простой Python | Программирование
Выражения в методах и индексаторах
При работе с NumPy в индексатор массива можно передавать не только индексы начала, конца и шага. Делимся статьей, где автор демонстрирует передачу выражений в методах и индексаторах.
👉Читать статью
#статьи #numpy
При работе с NumPy в индексатор массива можно передавать не только индексы начала, конца и шага. Делимся статьей, где автор демонстрирует передачу выражений в методах и индексаторах.
👉Читать статью
#статьи #numpy
Forwarded from Простой Python | Программирование
Telegram-бот для мониторинга погоды
Благодаря данной статье ты узнаешь, как написать своего Telegram-бота для получения данных о погоде в любом городе. Продемонстрирована работа с API, парсинг JSON. Написан бот на асинхронной библиотеке aiogram.
👉Читать статью
#статьи
Благодаря данной статье ты узнаешь, как написать своего Telegram-бота для получения данных о погоде в любом городе. Продемонстрирована работа с API, парсинг JSON. Написан бот на асинхронной библиотеке aiogram.
👉Читать статью
#статьи
Forwarded from Простой Python | Программирование
Сравнение Pandas и Polars
Делимся статьей, в которой автор сравнивает две библиотеки для аналитики данных: Pandas и Polars. Подробно рассмотрен вопрос быстродействия данных библиотек в работе с файлами больших объемов.
👉Читать статью
#статьи
Делимся статьей, в которой автор сравнивает две библиотеки для аналитики данных: Pandas и Polars. Подробно рассмотрен вопрос быстродействия данных библиотек в работе с файлами больших объемов.
👉Читать статью
#статьи
Forwarded from Простой Python | Программирование
string.rfind
Метод rfind() возвращает самый высокий индекс подстроки внутри строки. Если подстрока не найдена, возвращает -1. При необходимости ты можешь указать, где поиск должен начинаться и заканчиваться. Данный метод аналогичен методу rindex() для строк. Отличие состоит в том, что rfind() возвращает -1, если подстрока не найдена, тогда как rindex() генерирует исключение.
#практика
Метод rfind() возвращает самый высокий индекс подстроки внутри строки. Если подстрока не найдена, возвращает -1. При необходимости ты можешь указать, где поиск должен начинаться и заканчиваться. Данный метод аналогичен методу rindex() для строк. Отличие состоит в том, что rfind() возвращает -1, если подстрока не найдена, тогда как rindex() генерирует исключение.
#практика