Python Portal
Всё самое интересное из мира Python Сотрудничество, реклама: @devmangx Менеджер: @Spiral_Yuri РКН: https://clck.ru/3GMMF6
نمایش بیشتر📈 تحلیل کانال تلگرام Python Portal
کانال Python Portal (@pythonportal) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 52 564 مشترک است و جایگاه 2 546 را در دسته فناوری و برنامهها و رتبه 11 886 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 52 564 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 07 ژوئن, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -754 و در ۲۴ ساعت گذشته برابر -28 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 9.11% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 5.59% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 4 788 بازدید دریافت میکند. در اولین روز معمولاً 2 938 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 24 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند строка, none, true, модуль, peter تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“Всё самое интересное из мира Python
Сотрудничество, реклама: @devmangx
Менеджер: @Spiral_Yuri
РКН: https://clck.ru/3GMMF6”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 08 ژوئن, 2026)، کانال همواره بهروز و دارای دسترسی بالاست. تحلیلها نشان میدهد مخاطبان بهطور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامهها تبدیل کردهاند.
class Child:
pass
Child.__mro__ # (__main__.Child, object)
class Child(Parent):
pass
Child.__mro__ # (__main__.Child, __main__.Parent, object)
То есть MRO показывает, в каком порядке Python будет искать методы и атрибуты: сначала в классе потомке, затем в родителях по цепочке, и в конце — в базовом object.
@PythonPortald = {"apple": 100, "banana": 200, "cherry": 300}
Если ключей 1 миллион, это может потреблять много памяти — больше 100 байт на ключ.
Наш слон опубликовал новую библиотеку, которая использует около 9 байт на ключ. Да, всего 9 байт. Использование выглядит так:
from fastconstmap import ConstMap
d = {"apple": 100, "banana": 200, "cherry": 300}
m = ConstMap(d)
m["apple"] # -> 100
m.get_many(["banana", "cherry"]) # -> [200, 300]
Она может быть значительно быстрее (например, до 2 раз в некоторых случаях), чем стандартный словарь. Также её можно сериализовать и десериализовать на диск или в сеть для удобного повторного использования.
https://pypi.org/project/fastconstmap/
гитхаб: https://github.com/lemire/fastconstmap
👉 @PythonPortalx.m()?
Правило ICPO:
Сначала Python ищет атрибут в экземпляре (_i_nstance).
Если не найден — проверяет класс (_c_lass).
Дальше — родительские классы (_p_arent).
В конце — object, корневой базовый класс (_o_bject).
Именно поэтому метод можно определить один раз в классе, а использовать через любой экземпляр.
👉 @PythonPortal re
Основные функции модуля re:
🔸re.match(): Проверяет, соответствует ли начало строки заданному шаблону.
🔸re.search(): Ищет шаблон в строке и возвращает первый найденный совпадающий объект.
🔸re.findall(): Находит все совпадения шаблона в строке и возвращает их в виде списка.
🔸re.finditer(): Находит все совпадения шаблона и возвращает их в виде итератора.
🔸re.sub(): Заменяет все совпадения шаблона на заданную строку.
🔸re.split(): Разделяет строку по заданному шаблону.
Примеры использования:
import re
# Пример строки
text = "The rain in Spain falls mainly in the plain."
# 1. re.match()
match = re.match(r'The', text)
if match:
print("Match found:", match.group())
else:
print("No match found")
# 2. re.search()
search = re.search(r'rain', text)
if search:
print("Search found:", search.group())
else:
print("No search found")
# 3. re.findall()
findall = re.findall(r'in', text)
print("Findall results:", findall)
# 4. re.finditer()
finditer = re.finditer(r'in', text)
for match in finditer:
print("Finditer match:", match.group(), "at position", match.start())
# 5. re.sub()
substitute = re.sub(r'rain', 'snow', text)
print("Substitute result:", substitute)
# 6. re.split()
split = re.split(r'\s', text)
print("Split result:", split)
Объяснение примера:
> re.match(r'The', text): Проверяет, начинается ли строка text с "The".
> re.search(r'rain', text): Ищет первое вхождение "rain" в строке text.
> re.findall(r'in', text): Находит все вхождения "in" в строке text.
> re.finditer(r'in', text): Возвращает итератор, который перебирает все вхождения "in" в строке text.
> re.sub(r'rain', 'snow', text): Заменяет все вхождения "rain" на "snow" в строке text.
> re.split(r'\s', text): Разделяет строку text по пробелам (символы пробела).
Дополнительные примеры шаблонов:
\d: Любая цифра.
\D: Любой символ, кроме цифры.
\w: Любая буква, цифра или символ подчеркивания.
\W: Любой символ, кроме буквы, цифры или символа подчеркивания.
\s: Любой пробельный символ.
\S: Любой непробельный символ.
.: Любой символ, кроме новой строки.
^: Начало строки.
$: Конец строки.
*: 0 или более повторений.
+: 1 или более повторений.
?: 0 или 1 повторение.
{n}: Ровно n повторений.
{n,}: n или более повторений.
{n,m}: От n до m повторений.
Регулярные выражения мощный инструмент для работы с текстом, и они могут быть полезны в самых разных задачах, от простой проверки ввода до сложного парсинга текста. 💊
👉 @PythonPortal'A' if s>=90 else 'B' if s>=80 else 'C' if s>=70 else 'F'То, что это можно написать, ещё не значит, что так стоит писать. Если условий 3 и больше — лучше использовать
if-elif-else.
А тернарный оператор стоит оставить для:
comprehensions (генераторов списков / коллекций), lambda-выражений, return в одну строку.
👉 @PythonPortalPerson есть (has-a) name. У Car есть (has-a) color.
2/ is-a («наследование»). Один класс является разновидностью уже существующего. Employee — это (is-a) Person. Car — это (is-a) Vehicle.
👉 @PythonPortal
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
