Channel: Zen of Python
Из жизни админа. Вечно эта строка сессии TG отваливается...
У кого было? Поделитесь в комментариях.
#кек
@zen_of_python
У кого было? Поделитесь в комментариях.
#кек
@zen_of_python
😁3
Логики, которые помогли создать программирование @7LlfE05
Даже у понятий «переменная» и «функция» есть своя докомпьютерная история. Рекурсивная модель Гильберта сыграла ключевую роль в формировании основ программирования. Благодаря ей мы, пускай бессознательно, придаем переменным роль подлежащего, а функциям — роль сказуемого в своем коде. Между Python-языком и русским языком больше общего, чем кажется.
#факт
@zen_of_python
Даже у понятий «переменная» и «функция» есть своя докомпьютерная история. Рекурсивная модель Гильберта сыграла ключевую роль в формировании основ программирования. Благодаря ей мы, пускай бессознательно, придаем переменным роль подлежащего, а функциям — роль сказуемого в своем коде. Между Python-языком и русским языком больше общего, чем кажется.
#факт
@zen_of_python
👍5🆒4
This media is not supported in your browser
VIEW IN TELEGRAM
tach | Древо зависимостей проекта наглядно
Если для вашего растущего проекта стало важно отслеживать, на каких инструментах он зиждится, эта опенсорсная утилита поможет:
— построить крутой наглядный граф зависимостей;
— почистить от лишнего быстрее, чем руками и многое другое.
Воистину прекрасный способ познать свой проект на глубинном уровне и предотвратить проблемы при сборке в будущем. Быстродейственный, потому что на Rust.
Цена: бесплатно
Репозиторий проекта
⚡ — бывало, лазил так глубоко
🗿 — если проект с GitHub не собирается, просто ищу следующий
#инструмент
@zen_of_python
Если для вашего растущего проекта стало важно отслеживать, на каких инструментах он зиждится, эта опенсорсная утилита поможет:
— построить крутой наглядный граф зависимостей;
— почистить от лишнего быстрее, чем руками и многое другое.
Воистину прекрасный способ познать свой проект на глубинном уровне и предотвратить проблемы при сборке в будущем. Быстродейственный, потому что на Rust.
Цена: бесплатно
Репозиторий проекта
⚡ — бывало, лазил так глубоко
🗿 — если проект с GitHub не собирается, просто ищу следующий
#инструмент
@zen_of_python
👍6
Помните про ускорение Python на 30%?
Недавно за счет tail-calls оптимизировали C-компилятор, который помогает вашему питоническому коду работать быстрее.
Один весьма кропотливый разработчик задизайнил несколько экспериментов, чтобы оценить этот столь долгожданный прирост производительности. Статья хардкорная и новичкам будет особенным испытанием (впрочем, всегда можно попросить нейронку ее резюмировать / упростить).
Хоть в рамках его опытов производительность увеличилась на 10-15%, и была двойственность в интерпретации результатов, он все равно настаивает на повышенной надежности нового C-компилятора.
#факт
@zen_of_python
Недавно за счет tail-calls оптимизировали C-компилятор, который помогает вашему питоническому коду работать быстрее.
Один весьма кропотливый разработчик задизайнил несколько экспериментов, чтобы оценить этот столь долгожданный прирост производительности. Статья хардкорная и новичкам будет особенным испытанием (впрочем, всегда можно попросить нейронку ее резюмировать / упростить).
Хоть в рамках его опытов производительность увеличилась на 10-15%, и была двойственность в интерпретации результатов, он все равно настаивает на повышенной надежности нового C-компилятора.
#факт
@zen_of_python
👍5
1 апреля в этом канале розыгрышей не будет
Редакция просто оставляет вам здесь подборку Pythonic-мемов, которые подписчики щедрее всего одарили лайками за последнее время.
Чистое наслаждение настоящего питониста
#кек
@zen_of_python
Редакция просто оставляет вам здесь подборку Pythonic-мемов, которые подписчики щедрее всего одарили лайками за последнее время.
Чистое наслаждение настоящего питониста
#кек
@zen_of_python
❤6😁4👍1
Вопрос подписчика
Задает @levisserena:
Всем привет. Помогите разобраться с TypeVar
Один из соразработчиков указал что-то типа того (упрощу, но не всё, чтоб картина была):
Вопрос к строке result = await session.execute(select(self.model).where(self.model.id == obj_id)), а точнее к self.model.id.
Линтер подчеркивает это self.model.id, мол нет у него атрибута id ("type[ModelType]" has no attribute "id").
Как быть? Есть ли способ, обойтись малой кровью, и указать, что id или любой другой атрибут есть? Ну или как это делать по правильному.
NB! Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике.
#обсуждение
@zen_of_python
Задает @levisserena:
Всем привет. Помогите разобраться с TypeVar
Один из соразработчиков указал что-то типа того (упрощу, но не всё, чтоб картина была):
from typing import TypeVar
from uuid import UUID
from sqlalchemy.ext.asyncio import AsyncSession
ModelType = TypeVar('ModelType')
class CRUDBase(Generic[ModelType]):
def __init__(self, model: Type[ModelType]):
"""
Инициализирует CRUD-класс с указанной моделью.
Параметры:
model: SQLAlchemy-модель (класс), связанный с таблицей в БД.
"""
self.model = model
async def get(self, session: AsyncSession, obj_id: int | str | UUID) -> ModelType | None:
"""
Получает объект по ID (int, str или UUID).
Возвращает объект модели или None, если он не найден.
"""
result = await session.execute(select(self.model).where(self.model.id == obj_id))
return result.scalars().first()
Вопрос к строке result = await session.execute(select(self.model).where(self.model.id == obj_id)), а точнее к self.model.id.
Линтер подчеркивает это self.model.id, мол нет у него атрибута id ("type[ModelType]" has no attribute "id").
Как быть? Есть ли способ, обойтись малой кровью, и указать, что id или любой другой атрибут есть? Ну или как это делать по правильному.
NB! Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике.
#обсуждение
@zen_of_python
Квиз про while
Небольшая англоязычная викторина на 11 вопросов про цикл «пока [условие выполняется]». Самое оно для подготовки к собеседованию или раскачке новичка.
Подготовиться к тесту можно с помощью статьи.
#квиз
@zen_of_python
Небольшая англоязычная викторина на 11 вопросов про цикл «пока [условие выполняется]». Самое оно для подготовки к собеседованию или раскачке новичка.
Подготовиться к тесту можно с помощью статьи.
#квиз
@zen_of_python
Готовимся к собесу
В репозитории собрали вопросы + ответы оптимального объема на русском для собеседований:
— Основы Python: Вопросы о синтаксисе, типах данных, управлении потоком и функциях.
— Структуры данных: Вопросы о списках, кортежах, множествах и словарях.
— ООП (Объектно-Ориентированное Программирование): Вопросы о классах, наследовании и полиморфизме.
— Исключения и обработка ошибок: Вопросы о том, как обрабатывать исключения и создавать собственные исключения.
— Модули и пакеты: Вопросы о работе с модулями, импортом и созданием пакетов.
— Алгоритмы и структуры данных: Вопросы о сортировке, поиске и других алгоритмах.
#основы
@zen_of_python
В репозитории собрали вопросы + ответы оптимального объема на русском для собеседований:
— Основы Python: Вопросы о синтаксисе, типах данных, управлении потоком и функциях.
— Структуры данных: Вопросы о списках, кортежах, множествах и словарях.
— ООП (Объектно-Ориентированное Программирование): Вопросы о классах, наследовании и полиморфизме.
— Исключения и обработка ошибок: Вопросы о том, как обрабатывать исключения и создавать собственные исключения.
— Модули и пакеты: Вопросы о работе с модулями, импортом и созданием пакетов.
— Алгоритмы и структуры данных: Вопросы о сортировке, поиске и других алгоритмах.
#основы
@zen_of_python
mpl_ascii | Графики на ASCII
Если вы вынуждены работать со средой без картинок, эта библиотека позволяет рендерить сложные чарты Matplotlib целиком из символов. Старший брат ASCII-графики, которую мы все так любим.
Цена: бесплатно
Репозиторий проекта
#инструмент
@zen_of_python
Если вы вынуждены работать со средой без картинок, эта библиотека позволяет рендерить сложные чарты Matplotlib целиком из символов. Старший брат ASCII-графики, которую мы все так любим.
Цена: бесплатно
Репозиторий проекта
#инструмент
@zen_of_python
🔥3❤1
HTML Embed Code: