Библиотека Python разработчика | Книги по питону
Погружение в CPython и архитектуру. Разбираем неочевидное поведение (GIL, Memory), Best Practices (SOLID, DDD) и тонкости Django/FastAPI. Решаем задачи с подвохом и оптимизируем алгоритмы. 🐍 По всем вопросам @evgenycarter РКН clck.ru/3Ko7Hq
Больше📈 Аналитический обзор Telegram-канала Библиотека Python разработчика | Книги по питону
Канал Библиотека Python разработчика | Книги по питону (@bookpython) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 17 964 подписчиков, занимая 7 252 место в категории Технологии и приложения и 36 588 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 17 964 подписчиков.
Согласно последним данным от 03 ноября, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -88, а за последние 24 часа — -3, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 5.41%. В первые 24 часа после публикации контент обычно набирает 2.74% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 971 просмотров. В течение первых суток публикация набирает 492 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 4.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как numbers, yield, модуль, none, декоратор.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Погружение в CPython и архитектуру. Разбираем неочевидное поведение (GIL, Memory), Best Practices (SOLID, DDD) и тонкости Django/FastAPI. Решаем задачи с подвохом и оптимизируем алгоритмы. 🐍
По всем вопросам @evgenycarter
РКН clck.ru/3Ko7Hq”
Благодаря высокой частоте обновлений (последние данные получены 04 ноября, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
import sys
x = ‘farhadmalik’
print(sys.getsizeof(x))
2. Вывод текущей директории
import os
print(os.getcwd())
3. Вывод импортированных модулей
import sys
imported_modules = [m.__name__ for m in sys.modules.values() if m]
4. Получение ID текущего процесса
import os
os.getpid()
@BookPythonname = ‘farhad’
suffix = [1,2,3,4,5,6]
zip(name, suffix)
→ возвращает (f,1),(a,2),(r,3),(h,4),(a,5),(d,6)
2. Освобождение памяти
Механизм сборки мусора вручную можно настроить по времени или событиям.
import gc
collected_objects = gc.collect()
3. Использование декораторов
Декораторы добавляют функциональность коду. То есть это функции, вызывающие другие объекты/функции. Будучи вызываемыми функциями, декораторы возвращают объект, который будет вызываться при вызове функции-декоратора.
Вспомните о декораторах, которые реализуют аспектно-ориентированное программирование.
Мы можем обернуть класс/функцию, и тогда каждый раз при вызове функции будет выполняться определенный код.
Данный пример показывает, как можно вывести название функции. Это тестовый пример для вызова декоратора. С помощью декораторов можно вызывать логгеры (logger), выполнять операции по обеспечению безопасности и т.д.
def my_logger(function):
@functools.wraps(function)
def logger(*args, **kwargs):
print(function.__name__)
return function(*args, **kwargs)
return logger
Теперь воспользуйтесь этим в своих функциях:
@my_logger
def hi():
print ‘hi’
@my_logger
def bye(a):
print ‘bye’ + a
4. Распаковка
name = ‘farhad’
suffix = [1,2,3,4,5,6]
result = zip(name, suffix)
→ возвращает (f,1),(a,2),(r,3),(h,4),(a,5),(d,6)
unzipped = zip(*result)
5. Присоединение коллекции
name = [“FinTech”, “Explained”]
print(“ “.join(name))
@BookPythondef my_new_function(my_value=’hello’):
print(my_value)
#Вызывается
my_new_function() => выводит hello
my_new_function(‘test’) => выводит test
2. Неизвестное количество аргументов через *arguments
Если функция может принимать любое количество аргументов, то перед названием параметра добавьте *:
def myfunc(*arguments):
for a in arguments:
print a
myfunc(a)
myfunc(a,b)
myfunc(a,b,c)
3. Словарь в качестве аргумента через **arguments
Так вы сможете передавать в функцию разное количество аргументов ключевых слов.
В качестве аргументов ключевых слов можно также передавать и значения словаря:
def myfunc(**arguments):
return arguments[‘key’]
4. Функция с несколькими выводами
Если функция должна возвращать несколько значений, то:
resultA, resultB = get_result()
get_result() может вернуть (‘a’, 1), который является кортежем
5. Цикл в одну строку
[Variable] AggregateFunction([Value] for [item] in [collection])
@BookPythonx = ‘abc’
x = x[::-1]
2. Отрицательный индекс
Если вы хотите начать с последнего знака, то воспользуйтесь отрицательным индексом.
y = ‘abc’
print(y[-1]) # вернет "c"
3. Пересечение множеств
Чтобы найти общее двух множеств
a = {1,2,3}
b = {3,4,5}
c = a.intersection(b)
4. Разность множеств
Чтобы найти различия двух множеств:
a = {1,2,3}
b = {3,4,5}
c = a.difference(b)
5. Объединение коллекций
Чтобы получить четко выраженное объединение двух множеств
a = {1,2,3}
b = {3,4,5}
c = a.union(b)
@BookPythonfirst_name, last_name = [‘Farhad’, ‘Malik’]
print(first_name) #выводится Farhad
print(last_name) #выводится Malik
2. Обмен значений переменных
first_name, last_name = [‘Farhad’, ‘Malik’]
last_name, first_name = first_name, last_name
print(first_name) #выводит Malik
print(last_name) #выводит Farhad
3. Профилирование и статистика кода
import cProfile, pstats, StringIO
pr = cProfile.Profile() pr.enable()
# ... что-то делает ... pr.disable()
s = StringIO.StringIO()
ps = pstats.Stats(pr, stream=s).sort_stats(‘cumulative’)
ps.print_stats()
print s.getvalue()
4. Повторение строки
‘A’*3 А повторится трижды: AAA
5. Срез
y = ‘Abc’
y[:2] = ab
y[1:] = bc
y[:-2] = a
y[-2:] = bc
@BookPython