Python | Вопросы собесов
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads
Ko'proq ko'rsatish📈 Telegram kanali Python | Вопросы собесов analitikasi
Python | Вопросы собесов (@python_easy_ru) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 12 650 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 9 797-o'rinni va Rossiya mintaqasida 50 916-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 12 650 obunachiga ega bo‘ldi.
11 Oktabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -90 ga, so‘nggi 24 soatda esa 0 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 6.14% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 4.15% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 777 marta ko‘riladi; birinchi sutkada odatda 526 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 2 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent ставь, модуль, строка, docker, alice kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Сайт: https://easyoffer.ru/
Все каналы: t.me/+xGeAw6ckJ4liYzQy
Контакт для рекламы: @sendme_ads”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 12 Oktabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
employees = [
{"name": "Alice", "age": 30, "salary": 70000},
{"name": "Bob", "age": 25, "salary": 50000},
{"name": "Charlie", "age": 35, "salary": 120000}
]
# Сортировка по возрасту
sorted_employees = sorted(employees, key=lambda x: x["age"])
print(sorted_employees)
Результат
[{'name': 'Bob', 'age': 25, 'salary': 50000},
{'name': 'Alice', 'age': 30, 'salary': 70000},
{'name': 'Charlie', 'age': 35, 'salary': 120000}]
🟠Использование метода `sort()`
Этот метод изменяет существующий список.
employees = [
{"name": "Alice", "age": 30, "salary": 70000},
{"name": "Bob", "age": 25, "salary": 50000},
{"name": "Charlie", "age": 35, "salary": 120000}
]
# Сортировка по зарплате
employees.sort(key=lambda x: x["salary"])
print(employees)
Результат
[{'name': 'Bob', 'age': 25, 'salary': 50000},
{'name': 'Alice', 'age': 30, 'salary': 70000},
{'name': 'Charlie', 'age': 35, 'salary': 120000}]
🟠Сортировка в обратном порядке
Установите параметр reverse=True, чтобы отсортировать в порядке убывания.
sorted_employees_desc = sorted(employees, key=lambda x: x["age"], reverse=True)
print(sorted_employees_desc)
🟠Использование функции `itemgetter` из модуля `operator`
Это более эффективный способ, чем лямбда-функция, особенно для больших данных.
from operator import itemgetter
sorted_employees = sorted(employees, key=itemgetter("age"))
print(sorted_employees)
🚩Обработка отсутствующих значений
Если поле может отсутствовать в некоторых словарях, можно использовать параметр key для обработки таких ситуаций.
employees = [
{"name": "Alice", "age": 30},
{"name": "Bob"},
{"name": "Charlie", "age": 35}
]
sorted_employees = sorted(employees, key=lambda x: x.get("age", 0))
print(sorted_employees)
Результат
[{'name': 'Bob'},
{'name': 'Alice', 'age': 30},
{'name': 'Charlie', 'age': 35}]
Ставь 👍 и забирай 📚 Базу знаний+, -, *, and, or, not и т. д.) сами по себе не являются объектами. Они — часть синтаксиса языка и не имеют представления в виде объектов в памяти.
a = 10 + 5 # Оператор "+" выполняет сложение, но сам по себе не объект
print(type(+)) # Ошибка: нельзя получить тип оператора
🟠Ключевые слова (keywords)
Встроенные ключевые слова Python (if, else, while, for, def, class, return и т. д.) не являются объектами. Они зарезервированы интерпретатором и используются для управления потоком выполнения кода.
print(type(if)) # Ошибка: ключевое слово не является объектом
🟠Идентификаторы переменных
Хотя переменные ссылаются на объекты, сами идентификаторы (имена переменных) — это просто ссылки, а не объекты.
x = 42 # x — это имя, а не объект
print(type(x)) # Это целое число, но само имя "x" объектом не является
🟠Аннотации типов во время компиляции
Аннотации типов в Python, такие как list[str], не создают объекты во время компиляции кода. Они интерпретируются только на уровне анализа типов.
def func(x: int) -> str:
return str(x)
Ставь 👍 и забирай 📚 Базу знаний?id=123).
🟠Поиск ресурса
находит запрашиваемый файл, данные из базы или другой ресурс.
🟠Возврат ответа
отправляет данные клиенту (если ресурс найден — код 200, если нет — 404).
🚩Особенности GET-запроса
🟠Безопасный
не изменяет данные на сервере, используется только для чтения.
🟠Идемпотентный
повторные запросы дают одинаковый результат.
🟠Параметры в URL
данные передаются через строку запроса, что не подходит для конфиденциальной информации.
import requests
response = requests.get("https://api.example.com/data", params={"id": 123})
print(response.text) # Данные с сервера
Ставь 👍 и забирай 📚 Базу знаний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()
Ставь 👍 и забирай 📚 Базу знанийJOIN, используя альтернативные методы.
🚩Использование подзапросов (`SELECT` внутри `SELECT`)
Подзапрос (subquery) позволяет выбрать данные из одной таблицы, используя данные из другой.
Допустим, у нас есть две таблицы:
employees (id, name, department_id)
departments (id, name)
SELECT name,
(SELECT name FROM departments WHERE id = employees.department_id) AS department_name
FROM employees;
🚩Использование `IN` или `EXISTS`
Можно фильтровать данные из одной таблицы, проверяя наличие значений в другой.
SELECT name
FROM employees
WHERE department_id IN (SELECT id FROM departments);
🚩Объединение данных через `UNION`
Если таблицы имеют схожие колонки, можно объединить их с UNION.
SELECT id, name, email FROM users_old
UNION
SELECT id, name, email FROM users_new;
🚩Использование `CROSS JOIN` через `WHERE`
Хотя CROSS JOIN делает декартово произведение, его можно фильтровать WHERE, имитируя INNER JOIN.
SELECT e.name, d.name AS department
FROM employees e, departments d
WHERE e.department_id = d.id;
Ставь 👍 и забирай 📚 Базу знанийdict) — это структура данных, которая хранит пары "ключ → значение".
🟠Создание словаря
Через {} (фигурные скобки)
my_dict = {"name": "Alice", "age": 25, "city": "New York"}
Изменение значения
my_dict["age"] = 26 # Меняем возраст
del — удаление по ключу
del my_dict["city"]
Перебор ключей (for key in dict)
for key in my_dict:
print(key, my_dict[key])
Проверка наличия ключа
if "name" in my_dict:
print("Ключ существует!")
🟠Генерация словарей (Dictionary Comprehension)
Создадим словарь квадратов чисел
squares = {x: x**2 for x in range(1, 6)}
print(squares) # {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
🟠Ключи должны быть хешируемыми (неизменяемыми)
Нельзя использовать list как ключ!
my_dict[[1, 2, 3]] = "Ошибка" # TypeError: unhashable type: 'list'
Можно использовать tuple, int, str, frozenset
my_dict[(1, 2, 3)] = "OK"
Ставь 👍 и забирай 📚 Базу знаний