Библиотека Python разработчика | Книги по питону
Погружение в CPython и архитектуру. Разбираем неочевидное поведение (GIL, Memory), Best Practices (SOLID, DDD) и тонкости Django/FastAPI. Решаем задачи с подвохом и оптимизируем алгоритмы. 🐍 По всем вопросам @evgenycarter РКН clck.ru/3Ko7Hq
Show more📈 Analytical overview of Telegram channel Библиотека Python разработчика | Книги по питону
Channel Библиотека Python разработчика | Книги по питону (@bookpython) in the Russian language segment is an active participant. Currently, the community unites 17 966 subscribers, ranking 7 252 in the Technologies & Applications category and 36 588 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 17 966 subscribers.
According to the latest data from 02 November, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -89 over the last 30 days and by -1 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 5.58%. Within the first 24 hours after publication, content typically collects 2.74% reactions from the total number of subscribers.
- Post reach: On average, each post receives 1 003 views. Within the first day, a publication typically gains 492 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 4.
- Thematic interests: Content is focused on key topics such as numbers, yield, модуль, none, декоратор.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Погружение в CPython и архитектуру. Разбираем неочевидное поведение (GIL, Memory), Best Practices (SOLID, DDD) и тонкости Django/FastAPI. Решаем задачи с подвохом и оптимизируем алгоритмы. 🐍
По всем вопросам @evgenycarter
РКН clck.ru/3Ko7Hq”
Thanks to the high frequency of updates (latest data received on 03 November, 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.
# Filter Text
# Import re module
import re
# Take any string data
string = """a string we are using to filter specific items.
perhaps we would like to match credit card numbers
mistakenly entered into the user input. 4444 3232 1010 8989
and perhaps another? 9191 0232 9999 1111"""
# Define the searching pattern
pattern = '(([0-9](\s+)?){4}){4}'
# match the pattern with input value
found = re.search(pattern, string)
print(found)
# Print message based on the return value
if found:
print("Found a credit card number!")
else:
print("No credit card numbers present in input")
👉@BookPythonpip install PyPDF2
# import module PyPDF2
import PyPDF2
# put 'example.pdf' in working directory
# and open it in read binary mode
pdfFileObj = open('example.pdf', 'rb')
# call and store PdfFileReader
# object in pdfReader
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
# to print the total number of pages in pdf
# print(pdfReader.numPages)
# get specific page of pdf by passing
# number since it stores pages in list
# to access first page pass 0
pageObj = pdfReader.getPage(0)
# extract the page object
# by extractText() function
texts = pageObj.extractText()
# print the extracted texts
print(texts)
Объединение двух файлов в один
Копироуем текст из двух PDF-файлов и объединить его в новый PDF-файл.
import PyPDF2
# open two pdfs
pdf1File = open('example.pdf', 'rb')
pdf2File = open('example2.pdf', 'rb')
# read first pdf
pdf1Reader = PyPDF2.PdfFileReader(pdf1File)
# read second pdf
pdf2Reader = PyPDF2.PdfFileReader(pdf2File)
# for writing in new pdf file
pdfWriter = PyPDF2.PdfFileWriter()
for pageNum in range(pdf1Reader.numPages):
pageObj = pdf1Reader.getPage(pageNum)
pdfWriter.addPage(pageObj)
for pageNum in range(pdf2Reader.numPages):
pageObj = pdf2Reader.getPage(pageNum)
pdfWriter.addPage(pageObj)
# create new pdf 'example3.pdf'
pdfOutputFile = open('example3.pdf', 'wb')
pdfWriter.write(pdfOutputFile)
pdfOutputFile.close()
pdf1File.close()
pdf2File.close()
👉@BookPythonfolder_path.
Затем мы вызываем функцию os.listdir(), которая вернет список всех файлов и папок в указанной папке. Мы проходим циклом for через этот список и выводим на экран имена файлов.
👉@BookPythonsys.allow_boolean_assignment разрешает создавать переменные с именами, зарезервированными под идентификаторы типа bool. Поэтому этот код запустится и выведет "True is False".
Эта настройка введена в известном первоапрельском коммите, который до сих пор остался в коде интерпретатора. Если кандидат об этом знает, можно с уверенностью сказать, что он общается в профессиональных кругах и любят углубляться в детали.
👉@BookPythonimportlib.import_module()
В этом примере мы импортируем модуль importlib и используем его функцию import_module() для динамической загрузки модуля math. Затем мы используем функцию sqrt() из загруженного модуля.
Динамическая загрузка модуля может быть полезна, например, если вы хотите загрузить модуль в зависимости от каких-то условий, которые определяются во время выполнения программы. Такой подход — медленный, но он помогает эффективнее использовать память.
import importlib
# Загрузка модуля 'math' динамически
math_module = importlib.import_module('math')
# Использование функции 'sqrt' из модуля 'math'
print(math_module.sqrt(16))
👉@BookPythonimport pytube
link = "ссылка на видео c Youtube"
yt = pytube.YouTube(link)
stream = yt.streams.first()
stream.download()
👉@BookPython