Почему и когда был создан язык программирования Python?
Anonymous Quiz
11%
В 1985 году для университетского проекта по искусственному интеллекту.
14%
В 1995 году как лёгкая альтернатива Java для мобильных приложений.
13%
В 1991 году для разработки серверного ПО по заказу правительства.
62%
В 1989 году, чтобы развлечься во время рождественских каникул и создать простой язык.
❤5👍5😁5
🚨 Важное
— Phishing-атака на PyPI-пользователей — если вы публиковали пакеты на PyPI и указали email в metadata, остерегайтесь писем с темой
"[PyPI] Email verification"
от [email protected]
(заметили подмену — pyp**j**
, а не pyp**i**
).📦 Новые и заметные релизы
— llama-index 0.13.0 — интерфейс между LLM и вашими данными
— pip 25.2.0 — свежий апдейт пакетного менеджера
— keras 3.11.0 — глубокое обучение
— flax 0.11.0 — нейросети на JAX
— docutils 0.22.0 — генерация документации из reStructuredText
— trl 0.20.0 — обучение трансформеров с подкреплением
— narwhals 2.0.0 — совместимость Pandas, Polars и других DataFrame
— autogen 0.7.1 — фреймворк для агентного ИИ
— sse-starlette 3.0.0 — поддержка Server-Sent Events в Starlette
— lightning-utilities 0.15.0 — полезности для экосистемы PyTorch Lightning
— optree 0.17.0 — утилиты для PyTree-структур
🔥 Опыт других
— Парсим Авито без ограничений — создание кастомного парсера
— Старая оптимизация больше не работает — как изменения в Python ломают старые подходы
Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥2👍1
Forwarded from Библиотека задач по Data Science | тесты, код, задания
❤4😢1
ML/CV python backend разработчик — от 350 000 до 400 000 ₽, удалёнка
Python Backend Developer — от 250 000 ₽, удалёнка
Middle Python Developer — от 2800 до 3200 $, удалёнка
Senior System Engineer (Python / Golang) — от 400 000 до 460 000 ₽, удалёнка
Python разработчик — от 300 000 ₽, удалёнка
Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1😁1
🛠 How to: писать проще в Python без лишних классов
Классы — это хорошо, когда они действительно нужны. Но в Python часто можно обойтись без них, используя более простые и питоничные решения.
Вот как можно упростить ваш код:
🔹 Нужно просто хранить данные?
Используйте
🔹 Нужна утилита без состояния?
Пишите обычные функции:
🔹 Хотите сгруппировать настройки или константы?
Создайте модуль:
🔹 Храните простое состояние?
Используйте списки или словари:
🔹 Простая трансформация данных?
Пишите через list comprehension или
Или:
🔹 Работаете с конфигами или сериализацией?
Воспользуйтесь стандартными модулями:
▶️ Когда классы действительно полезны:
• если есть состояние + поведение
• если нужен шаблон для объектов
• если проект требует наследования или композиции
▶️ Пишите просто. Пишите по-Питони.
Класс — это не всегда решение.
Иногда достаточно функции, модуля или словаря.
▶️ Подробнее можно узнать в статье: https://clc.to/onD8-Q
Библиотека питониста #буст
Классы — это хорошо, когда они действительно нужны. Но в Python часто можно обойтись без них, используя более простые и питоничные решения.
Вот как можно упростить ваш код:
🔹 Нужно просто хранить данные?
Используйте
@dataclass
или namedtuple
:from dataclasses import dataclass
@dataclass
class Point:
x: int
y: int
p = Point(1, 2)
🔹 Нужна утилита без состояния?
Пишите обычные функции:
def add(a, b):
return a + b
🔹 Хотите сгруппировать настройки или константы?
Создайте модуль:
# config.py
HOST = 'localhost'
PORT = 8080'
# main.py
import config
print(config.HOST)
🔹 Храните простое состояние?
Используйте списки или словари:
inventory = []
inventory.append('apple')
🔹 Простая трансформация данных?
Пишите через list comprehension или
lambda
:result = [x * 2 for x in data]
Или:
transform = lambda data: [x * 2 for x in data]
🔹 Работаете с конфигами или сериализацией?
Воспользуйтесь стандартными модулями:
import json
config = {'host': 'localhost', 'port': 8080}
with open('config.json', 'w') as f:
json.dump(config, f)
• если есть состояние + поведение
• если нужен шаблон для объектов
• если проект требует наследования или композиции
Класс — это не всегда решение.
Иногда достаточно функции, модуля или словаря.
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍4😁2💯2🤔1🌚1
🤔 Зачем вообще понимать, как работает ML?
Сейчас многие просто запускают модельку в sklearn — и радуются точности 0.92.
Машинное обучение — это система, которую можно понять.
Если знаешь, что делает градиентный спуск, зачем нужен бустинг и как дерево принимает решения — ты не просто «запускаешь», ты управляешь моделью.
👉 Мы сделали курс, чтобы в это было реально въехать:
— без сложных формул;
— с интуитивными объяснениями;
— от простого к сложному.
Если хочешь перейти от «гуглю код» к «понимаю, как это работает» — ты по адресу!
❗Стартуем в сентябре — бронируй место на курсе уже сейчас
Сейчас многие просто запускают модельку в sklearn — и радуются точности 0.92.
Вроде всё работает… но почему?
А когда сломается — что делать?
Машинное обучение — это система, которую можно понять.
Если знаешь, что делает градиентный спуск, зачем нужен бустинг и как дерево принимает решения — ты не просто «запускаешь», ты управляешь моделью.
👉 Мы сделали курс, чтобы в это было реально въехать:
— без сложных формул;
— с интуитивными объяснениями;
— от простого к сложному.
Если хочешь перейти от «гуглю код» к «понимаю, как это работает» — ты по адресу!
❗Стартуем в сентябре — бронируй место на курсе уже сейчас
❤3👍1
🚚 Delivery Manager: кто это и зачем он нужен в IT
В каждой IT-компании есть деливери-менеджеры, но чётко объяснить, чем они занимаются, может далеко не каждый. Они не совсем проектные менеджеры, не совсем тимлиды — но без них всё разваливается.
➡️ Это не стартовая позиция, но очень востребованная — особенно в зрелых компаниях и крупных проектах.
🔗 Читайте статью, чтобы понять, стоит ли вам двигаться в эту сторону: https://proglib.io/sh/9qwbeKQ0dV
Библиотека питониста #буст
В каждой IT-компании есть деливери-менеджеры, но чётко объяснить, чем они занимаются, может далеко не каждый. Они не совсем проектные менеджеры, не совсем тимлиды — но без них всё разваливается.
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2
🎯 Команда дня: вложенные функции в Python
Python позволяет определять функции *внутри* других. Зачем? Чтобы передавать поведение, создавать замыкания, делать partial-функции и, конечно, писать декораторы.
✅ Вложенные функции = функции внутри функций
🚩 Внутренняя
✅ Функция возвращает функцию
🚩
✅ Создаём функции с «настроенным поведением»
🚩 Мы создали «фабрику» функций.
✅ Своя версия partial-функции
🚩 Мы зафиксировали аргумент
✅ Декораторы работают точно так же
🚩
Что нужно запомнить:
✔️ Вложенные функции — удобный способ передавать и «запоминать» контекст
✔️ Замыкание — функция несёт с собой значения переменных
✔️ partial и декораторы — мощные приёмы, основанные на этих идеях
Библиотека питониста #буст
Python позволяет определять функции *внутри* других. Зачем? Чтобы передавать поведение, создавать замыкания, делать partial-функции и, конечно, писать декораторы.
def greet_me(name="друг"):
def greet():
print("Привет,", name)
greet()
greet()
знает о name
, потому что захватила его из внешней функции. Это и есть замыкание — функция «помнит» переменные.def greet_me(name):
def greet():
print("Привет,", name)
return greet
greet_ivan = greet_me("Иван")
greet_ivan() # Привет, Иван
greet_ivan
— это не результат, а сама функция! Причём она «помнит», что name = Иван
. Удобно, если нужно повторно вызывать с теми же параметрами.def make_adder(x):
def add(y):
return x + y
return add
add5 = make_adder(5)
add5(10) # ➡️ 15
add5
— это функция, которая всегда добавляет 5. Можно так же легко сделать add10
, add100
и т.д.def partial(func, *args, **kwargs):
def new_func(*a, **kw):
return func(*args, *a, **kwargs, **kw)
return new_func
bin_to_int = partial(int, base=2)
bin_to_int("1101") # ➡️ 13
base=2
и получили удобную функцию bin_to_int()
, которая всегда читает двоичное число. Быстро и понятно!def log(func):
def wrapper(*args, **kwargs):
print("Вызов", args, kwargs)
result = func(*args, **kwargs)
print("Результат", result)
return result
return wrapper
log
— это функция, которая возвращает функцию-обёртку. Эта обёртка добавляет логирование вокруг вызова оригинальной функции. Никакой магии — только вложенные функции и замыкание.Что нужно запомнить:
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍5🔥3😁3
NameError
, TypeError
, SyntaxError
и т. д.).print()
до и после участков, вызывающих сомнения.print(f"{переменная = }")
.print()
или заменяйте на logging
.breakpoint()
для остановки выполнения.n
— выполнить следующую строку (next)s
— перейти внутрь функции (step)c
— продолжить выполнение (continue)p переменная
— вывести значение переменнойunittest
или pytest
).python -m unittest
или pytest
.Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4🔥3🤩2🥱1
🫣 Боитесь математики в ML?
Думаете, для этого нужно вспоминать университетские интегралы и решать сложные уравнения?
У нас хорошая новость: машинное обучение — это в первую очередь инженерная практика, а не математическая олимпиада. Здесь важнее понимать суть, а не выводить формулы.
Именно на таком подходе — через логику, интуицию и наглядные примеры — и построен наш курс «ML для старта в Data Science», где мы объясняем всё на пальцах, без боли и зубрёжки.
Регистрируйтесь, пока есть свободные места 😉
Думаете, для этого нужно вспоминать университетские интегралы и решать сложные уравнения?
У нас хорошая новость: машинное обучение — это в первую очередь инженерная практика, а не математическая олимпиада. Здесь важнее понимать суть, а не выводить формулы.
Именно на таком подходе — через логику, интуицию и наглядные примеры — и построен наш курс «ML для старта в Data Science», где мы объясняем всё на пальцах, без боли и зубрёжки.
Регистрируйтесь, пока есть свободные места 😉
Один из наших подписчиков поделился мыслями после пары месяцев использования uv:
Вроде всё классно… но я всё ещё сомневался, зачем он мне лично.
В целом, инструмент делает именно то, что заявляет: ускоряет Python-проекты, улучшает стандартный tooling (установка пакетов, создание виртуалок и т.д.). Работает быстро и стабильно — не придраться.
Но! Как обычный пользователь Python-библиотек, он взаимодействует с uv всего 2–3 раза в месяц. Всё остальное время — старые добрые pip, venv и уже настроенные окружения.
И вот какие вопросы возникли:
А теперь к вам, сообщество:
Вы уже пробовали uv? Реально ли он экономит вам время? Или всё ещё кажется решением без боли, но и без особой необходимости?
Библиотека питониста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2😁2👍1🥱1
Proglib Academy — это место, где вы превращаете теорию в практику. Здесь ваши знания становятся проектами для портфолио, а вы — более уверенным специалистом.
Выберите курс, который поможет сделать следующий шаг ⬇️
🚀 Для тех, кто начинает путь в IT:
— Основы IT для непрограммистов
— Программирование на Python (обновлённый)
— Frontend-разработчик с нуля: HTML, CSS, JavaScript
🧠 Для будущих и настоящих Data Scientist'ов:
— ML для старта в Data Science (начинается в сентябре)
— Базовые модели ML и приложения
— Математика для Data Science
— AI-агенты для DS-специалистов (скоро второй поток)
🛠️ Для опытных разработчиков, готовых к росту:
— Алгоритмы и структуры данных
— Архитектуры и шаблоны проектирования
Независимо от вашей цели, у нас есть курс, который поможет её достичь. Переходите в Proglib Academy, выбирайте свой путь и инвестируйте в навыки, которые всегда будут в цене!
Выберите курс, который поможет сделать следующий шаг ⬇️
🚀 Для тех, кто начинает путь в IT:
— Основы IT для непрограммистов
— Программирование на Python (обновлённый)
— Frontend-разработчик с нуля: HTML, CSS, JavaScript
🧠 Для будущих и настоящих Data Scientist'ов:
— ML для старта в Data Science (начинается в сентябре)
— Базовые модели ML и приложения
— Математика для Data Science
— AI-агенты для DS-специалистов (скоро второй поток)
🛠️ Для опытных разработчиков, готовых к росту:
— Алгоритмы и структуры данных
— Архитектуры и шаблоны проектирования
Независимо от вашей цели, у нас есть курс, который поможет её достичь. Переходите в Proglib Academy, выбирайте свой путь и инвестируйте в навыки, которые всегда будут в цене!