Python Portal
Всё самое интересное из мира Python Сотрудничество, реклама: @devmangx Менеджер: @Spiral_Yuri РКН: https://clck.ru/3GMMF6
Show more📈 Analytical overview of Telegram channel Python Portal
Channel Python Portal (@pythonportal) in the Russian language segment is an active participant. Currently, the community unites 50 990 subscribers, ranking 2 541 in the Technologies & Applications category and 12 059 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 50 990 subscribers.
According to the latest data from 27 August, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -384 over the last 30 days and by -25 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 9.38%. Within the first 24 hours after publication, content typically collects 4.76% reactions from the total number of subscribers.
- Post reach: On average, each post receives 4 786 views. Within the first day, a publication typically gains 2 425 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 19.
- Thematic interests: Content is focused on key topics such as строка, none, true, модуль, peter.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Всё самое интересное из мира Python
Сотрудничество, реклама: @devmangx
Менеджер: @Spiral_Yuri
РКН: https://clck.ru/3GMMF6”
Thanks to the high frequency of updates (latest data received on 28 August, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
pip install latexify-py".
Статья о 3 инструментах, которые конвертируют код Python в LaTeX: https://bit.ly/3Pw89yP
Запустите этот код: https://bit.ly/4bW2ycE
👉 @PythonPortaldef enrich_user_names(df, user_lookup=None):
pass
Это не говорит, что такое df, какого типа user_lookup, или что функция должна вернуть. Теперь представьте, что это часть производственного пайплайна с 10+ участниками. Такая неопределённость становится багом.
Вот так будет лучше:
def enrich_user_names(
df: pd.DataFrame,
user_lookup: Optional[Dict[int, str]] = None
) -> pd.DataFrame:
pass
Чёткая коммуникация с самого начала. Каждый, кто увидит эту функцию, точно будет знать, что ожидать. Вот что значит чёткая коммуникация. Аннотации типов — в помощь
👉 @PythonPortallist. Передача словаря в качестве аргумента этой функции возвращает список ключей словаря. См. ниже:
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
# Извлечение ключей словаря
dict_keys = list(my_dict)
dict_keys
['name', 'age', 'city']
- Использование оператора (двойная звёздочка)
Если у вас есть функция, которая принимает значения словаря в качестве аргументов, вы можете использовать оператор ``, чтобы распаковать значения словаря при вызове функции. Ниже у нас есть функция, принимающая значения из словаря как аргументы. Мы используем оператор ** в словаре при вызове функции. Это распаковывает значения словаря и передаёт их в качестве аргументов функции.
def display_info(name, age, city):
print(f"Your name is {name}. You are {age} years old. "
f"You live in {city}")
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
display_info(**my_dict)
Your name is John. You are 30 years old. You live in New York👉 @PythonPortal
CLAUDE.md → rules → commands → sub-agent → Skills → hooks:
🔴Оформите правила проекта через CLAUDE.md, подключение файлов через @ и разнесение логики в .claude/rules, чтобы не раздуло инструкцию.
🔴Сделаете свои slash-команды с frontmatter (description/allowed-tools/model) и аргументами через $ARGUMENTS и $1/$2/$3 для буста воркфлоу.
🔴Освоите саб-агентов: когда их запускать, как писать определения и как делегировать им расследования и проверки без засора основного контекста.
🔴Поднимете Hooks под реальный воркфлоу: /hooks, sh-скрипты, SessionStart/Stop/PreToolUse/PostToolUse, exit codes, matchers и env-переменные.
🔴Настроите Skills (SKILL.md + references), свяжете их с саб-агентами через skills-поле и подключите MCP, Web и headless (-p) для продвинутых случаев
Скидка 25%, действует 48 часов
⬇️ Пройти курс на StepikCounter() из модуля collections. Counter() поддерживает проверку на равенство. По сути, мы можем использовать его, чтобы проверить, равны ли переданные объекты. В приведённом ниже коде мы проверяем, являются ли a и b анаграммами.
from collections import Counter
my_word = 'test'
another_word = 'stot'
print(Counter(my_word.casefold()) == Counter(another_word.casefold()))
Вывод: True
Мы также можем использовать функцию sorted() для проверки, являются ли две строки анаграммами. По умолчанию функция sorted() сортирует переданную строку по возрастанию. Поэтому, когда мы передаём строки в sorted() и сравниваем их на равенство, сначала строки сортируются, а затем сравниваются. См. код ниже:
def check_anagrams(str1, str2):
return sorted(str1) == sorted(str2)
my_word = 'lost'
another_word = 'stol'
result = check_anagrams(my_word, another_word)
print(result)
Если вы не хотите использовать какие-либо встроенные методы, можно воспользоваться ручным подходом. В этом методе вы пишете код, чтобы проверить, содержат ли обе строки одинаковые символы.
def check_anagrams(str1, str2):
if len(str1) != len(str2):
return False
for char in str1:
if str1.count(char) != str2.count(char):
return False
return True
my_word = 'lost'
another_word = 'stol'
print(check_anagrams(my_word, another_word))
Вывод: True
В этом коде сначала проверяется, имеют ли строки одинаковую длину. Если длины различаются, функция возвращает False.
👉 @PythonPortal