Python | Вопросы собесов
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads
نمایش بیشتر📈 تحلیل کانال تلگرام Python | Вопросы собесов
کانال Python | Вопросы собесов (@python_easy_ru) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 12 593 مشترک است و جایگاه 10 004 را در دسته فناوری و برنامهها و رتبه 51 338 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 12 593 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 26 اکتبر, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -125 و در ۲۴ ساعت گذشته برابر -2 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 6.13% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 4.44% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 772 بازدید دریافت میکند. در اولین روز معمولاً 559 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 2 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند ставь, модуль, строка, docker, alice تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“Сайт: https://easyoffer.ru/
Все каналы: t.me/+xGeAw6ckJ4liYzQy
Контакт для рекламы: @sendme_ads”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 27 اکتبر, 2026)، کانال همواره بهروز و دارای دسترسی بالاست. تحلیلها نشان میدهد مخاطبان بهطور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامهها تبدیل کردهاند.
filter() — это встроенная функция Python, которая отбирает элементы из последовательности по заданному условию.
filter(function, iterable)
🚩Как работает `filter()`?
Пример 1: Фильтрация чётных чисел
numbers = [1, 2, 3, 4, 5, 6]
# Оставляем только чётные числа
even_numbers = filter(lambda x: x % 2 == 0, numbers)
print(list(even_numbers)) # [2, 4, 6]
Пример 2: Фильтрация строк по длине
words = ["apple", "kiwi", "banana", "cherry"]
# Оставляем только слова длиной больше 5 символов
long_words = filter(lambda word: len(word) > 5, words)
print(list(long_words)) # ['banana', 'cherry']
Пример 3: Фильтрация None и пустых значений
values = [None, 0, "", "hello", 42, [], {}]
# Оставляем только "истинные" значения
filtered_values = filter(None, values)
print(list(filtered_values)) # ['hello', 42]
Пример 4: Использование filter() с def
def is_positive(n):
return n > 0
numbers = [-5, -2, 0, 3, 7, -1]
positive_numbers = filter(is_positive, numbers)
print(list(positive_numbers)) # [3, 7]
🚩Чем `filter()` лучше `for` + `if`?
Более короткий и читаемый код
# С `filter()`
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
# С `for` + `if`
even_numbers = [x for x in numbers if x % 2 == 0]
Ставь 👍 и забирай 📚 Базу знанийprint(dir(__builtins__))
🚩Основные категории встроенных функций
Работа с числами
print(abs(-5)) # 5
print(round(3.14159, 2)) # 3.14
print(pow(2, 3)) # 8
print(min([3, 1, 4])) # 1
Работа со строками
print(len("hello")) # 5
print(str(123)) # '123'
print(ord('A')) # 65
print(chr(65)) # 'A'
Работа с коллекциями (списки, кортежи, множества)
a = [3, 1, 2]
print(sorted(a)) # [1, 2, 3]
nums = [1, 2, 3]
names = ["Alice", "Bob", "Charlie"]
print(list(zip(nums, names))) # [(1, 'Alice'), (2, 'Bob'), (3, 'Charlie')]
Работа с логикой и проверками
print(bool("")) # False
print(all([True, 1, "Hello"])) # True
print(any([0, "", None, 5])) # True (есть хотя бы один True)
Работа с функциями
nums = [1, 2, 3, 4]
squared = list(map(lambda x: x**2, nums))
print(squared) # [1, 4, 9, 16]
evens = list(filter(lambda x: x % 2 == 0, nums))
print(evens) # [2, 4]
Работа с файлами
with open("file.txt", "w") as f:
f.write("Hello, world!")
name = input("Введите имя: ")
print("Привет,", name)
Работа с объектами и атрибутами
print(type(42)) # <class 'int'>
print(isinstance(42, int)) # True
print(dir([])) # Методы списка
Ставь 👍 и забирай 📚 Базу знанийset) — это неупорядоченная коллекция уникальных элементов, которая работает на основе хеш-таблицы. Это значит, что только хешируемые (immutable) объекты могут быть добавлены в set.
🚩Можно добавить в `set`:
Числа (int, float, complex)
s = {1, 2.5, 3+4j}
Строки (str)
s = {"apple", "banana", "cherry"}
Кортежи (tuple), если они тоже содержат только неизменяемые объекты
s = {(1, 2), ("a", "b")}
Булевые значения (bool)** (но True считается 1, а False — 0)
s = {True, False, 1, 0}
print(s) # {False, True} (0 и 1 не добавятся повторно)
🚩Нельзя добавить в `set`
Изменяемые объекты (list, set, dict)
s = { [1, 2, 3] } # Ошибка: TypeError: unhashable type: 'list'
s = { {"key": "value"} } # Ошибка: TypeError: unhashable type: 'dict'
Кортежи с изменяемыми элементами
s = { (1, [2, 3]) } # Ошибка: TypeError
Ставь 👍 и забирай 📚 Базу знанийimport sys
a = [1, 2, 3] # Создаём список
print(sys.getrefcount(a)) # Выведет 2 (одна ссылка 'a' + вызов getrefcount)
b = a # Новая ссылка на тот же объект
print(sys.getrefcount(a)) # Теперь 3 (a, b и сам getrefcount)
del a # Удаляем одну ссылку
print(sys.getrefcount(b)) # Теперь 2
del b # Удаляем последнюю ссылку, объект будет удалён из памяти
🚩Почему это важно?
🟠Эффективное управление памятью
Python сам удаляет ненужные объекты, не давая памяти переполняться.
🟠Понимание утечек памяти
Если объект имеет циклические ссылки (например, список ссылается сам на себя), Python не может освободить его сразу, поэтому дополнительно используется сборщик мусора (Garbage Collector, GC).
import gc
class Node:
def __init__(self):
self.ref = self # Циклическая ссылка!
n = Node()
del n # Обычный подсчёт ссылок не сработает, объект останется в памяти
gc.collect() # Явный вызов сборщика мусора удалит его
Ставь 👍 и забирай 📚 Базу знанийfrom django.db import models
class UserProfile(models.Model):
name = models.CharField(max_length=100)
age = models.IntegerField()
🟠Генерируем миграцию
Запускаем команду:
python manage.py makemigrations
Django создаст файл миграции в migrations/
migrations/ 0001_initial.py # Файл с SQL-изменениямиПроверяем SQL-запрос, который будет выполнен
python manage.py sqlmigrate myapp 0001
🚩Применение миграции (`migrate`)
После генерации нужно применить миграции к базе данных:
python manage.py migrate
🚩Что делать, если модель изменилась?
Добавим поле в models.py
class UserProfile(models.Model):
name = models.CharField(max_length=100)
age = models.IntegerField()
email = models.EmailField(default="example@example.com") # Добавили поле
Сгенерируем новую миграцию
python manage.py makemigrations
Применяем изменения к БД
python manage.py migrate
🚩Откат миграций (`migrate <номер>`)
Если нужно откатить последнее изменение:
python manage.py migrate myapp 0001 # Откат до первой миграции
Ставь 👍 и забирай 📚 Базу знаний:=) – это новый оператор, появившийся в Python 3.8, который позволяет присваивать значение переменной прямо внутри выражения.
🚩Как он работает?
Обычно мы записываем код так:
value = len(my_list) # Сначала присваиваем
if value > 10: # Потом используем
print("Список большой")
С := можно совместить оба действия
if (value := len(my_list)) > 10:
print("Список большой")
🚩Где использовать?
В циклах (избегаем лишних вычислений). Вместо:
data = input("Введите строку: ")
while data != "exit":
print("Вы ввели:", data)
data = input("Введите строку: ")
С := можно записать короче:
while (data := input("Введите строку: ")) != "exit":
print("Вы ввели:", data)
В if и while (проверяем и присваиваем одновременно)
Без :=
text = input("Введите слово: ")
if len(text) > 5:
print(f"Слово длинное ({len(text)} символов)")
С :=:
if (length := len(text)) > 5:
print(f"Слово длинное ({length} символов)")
В списковых включениях (list comprehensions)
Без :=:
numbers = [random.randint(1, 100) for _ in range(10)]
filtered = [num for num in numbers if num % 2 == 0]
С :=:
filtered = [num for _ in range(10) if (num := random.randint(1, 100)) % 2 == 0]
🚩Когда не стоит использовать `:=`?
Если код становится сложнее для чтения
if (a := func()) and (b := another_func(a)) > 10:
...
Ставь 👍 и забирай 📚 Базу знаний