Библиотека Python разработчика | Книги по питону
Погружение в CPython и архитектуру. Разбираем неочевидное поведение (GIL, Memory), Best Practices (SOLID, DDD) и тонкости Django/FastAPI. Решаем задачи с подвохом и оптимизируем алгоритмы. 🐍 По всем вопросам @evgenycarter РКН clck.ru/3Ko7Hq
نمایش بیشتر📈 تحلیل کانال تلگرام Библиотека Python разработчика | Книги по питону
کانال Библиотека Python разработчика | Книги по питону (@bookpython) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 17 966 مشترک است و جایگاه 7 252 را در دسته فناوری و برنامهها و رتبه 36 588 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 17 966 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 02 نوامبر, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -89 و در ۲۴ ساعت گذشته برابر -1 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 5.58% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 2.74% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 1 003 بازدید دریافت میکند. در اولین روز معمولاً 492 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 4 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند numbers, yield, модуль, none, декоратор تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“Погружение в CPython и архитектуру. Разбираем неочевидное поведение (GIL, Memory), Best Practices (SOLID, DDD) и тонкости Django/FastAPI. Решаем задачи с подвохом и оптимизируем алгоритмы. 🐍
По всем вопросам @evgenycarter
РКН clck.ru/3Ko7Hq”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 03 نوامبر, 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