Python Portal
58.6K subscribers
2.04K photos
183 videos
49 files
578 links
Всё самое интересное из мира Python

Связь: @devmangx

РКН: https://clck.ru/3GMMF6
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
В копилку тренажёров: годный онлайн-тренажёр для SQL-запросов. Простой интерфейс, все задачи бесплатные, есть теоретические разделы, регистрация по желанию

Ещё и на русском, забираем 😋

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥62🌚2
Совет по чистому коду на Python

Используй тернарный оператор inline if для простых условий, особенно когда нужно присвоить значение на основе быстрой проверки

Так код становится короче и читается проще, главное не усложнять конструкцию

Пример

class Order:
def __init__(self, user_is_premium, order_total, delivery_type):
self.user_is_premium = user_is_premium
self.order_total = order_total
self.delivery_type = delivery_type

# Если пользователь премиум — скидка 20%, иначе 5%
self.discount = 0.2 if user_is_premium else 0.05

# Если самовывоз — доставка 0, иначе 5
self.delivery_fee = 0 if delivery_type == "self-pickup" else 5.0


> self.discount = 0.2 if user_is_premium else 0.05 - здесь проверка идёт прямо в строке присваивания
Если user_is_premium == True, то в self.discount попадёт 0.2, иначе 0.05

> self.delivery_fee = 0 if delivery_type == "self-pickup" else 5.0
Аналогично, если delivery_type равен "self-pickup", стоимость доставки — 0, иначе — 5.0

Это компактнее, чем писать через if/else в несколько строк, и код остаётся читаемым, пока условия простые

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
22👍20🤝4🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Google выпустила python-библиотеку для извлечения данных

LangExtract это python-библиотека для вытягивания структурированной информации из неструктурированных текстовых документов с точной привязкой к источникам и интерактивной визуализацией

На 100% open source

Поддержка любых LLM (Gemini, OpenAI, Ollama).

Github репо: https://github.com/google/langextract

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
25👍20🔥3
Как увеличить шансы на трудоустройство

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁113🤣57🔥11👍4🤝42🏆1
IT-конференция про разработку, облака, AI и данные 🖥

3 сентября команда Cloud․ru снова проводит IT-конференцию — GoCloud Tech.

В этот раз целый трек посвящен Dev Platform Services:

➡️ Мультикластерное автомасштабирование в Kubernetes
➡️ Что «под капотом» монтирования S3
➡️ Как улучшить cloud native продукт с помощью eBPF
➡️ Применение подхода Architecture as Code
➡️ И другие доклады про ускорение разработки


Еще будут отдельные треки про AI&ML, облачную инфраструктуру и работу с данными, демо, воркшопы и afterparty.

Где и когда ⬇️
3 сентября, Москва, Гоэлро Лофт

Не пропустите🖱
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Безопасники, это вам: наткнулся на крутейшую игру для начинающих хакеров — Bandit

Суть игры: Вы подключаетесь к удаленной машине и в изолированном пространстве ищете ключ для подключения к следующей машине, используя рекомендации на сайте

В описании практически каждого уровня имеется список команд, которые тебе могут пригодиться

Устанавливать ничего не надо, заходишь на сайт, выбираешь Level 0 и читаешь условия задачи. Затем подключаешься физически по ssh к серверу и начинаешь игру
ssh -p 2220 root@bandit.labs.overthewire.org  


Если где-то застрянете, можно подсмотреть прохождение на Хабре ☕️

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
33🔥10🤔4😁1
Pandas автоматизация работы с данными

Используй pandas, чтобы автоматизировать задачи на работе. Вместо того чтобы вручную чистить CSV-файлы, можно написать скрипт, который

🔸считывает все CSV в папке
🔸чистит данные
🔸объединяет их в один аккуратный отчет
🔸отправляет его на почту автоматически

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
27👍14
Принёс потрясающую и наглядную шпаргалку по SQL JOIN'ам

Это мы сохраняем, чтобы не потерять 😏

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4213💊7
This media is not supported in your browser
VIEW IN TELEGRAM
Когда в потоке слов наконец-то обнаружил знакомое

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣87🔥57😁164💊1
Принёс движ для аналитиков: в Москве пройдет Data Driven — конфа про то, как с помощью аналитики находить точки роста и качать бизнес-метрики

Два трека:
- для продуктовых, data-аналитиков и data scientists;
- data-инженеров, системных и BI-аналитиков.

Что будет: куча докладов от экспертов, нетворкинг (дискуссии, 1:1 с C-level, карьерные консультации), квиз и квест с реальными кейсами, призы (робот и другие ништяки 😋). А на десерт — афтепати с фуршетом и музыкой

20 сентября встречаемся в Москве или подключаемся онлайн

Регистрируемся здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
11💊4
Худшие 3 однострочника в Python, которых стоит избегать

1. List comprehension для побочных эффектов

data = [print(i**2) for i in range(100) if i % 2 == 0]


List comprehension создаёт список, а не «побочки». В итоге получаем непонятный список из None.

2. Сжатие функции в одну строчку

def f(a, b=1): return a * b if a > 0 else a + b


Формально это работает, но даже простая логика становится хуже читаемой.

3. Безумие с точками с запятой

a = 1; b = 2; c = a + b; print(c * 2 ** a + b)


Пихать всё в одну строчку через ; это убийство читаемости. Разбей на несколько строк, и всем станет легче.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3818
This media is not supported in your browser
VIEW IN TELEGRAM
Учись программировать, играя

Codédex выпустили новую версию своей платформы

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

То, что они сделали это реально круто 😦

Думаю, самое простое что можно сделать — поддержать их запуск на Product Hunt, оставив голос

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
37👍13👀4
Please open Telegram to view this post
VIEW IN TELEGRAM
😁498🤣6
Я давно знал про dict.fromkeys в Python

Но только сегодня узнал, что можно задать значение по умолчанию для всех ключей

Я думал, что всегда нужно инициализировать словарь так, чтобы все ключи указывали на None 🌟

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
44👍15🔥9
Media is too big
VIEW IN TELEGRAM
Эта библиотека реально взлетит, и вот почему

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

Она open-source, и чтобы её запустить, достаточно пары строк кода.

Смотри видео с примером

GitHub: emcie-co/parlant

Каждая компания, либо уже делает, либо использует чат-бота. Эта библиотека может заменить тонны кода и при этом дать куда более качественный результат. 🌼

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
24🔥4👍2🤣1
image_2025-08-17_09-32-25.png
983.2 KB
Шпаргалка для собеседования по Python

1. Swap переменных без временной

a, b = 5, 10
a, b = b, a


2. Однострочный if-else (тернарный)

result = "Even" if x % 2 == 0 else "Odd"


3. List Comprehension

squares = [x**2 for x in range(10)]
evens = [x for x in range(10) if x % 2 == 0]


4. Set и Dict Comprehension

unique = {x for x in [1,2,2,3]}        # удалить дубликаты
squares = {x: x**2 for x in range(5)} # dict comprehension


5. Наиболее частый элемент в списке

from collections import Counter
most_common = Counter(['a','b','a','c']).most_common(1)[0][0]


6. Объединение словарей (Python 3.9+)

a = {'x': 1}
b = {'y': 2}
merged = a | b


7. Возврат нескольких значений

def stats(x):
return max(x), min(x), sum(x)

high, low, total = stats([1, 2, 3])


8. Использование zip для итерации по двум спискам

names = ['a', 'b']
scores = [90, 85]

for n, s in zip(names, scores):
print(f"{n}: {s}")


9. «Выпрямление» вложенных списков

nested = [[1,2], [3,4]]
flat = [item for sublist in nested for item in sublist]


10. Значения по умолчанию в словаре

from collections import defaultdict
d = defaultdict(int)
d['apple'] += 1 # без KeyError


11. Лямбда в одну строку

square = lambda x: x**2
print(square(4))


12. enumerate с индексом

for i, v in enumerate(['a', 'b', 'c']):
print(i, v)


13. Сортировка по ключу или значению

d = {'a': 3, 'b': 1, 'c': 2}
sorted_by_val = sorted(d.items(), key=lambda x: x[1])


14. Чтение строк файла в список

with open('file.txt') as f:
lines = f.read().splitlines()


15. Type Hints

def add(x: int, y: int) -> int:
return x + y



👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4920🔥10😁1
База

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁98🤣27👍6👀31🔥1🤔1
🔥 3 канала — один билет в IT! 🔥

💡 Хочешь реально понять, что такое программирование?
🚀 Хватит просто читать — пора погружаться!

👉 Java: теория — объясним, чтобы понял даже кот.
👉 Java: практика — проверь свои знания.
👉 Python — твой быстрый старт в программирование без боли.

🎯 Успех любит быстрых. Жми и забирай три ключа к IT-двери!
6👍2😁2🌚1
Нашел на Хабре годную статью 👧

Там показано, как собрать своего оффлайн голосового AI-ассистента всего за вечер

Микрофон слушает тебя, Whisper переводит речь в текст, локальная LLM отвечает, а gTTS всё это озвучивает

Полностью кастомный и без интернета

Код и гайд тут — Habr
Репо: тут

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3713🔥4