Python | Вопросы собесов
Cайт: easyoffer.ru Реклама: @easyoffer_adv ВП: @easyoffer_vp Тесты t.me/+20tRfhrwPpM4NDQy Задачи t.me/+nsl4meWmhfQwNDVi Вакансии t.me/+cXGKkrOY2-w3ZTky
نمایش بیشتر📈 تحلیل کانال تلگرام Python | Вопросы собесов
کانال Python | Вопросы собесов (@python_easy_ru) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 13 107 مشترک است و جایگاه 9 737 را در دسته فناوری و برنامهها و رتبه 50 735 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 13 107 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 08 ژوئن, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -51 و در ۲۴ ساعت گذشته برابر 1 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 8.36% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 5.74% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 1 096 بازدید دریافت میکند. در اولین روز معمولاً 752 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 4 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند ставь, модуль, строка, docker, alice تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“Cайт: easyoffer.ru
Реклама: @easyoffer_adv
ВП: @easyoffer_vp
Тесты t.me/+20tRfhrwPpM4NDQy
Задачи t.me/+nsl4meWmhfQwNDVi
Вакансии t.me/+cXGKkrOY2-w3ZTky”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 09 ژوئن, 2026)، کانال همواره بهروز و دارای دسترسی بالاست. تحلیلها نشان میدهد مخاطبان بهطور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامهها تبدیل کردهاند.
def my_decorator(func):
def wrapper():
print("Декоратор сработал!")
return func() # Вызываем исходную функцию
return wrapper # Возвращаем обёрнутую функцию
def say_hello():
print("Hello!")
say_hello = my_decorator(say_hello) # Оборачиваем вручную
say_hello()
Вывод
Декоратор сработал! Hello!🟠Реализация декоратора через `@` Python позволяет упрощённый синтаксис через
@
def my_decorator(func):
def wrapper():
print("Декоратор сработал!")
return func()
return wrapper
@my_decorator # Эквивалентно say_hello = my_decorator(say_hello)
def say_hello():
print("Hello!")
say_hello()
🟠Декоратор с `args` и `kwargs` (универсальный вариант)
Если функция принимает аргументы, их нужно передавать через args и kwargs
def my_decorator(func):
def wrapper(*args, **kwargs): # Поддержка любых аргументов
print(f"Вызываем {func.__name__} с аргументами: {args}, {kwargs}")
return func(*args, **kwargs) # Вызываем оригинальную функцию
return wrapper
@my_decorator
def greet(name):
print(f"Привет, {name}!")
greet("Alice")
Вывод
Вызываем greet с аргументами: ('Alice',), {}
Привет, Alice!
🟠Декоратор с параметрами (фабрика декораторов)
Чтобы передавать параметры в декоратор, создаём функцию, которая возвращает декоратор
def repeat(times): # Функция с параметром
def decorator(func):
def wrapper(*args, **kwargs):
for _ in range(times): # Повторяем вызов функции
func(*args, **kwargs)
return wrapper
return decorator # Возвращаем декоратор
@repeat(3) # Передаём 3 → `repeat(3)` вернёт `decorator`
def hello():
print("Hello!")
hello()
Вывод
Hello! Hello! Hello!🟠Декораторы классов (`functools.wraps`) Обычные декораторы ломают метаданные функции (
__name__, __doc__).
import functools
def my_decorator(func):
@functools.wraps(func) # Сохраняем метаданные
def wrapper(*args, **kwargs):
print("Декоратор сработал!")
return func(*args, **kwargs)
return wrapper
@my_decorator
def greet():
"""Функция приветствия"""
print("Hello!")
print(greet.__name__) # greet (без wraps было бы wrapper)
print(greet.__doc__) # Функция приветствия
Ставь 👍 и забирай 📚 Базу знанийdo-while цикла, но если бы он был, то без двоеточия : он не сработал бы. В Python все блоки кода (if, for, while, def, class и т. д.) должны заканчиваться двоеточием :.
while True # ❌ Ошибка! Нет двоеточия
print("Hello")
Выдаст
SyntaxError: expected ':'🚩Как сделать аналог `do-while` в Python? Так как
do-while нет, его можно имитировать с while True и break
while True: # ✅ Двоеточие обязательно!
num = int(input("Введите число больше 0: "))
if num > 0:
break
print("Ошибка! Попробуйте снова.")
Ставь 👍 и забирай 📚 Базу знанийProxy контролирует доступ к классу RealSubject, добавляя проверку доступа и логирование.
from abc import ABC, abstractmethod
class Subject(ABC):
@abstractmethod
def request(self):
pass
class RealSubject(Subject):
def request(self):
print("Реальный объект: Обработка запроса.")
class Proxy(Subject):
def __init__(self, real_subject):
self._real_subject = real_subject
def request(self):
if self.check_access():
self._real_subject.request()
self.log_access()
def check_access(self):
print("Заместитель: Проверка доступа перед выполнением запроса.")
return True
def log_access(self):
print("Заместитель: Логирование времени запроса.")
# Клиентский код
real_subject = RealSubject()
proxy = Proxy(real_subject)
proxy.request()
Ставь 👍 и забирай 📚 Базу знанийimport requests
import time
start = time.time()
def fetch(url):
response = requests.get(url) # Ждём ответа от сервера
return response.text
urls = ["https://example.com"] * 3
for url in urls:
fetch(url) # Ждём каждый запрос
print("Время выполнения:", time.time() - start)
🟠Как работает асинхронный код (быстрее!)
Асинхронность в Python использует event loop (цикл событий), который позволяет не ждать выполнения операции, а переключаться на другие задачи.
import asyncio
import aiohttp
import time
start = time.time()
async def fetch(url):
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
return await response.text()
async def main():
urls = ["https://example.com"] * 3
tasks = [fetch(url) for url in urls]
await asyncio.gather(*tasks) # Запускаем все запросы одновременно
asyncio.run(main())
print("Время выполнения:", time.time() - start)
Ставь 👍 и забирай 📚 Базу знанийexceptions) — это специальные объекты, которые возникают при ошибках и прерывают выполнение программы, если их не обработать.
Все исключения в Python — это объекты, унаследованные от BaseException.
try:
1 / 0
except ZeroDivisionError as e:
print(type(e)) # <class 'ZeroDivisionError'>
print(e) # division by zero
Все исключения унаследованы от BaseException:
BaseException ├── Exception │ ├── ArithmeticError │ │ ├── ZeroDivisionError │ │ ├── OverflowError │ ├── ValueError │ ├── IndexError │ ├── KeyError │ ├── TypeError ├── SystemExit ├── KeyboardInterruptМожно перехватывать несколько исключений
try:
x = int("abc") # Ошибка ValueError
except (ValueError, TypeError) as e:
print(f"Ошибка: {e}")
Если не знаем, какая ошибка может произойти:
try:
x = 1 / 0
except Exception as e:
print(f"Ошибка: {e}") # division by zero
finally выполняется всегда
try:
1 / 0
except ZeroDivisionError:
print("Ошибка!")
finally:
print("Этот код выполнится всегда")
raise позволяет выбрасывать исключения вручную
raise ValueError("Ошибка: неверное значение!")
Можно создать свой класс ошибки, унаследованный от Exception:
class MyError(Exception):
pass
raise MyError("Это моя ошибка!")
Ставь 👍 и забирай 📚 Базу знанийgit stash — это команда в Git, которая сохраняет незакоммиченные изменения во временное хранилище (stash) и очищает рабочую директорию.
🚩Когда это полезно?
Нужно переключиться на другую ветку, но есть незаконченные изменения. Хочешь сохранить текущую работу, но не коммитить её. Нужно экспериментировать, но без риска потерять код.
🚩Как использовать `git stash`?
Сохранить изменения в stash
git stash
Посмотреть список сохранённых изменений
git stash list
Выведет список всех stash-ов
stash@{0}: WIP on main: 1234567 Добавил новую фичу
stash@{1}: WIP on dev: 89abcde Исправил баг
Восстановить сохранённые изменения
git stash pop # Восстановит изменения и удалит stash
ИЛИ
git stash apply # Восстановит, но stash останется в списке
Удалить stash после применения
git stash drop stash@{0} # Удалит конкретный stash
git stash clear # Удалит все stash'и
🚩Пример использования
Сценарий
- Ты работаешь в ветке main, но нужно срочно переключиться на dev.
- У тебя есть изменения, которые ты не хочешь коммитить.
Решение
git stash # Сохраняем изменения
git checkout dev # Переключаемся на другую ветку
# Делаем нужную работу...
git checkout main # Возвращаемся в основную ветку
git stash pop # Восстанавливаем изменения
Ставь 👍 и забирай 📚 Базу знаний
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
