🐍 Совет для Django-разработчиков: избегайте бесполезного использования .all()
Когда вы пишете запрос в Django ORM, важно понимать, как работают QuerySet. Например, если у вас есть такой код:
Использование .all() здесь лишнее. Эквивалентный код без него будет выглядеть так:
Почему? Дело в том, что менеджер Digger.objects уже ссылается на все объекты модели Digger. Вызов .filter() создаёт QuerySet с применённым фильтром. Добавление .all() лишь создает лишнюю копию QuerySet между этими шагами.
О том, когда применять .all() всё-таки нужно, читайте в статье 👈
Когда вы пишете запрос в Django ORM, важно понимать, как работают QuerySet. Например, если у вас есть такой код:
Digger.objects.all().filter(height_cm__gt=200)
Использование .all() здесь лишнее. Эквивалентный код без него будет выглядеть так:
Digger.objects.filter(height_cm__gt=200)
Почему? Дело в том, что менеджер Digger.objects уже ссылается на все объекты модели Digger. Вызов .filter() создаёт QuerySet с применённым фильтром. Добавление .all() лишь создает лишнюю копию QuerySet между этими шагами.
О том, когда применять .all() всё-таки нужно, читайте в статье 👈
❤16❤🔥1👾1
🐍🧑💻 Подборка популярных Python-библиотек (но вдруг вы ещё про них не слышали?)
🔹 BeautifulSoup
Библиотека упрощает извлечение данных из веб-страниц, обеспечивая методы для навигации по дереву документа и поиска элементов.
🔹 Pillow
Позволяет выполнять различные операции с изображениями, такие как открытие, обработка, создание, преобразование и сохранение изображений в разных форматах (например, JPEG, PNG, GIF и др.).
🔹 Pydantic
Эта библиотека предназначена для валидации данных в Python с использованием аннотаций типов.
🔹 Tkinter
Это инструмент для создания приложений с графическим интерфейсом пользователя.
🔹 attrs
Облегчает создание классов с автоматической генерацией методов, таких как __init__, __repr__, __eq__ и других. Она поддерживает строгую типизацию, валидацию данных, а также позволяет легко создавать неизменяемые и сериализуемые объекты.
🔹 BeautifulSoup
Библиотека упрощает извлечение данных из веб-страниц, обеспечивая методы для навигации по дереву документа и поиска элементов.
🔹 Pillow
Позволяет выполнять различные операции с изображениями, такие как открытие, обработка, создание, преобразование и сохранение изображений в разных форматах (например, JPEG, PNG, GIF и др.).
🔹 Pydantic
Эта библиотека предназначена для валидации данных в Python с использованием аннотаций типов.
🔹 Tkinter
Это инструмент для создания приложений с графическим интерфейсом пользователя.
🔹 attrs
Облегчает создание классов с автоматической генерацией методов, таких как __init__, __repr__, __eq__ и других. Она поддерживает строгую типизацию, валидацию данных, а также позволяет легко создавать неизменяемые и сериализуемые объекты.
❤8👍5👏5
Что выведет код с картинки выше?
Anonymous Quiz
15%
[[0, 2, 3], [0, 2, 3, 4]]
37%
[[0, 2, 3, 4], [0, 2, 3, 4]]
40%
[[0, 2, 3], [1, 2, 3, 4]]
9%
[[0, 2, 3, 4], [1, 2, 3, 4]]
👍19👏10😁4
Forwarded from Азбука айтишника
Python — это мощный инструмент для специалистов в области Data Science, который предлагает широкий спектр возможностей для анализа данных, визуализации и разработки моделей машинного обучения. Благодаря простоте, богатой экосистеме библиотек и активному сообществу, Python остаётся главным выбором для анализа данных и создания решений, основанных на искусственном интеллекте.
Огромное количество библиотек
Python обладает множеством библиотек, специально созданных для анализа данных и машинного обучения:
Установка библиотек:
Используйте менеджер пакетов pip, чтобы установить необходимые библиотеки. Например:
pip install pandas numpy matplotlib seaborn scikit-learn
Работа с данными:
Используйте библиотеки Pandas и NumPy для загрузки, обработки и анализа данных. Например, для загрузки данных из CSV-файла:
import pandas as pd
# Загрузка данных
df = pd.read_csv('data.csv')
# Просмотр первых 5 строк
print(df.head())
#база
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4
🪄 Самые простые магические методы в Python🪄
Допустим, вы проделываете такую операцию:
Когда Python выполняет этот код, для x вызывается метод add:
add — лишь один из магических методов, которые есть в языке. Они позволяют использовать встроенные операции с объектами, такие как сложение, вычитание, сравнение и даже преобразование объектов в строки. Иными словами, магические методы помогают нам определить специальное поведение для объектов.
Вот ещё несколько примеров:
👆Обратите внимание, что магические методы всегда записываются с двумя подчёркиваниями.
#основы
Допустим, вы проделываете такую операцию:
x = 2y = 3x + y
Когда Python выполняет этот код, для x вызывается метод add:
x.__add__(y)
add — лишь один из магических методов, которые есть в языке. Они позволяют использовать встроенные операции с объектами, такие как сложение, вычитание, сравнение и даже преобразование объектов в строки. Иными словами, магические методы помогают нам определить специальное поведение для объектов.
Вот ещё несколько примеров:
numbers = [2, 1, 3, 4, 7]numbers.__len__() # выведет 5, так как считает длину последовательностиnumbers.__getitem__(0) # выведет 2, так как это первый элемент последовательности
👆Обратите внимание, что магические методы всегда записываются с двумя подчёркиваниями.
#основы
😁9👍8❤5🔥1👾1
Media is too big
VIEW IN TELEGRAM
Деврел из Ostrovok.ru рассказывает, как (а главное, зачем) команда написала собственный фреймворк поверх Django и какие выводы из этого сделала.
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱8👍3🔥1
🧑💻 Pyppeteer — библиотека для управления браузером
Это неофициальный порт известного JavaScript API для Chrome и Firefox. Позволяет:
▪️делать скриншоты веб-страниц;
▪️открывать новые вкладки и переходить на страницы;
▪️скроллить и взаимодействовать с динамическими элементами на странице.
🔗 Ссылка на репозиторий Pyppeteer
Это неофициальный порт известного JavaScript API для Chrome и Firefox. Позволяет:
▪️делать скриншоты веб-страниц;
▪️открывать новые вкладки и переходить на страницы;
▪️скроллить и взаимодействовать с динамическими элементами на странице.
🔗 Ссылка на репозиторий Pyppeteer
👍13❤6
Привет, друзья! 👋
Мы готовим статью о самых странных и уникальных дистрибутивах Linux, и нам нужно ваше мнение! 🤔💬
1️⃣ Какой самый необычный дистрибутив Linux вы когда-либо пробовали? Почему он вас удивил?
2️⃣ Есть ли у вас советы для новичков, которые только начинают работать с Linux? 🐧✨
Поделитесь своими идеями в комментариях! Самые интересные идеи и предложения мы обязательно включим в нашу статью. Спасибо за участие! 🙌
Мы готовим статью о самых странных и уникальных дистрибутивах Linux, и нам нужно ваше мнение! 🤔💬
1️⃣ Какой самый необычный дистрибутив Linux вы когда-либо пробовали? Почему он вас удивил?
2️⃣ Есть ли у вас советы для новичков, которые только начинают работать с Linux? 🐧✨
Поделитесь своими идеями в комментариях! Самые интересные идеи и предложения мы обязательно включим в нашу статью. Спасибо за участие! 🙌
🔥3
🐍 Проблемы вызова Python кода из C кода
Это статья на «Хабре» для тех, кто не пугается хардкора. Автор, опенсорс разработчик и core-разработчик CPython, рассказывает о следующей проблеме:
⚠️ При вызове Python может резко и внезапно поменять стейт всего кода на C. Часто это приводит к
О том, как вообще можно вызвать Python код из C и почему происходят трудности, читайте в статье 👈
Это статья на «Хабре» для тех, кто не пугается хардкора. Автор, опенсорс разработчик и core-разработчик CPython, рассказывает о следующей проблеме:
⚠️ При вызове Python может резко и внезапно поменять стейт всего кода на C. Часто это приводит к
[1] 88503 segmentation fault python
.О том, как вообще можно вызвать Python код из C и почему происходят трудности, читайте в статье 👈
👏9👍3🔥3❤2🥱1
✨Гайд по встроенным функциям Python✨
👆На карточках сделали подборку некоторых встроенных функций Python, которые могут оказаться полезными в ваших проектах.
Целиком гайд можно посмотреть здесь 👈
👆На карточках сделали подборку некоторых встроенных функций Python, которые могут оказаться полезными в ваших проектах.
Целиком гайд можно посмотреть здесь 👈
👍14🔥2👏2
Построен на Requests и Beautifulsoup4. Основные особенности:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🤔4🥱4🔥1
🛠️ API-документация без головной боли: ТОП-11 инструментов
Ручное создание документации отнимает много времени и чревато ошибками. Представляем подборку инструментов, которые автоматизируют процесс и помогут вам сосредоточиться на разработке, а не на написании документации.
🔗 Читать статью
Ручное создание документации отнимает много времени и чревато ошибками. Представляем подборку инструментов, которые автоматизируют процесс и помогут вам сосредоточиться на разработке, а не на написании документации.
🔗 Читать статью
👍9❤3🥰2