Media is too big
VIEW IN TELEGRAM
Эта библиотека реально взлетит, и вот почему
Она лучше всего подходит для создания чат-бота, который не галлюцинирует и умеет отвечать на вопросы.
Она open-source, и чтобы её запустить, достаточно пары строк кода.
Смотри видео с примером
GitHub: emcie-co/parlant
Каждая компания, либо уже делает, либо использует чат-бота. Эта библиотека может заменить тонны кода и при этом дать куда более качественный результат.🌼
👉 @PythonPortal
Она лучше всего подходит для создания чат-бота, который не галлюцинирует и умеет отвечать на вопросы.
Она open-source, и чтобы её запустить, достаточно пары строк кода.
Смотри видео с примером
GitHub: emcie-co/parlant
Каждая компания, либо уже делает, либо использует чат-бота. Эта библиотека может заменить тонны кода и при этом дать куда более качественный результат.
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 переменных без временной
2. Однострочный if-else (тернарный)
3. List Comprehension
4. Set и Dict Comprehension
5. Наиболее частый элемент в списке
6. Объединение словарей (Python 3.9+)
7. Возврат нескольких значений
8. Использование zip для итерации по двум спискам
9. «Выпрямление» вложенных списков
10. Значения по умолчанию в словаре
11. Лямбда в одну строку
12. enumerate с индексом
13. Сортировка по ключу или значению
14. Чтение строк файла в список
15. Type Hints
👉 @PythonPortal
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍50❤20🔥11😁1
Нашел на Хабре годную статью 👧
Там показано, как собрать своего оффлайн голосового AI-ассистента всего за вечер
Микрофон слушает тебя, Whisper переводит речь в текст, локальная LLM отвечает, а gTTS всё это озвучивает
Полностью кастомный и без интернета
Код и гайд тут — Habr
Репо: тут
👉 @PythonPortal
Там показано, как собрать своего оффлайн голосового AI-ассистента всего за вечер
Микрофон слушает тебя, Whisper переводит речь в текст, локальная LLM отвечает, а gTTS всё это озвучивает
Полностью кастомный и без интернета
Код и гайд тут — Habr
Репо: тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍39❤13🔥4
Автоформатирование текста с помощью textwrap
В Python есть модуль textwrap, который упрощает работу с длинными строками. Он автоматически разбивает текст на заданную ширину, чтобы он выглядел аккуратно и легко читался, будь то вывод в консоли, логи или отчёты.
Пример кода:
Вывод:
Когда пригодится?
- автоматический перенос строк
- форматирование текста в CLI-программах
- подготовка читаемых логов, email или документации
👉 @PythonPortal
В Python есть модуль textwrap, который упрощает работу с длинными строками. Он автоматически разбивает текст на заданную ширину, чтобы он выглядел аккуратно и легко читался, будь то вывод в консоли, логи или отчёты.
Пример кода:
import textwrap
text = "Python — универсальный язык, который подходит для веба, анализа данных, автоматизации и многого другого."
result = textwrap.fill(text, width=40)
print(result)
Вывод:
Python — универсальный язык, который
подходит для веба, анализа данных,
автоматизации и многого другого.
Когда пригодится?
- автоматический перенос строк
- форматирование текста в CLI-программах
- подготовка читаемых логов, email или документации
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28👍10❤6
PyTorch против TensorFlow — новое исследование расставило точки над i
PyTorch → примерно на 25% быстрее в обучении и на ~78% быстрее в инференсе. Проще для ресёрча
TensorFlow → сильнее в продакшене (мобилки, браузер, сервера)
Полный обзор читай тут
👉 @PythonPortal
PyTorch → примерно на 25% быстрее в обучении и на ~78% быстрее в инференсе. Проще для ресёрча
TensorFlow → сильнее в продакшене (мобилки, браузер, сервера)
Полный обзор читай тут
Please open Telegram to view this post
VIEW IN TELEGRAM
❤35👍6🤝1
photo_2025-08-19_07-28-17.jpg
186.3 KB
Шпаргалка по регулярным выражениям
В ней собрано, как работают якори, классы символов, кванторы, диапазоны, утверждения, спецсимволы, модификаторы и подстановки, плюс примеры готовых шаблонов вроде поиска дат, e-mail или HTML-тегов.
Пригодится👍
👉 @PythonPortal
В ней собрано, как работают якори, классы символов, кванторы, диапазоны, утверждения, спецсимволы, модификаторы и подстановки, плюс примеры готовых шаблонов вроде поиска дат, e-mail или HTML-тегов.
Пригодится
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23❤10🏆5
Строй полноценные full-stack веб-приложения, используя только Python
Пиши полностью готовые приложения с фронтендом и бэкендом на Python без необходимости учить JavaScript или вести отдельные кодовые базы.
reflex это фреймворк на Python, который позволяет делать фронт и бэк одним языком. ты пишешь UI, логику, состояние, всё в Python, а Reflex сам компилит интерфейс на React/Next.js и запускает backend на FastAPI с WebSocket’ами для реактивности
Полностью опенсорс😋
👉 @PythonPortal
Пиши полностью готовые приложения с фронтендом и бэкендом на Python без необходимости учить JavaScript или вести отдельные кодовые базы.
reflex это фреймворк на Python, который позволяет делать фронт и бэк одним языком. ты пишешь UI, логику, состояние, всё в Python, а Reflex сам компилит интерфейс на React/Next.js и запускает backend на FastAPI с WebSocket’ами для реактивности
Полностью опенсорс
Please open Telegram to view this post
VIEW IN TELEGRAM
❤26👍12🤔6😁4🤝1
FastAPI теперь официально самый популярный веб-фреймворк среди Python-разработчиков 🎉
А вот ещё несколько интересных фактов из свежего опроса State of Python 2025 от JetBrains:
> 51% используют Python для работы с данными
> 46% применяют его для веб-разработки
> Половина сообщества — новички
> 83% всё ещё сидят на старых версиях Python
Подробный разбор: https://jb.gg/python-25
👉 @PythonPortal
А вот ещё несколько интересных фактов из свежего опроса State of Python 2025 от JetBrains:
> 51% используют Python для работы с данными
> 46% применяют его для веб-разработки
> Половина сообщества — новички
> 83% всё ещё сидят на старых версиях Python
Подробный разбор: https://jb.gg/python-25
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40❤18🔥6🤔1
Совет по Python:
Вы можете заставить аргументы быть только позиционными, используя символ
👉 @PythonPortal
Вы можете заставить аргументы быть только позиционными, используя символ
/
в сигнатуре функции.def add(x, y, /):
return x + y
add(1, 2)
add(x=1, y=2) # TypeError: add() got some positional-only arguments passed as keyword arguments: 'x, y'
Please open Telegram to view this post
VIEW IN TELEGRAM
❤23👍11🌭4🤔2
⚡️ RECURA — один из лучших каналов для разработчиков и программистов.
Канал ведёт практикующий DevOps-инженер, который ежедневно публикует:
• код, повышающий эффективность разработки
• лайфхаки и полезные трюки для Bash и Linux
• готовые решения для Docker и Kubernetes
• инструменты и утилиты для автоматизации
• полезные материалы и советы по информационной безопасности
Подпишись, чтобы быть востребованным специалистом.
Канал ведёт практикующий DevOps-инженер, который ежедневно публикует:
• код, повышающий эффективность разработки
• лайфхаки и полезные трюки для Bash и Linux
• готовые решения для Docker и Kubernetes
• инструменты и утилиты для автоматизации
• полезные материалы и советы по информационной безопасности
Подпишись, чтобы быть востребованным специалистом.
❤11👍4🔥2
Шпаргалка по очистке данных в Python Pandas
1. Обзор данных
2. Работа с пропусками и дубликатами
3. Переименование и приведение типов
4. Фильтрация и выборка
5. Сортировка и группировка
6. Операции с колонками
7. Сохранение очищенных данных
👉 @PythonPortal
1. Обзор данных
import pandas as pd
df = pd.read_csv('data.csv') # Загрузить CSV
df.head(5) # Первые 5 строк
df.info() # Типы данных и количество null
df.describe() # Сводная статистика
2. Работа с пропусками и дубликатами
df.isnull().sum() # Посчитать пропуски
df.dropna() # Удалить строки с null
df.fillna(0) # Заполнить пропуски нулями
df.duplicated().sum() # Посчитать дубликаты
df.drop_duplicates() # Удалить дубликаты
3. Переименование и приведение типов
df.rename(columns={'old': 'new'}) # Переименовать колонку
df.astype({'col': 'int'}) # Сменить тип данных
df.columns.str.strip() # Убрать пробелы
4. Фильтрация и выборка
df.loc[df['col'] > 100] # Фильтр по условию
df.iloc[0:5] # Выбор по индексу строк
df['col'].isin(['A', 'B']) # Фильтр по значениям
5. Сортировка и группировка
df.sort_values('col') # Сортировка по возрастанию
df.groupby('group')['val'].mean() # Группировка и агрегация
df['col'].value_counts() # Подсчёт уникальных значений
6. Операции с колонками
df['new'] = df['col1'] + df['col2'] # Новая колонка
df['col'] = df['col'].apply(lambda x: x*2) # Применить функцию
df.drop('col', axis=1) # Удалить колонку
7. Сохранение очищенных данных
df.to_csv('cleaned.csv', index=False) # Экспорт в CSV
Please open Telegram to view this post
VIEW IN TELEGRAM
❤29👍11🏆5👀1
PyAutoGUI
Крайне любопытная библиотека языка Python, позволяющая превратить твой ПК в автоматизированную систему
За пару строчек кода можно заставить скрипт сделать скриншот, заставить мышку навести на нужную точку на экране, взаимодействовать с различными параметрами окон, написать слово или целый абзац или даже загуглить за тебя🚬
Вот так можно создать простейший кликер:
Документация тут: https://pyautogui.readthedocs.io/en/latest/
👉 @PythonPortal
Крайне любопытная библиотека языка Python, позволяющая превратить твой ПК в автоматизированную систему
За пару строчек кода можно заставить скрипт сделать скриншот, заставить мышку навести на нужную точку на экране, взаимодействовать с различными параметрами окон, написать слово или целый абзац или даже загуглить за тебя
Вот так можно создать простейший кликер:
import pyautogui
import time
def click():
time.sleep(0.1)
pyautogui.click()
def main():
for i in range(20):
click()
main()
Документация тут: https://pyautogui.readthedocs.io/en/latest/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍49❤17🔥4😁4
Нужно потестить HTTPS локально в Python?
Вот простое решение в 3 шага — удобно для проверки SSL/TLS, интеграций с API или любых приложений, которым нужен HTTPS в dev-среде.
Только для локальной разработки, браузер будет ругаться на самоподписанный сертификат.😋
Для NodeJS есть альтернатива: web.dev
👉 @PythonPortal
Вот простое решение в 3 шага — удобно для проверки SSL/TLS, интеграций с API или любых приложений, которым нужен HTTPS в dev-среде.
Только для локальной разработки, браузер будет ругаться на самоподписанный сертификат.
Для NodeJS есть альтернатива: web.dev
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤4
Помни, что итераторы в Python (и не только) рассчитаны на одно использование.
Когда ты прошёл по всем элементам, назад «перемотать» их нельзя.
Это поведение называется исчерпание итератора
После одного прохода итератор «заканчивается» и повторно использовать его нельзя.
Чтобы пройтись снова, нужно создать новый итератор:
👉 @PythonPortal
Когда ты прошёл по всем элементам, назад «перемотать» их нельзя.
Это поведение называется исчерпание итератора
umbers = [1, 2, 3]
reversed_numbers = reversed(numbers)
print(list(reversed_numbers)) # [3, 2, 1]
print(list(reversed_numbers)) # [] — итератор уже пуст
После одного прохода итератор «заканчивается» и повторно использовать его нельзя.
Чтобы пройтись снова, нужно создать новый итератор:
reversed_numbers = reversed(numbers)
print(list(reversed_numbers)) # [3, 2, 1] снова работает
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29❤6
Please open Telegram to view this post
VIEW IN TELEGRAM
😁47🤣13❤3👀1