Библиотека Python разработчика | Книги по питону
Погружение в CPython и архитектуру. Разбираем неочевидное поведение (GIL, Memory), Best Practices (SOLID, DDD) и тонкости Django/FastAPI. Решаем задачи с подвохом и оптимизируем алгоритмы. 🐍 По всем вопросам @evgenycarter РКН clck.ru/3Ko7Hq
Mostrar más📈 Análisis del canal de Telegram Библиотека Python разработчика | Книги по питону
El canal Библиотека Python разработчика | Книги по питону (@bookpython) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 17 967 suscriptores, ocupando la posición 7 242 en la categoría Tecnologías y Aplicaciones y el puesto 36 580 en la región Rusia.
📊 Métricas de audiencia y dinámica
Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 17 967 suscriptores.
Según los últimos datos del 02 noviembre, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -89, y en las últimas 24 horas de -1, conservando un alto alcance.
- Estado de verificación: No verificado
- Tasa de interacción (ER): El promedio de interacción de la audiencia es 5.58%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 2.74% de reacciones respecto al total de suscriptores.
- Alcance de las publicaciones: Cada publicación recibe en promedio 1 003 visualizaciones. En el primer día suele acumular 492 visualizaciones.
- Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 4.
- Intereses temáticos: El contenido se centra en temas clave como numbers, yield, модуль, none, декоратор.
📝 Descripción y política de contenido
El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“Погружение в CPython и архитектуру. Разбираем неочевидное поведение (GIL, Memory), Best Practices (SOLID, DDD) и тонкости Django/FastAPI. Решаем задачи с подвохом и оптимизируем алгоритмы. 🐍
По всем вопросам @evgenycarter
РКН clck.ru/3Ko7Hq”
Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 03 noviembre, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.
# 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