Ответ:
Anonymous Quiz
19%
child 1, main 2
31%
child 2, main 2
38%
child 2, main 1
13%
child 1, main 1
deque
из модуля collections
— это двусторонняя очередь, которая работает быстрее списка при добавлении и удалении элементов с краёв.from collections import deque
queue = deque([1, 2, 3])
queue.append(4) # добавляем справа
queue.appendleft(0) # добавляем слева
queue.pop() # удаляем справа
queue.popleft() # удаляем слева
print(queue) # deque([1, 2, 3])
📌 Удобно для реализации очередей, стеков и работы с потоками данных
Please open Telegram to view this post
VIEW IN TELEGRAM
frozenset
— это множество, элементы которого нельзя изменять после создания.Оно поддерживает те же операции, что и обычный set: объединение, пересечение, разность.
a = frozenset([1, 2, 3])
b = frozenset([3, 4, 5])
print(a & b) # пересечение → frozenset({3})
📌 Удобно, когда нужно использовать множество как ключ в словаре или элемент другого множества
Please open Telegram to view this post
VIEW IN TELEGRAM
Функция
globals()
возвращает словарь всех глобальных переменных текущего модуля.Можно использовать для динамического доступа к переменным по имени.
x = 42
name = "Python"
print(globals()["x"]) # 42
print(globals()["name"]) # Python
📌 Полезно для отладки, метапрограммирования и работы с динамическими именами, но в обычном коде лучше использовать напрямую
Please open Telegram to view this post
VIEW IN TELEGRAM
append()
в Python и когда его применять?Метод
append()
добавляет элемент в конец списка. Это один из самых распространённых способов динамически расширять коллекцию.fruits = ["apple", "banana"]
fruits.append("orange")
print(fruits)
# ➜ ['apple', 'banana', 'orange']
append() удобно использовать при работе с динамическими данными: сборе результатов в циклах, формировании очередей, накоплении элементов для дальнейшей обработки. Этот метод делает работу со списками гибкой и интуитивно понятной
Please open Telegram to view this post
VIEW IN TELEGRAM
Функция
hasattr()
позволяет проверить, есть ли у объекта указанный атрибут.Возвращает
True
или False
.class User:
def __init__(self, name):
self.name = name
u = User("Анна")
print(hasattr(u, "name")) # True
print(hasattr(u, "age")) # False
📌 Полезно для динамической работы с объектами и безопасного доступа к их свойствам
Please open Telegram to view this post
VIEW IN TELEGRAM
Функция
getattr()
возвращает значение атрибута объекта по строковому имени.Если атрибута нет, можно указать значение по умолчанию.
class User:
def __init__(self, name):
self.name = name
u = User("Анна")
print(getattr(u, "name")) # Анна
print(getattr(u, "age", "неизвестно")) # неизвестно
📌 Удобно для динамического доступа к свойствам объектов, например при работе с данными из JSON или API
Please open Telegram to view this post
VIEW IN TELEGRAM
Декоратор
@property
позволяет превратить метод класса в атрибут, добавив к нему логику при чтении или записи.class User:
def __init__(self, name):
self._name = name
@property
def name(self):
return self._name.title()
u = User("анна")
print(u.name) # Анна
📌 Удобно для валидации, форматирования и инкапсуляции, не меняя интерфейс класса
Please open Telegram to view this post
VIEW IN TELEGRAM