Python: задачки и вопросы
Ir al canal en Telegram
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
Mostrar más7 128
Suscriptores
-424 horas
+87 días
-230 días
Archivo de publicaciones
Когда мы объявляем класс и добавляем атрибуты в slots, Python не создает для этого класса обычный словарь. Вместо этого он использует фиксированное количество слотов для хранения атрибутов.
При создании экземпляра класса Python не создает для объекта словарь атрибутов, а использует структуру с фиксированными слотами:
class Point:
slots = ['x', 'y'] # Только два атрибута: x и y
def __init__(self, x, y):
self.x = x
self.y = y
# Создаем объект
p = Point(3, 4)
# Доступ к атрибутам
print(p.x) # 3
print(p.y) # 4
# p.z = 5 # AttributeError: 'Point' object has no attribute 'z'
Попытка присвоить атрибут z, которого нет в slots, вызовет ошибку, поскольку его нет в "разрешенных" атрибутах класса.match ожидает кортежи из двух элементов в шаблонах типа (x, y).
Однако в point передан кортеж из трех элементов (1, 2, 3).
Так как ни один шаблон не может соответствовать кортежу из трех элементов, выполнение просто не совпадет с никаким case, и Python не выполнит ни одно из условий.
При отсутствии дополнительного case _: (поймающего все прочие случаи), ничего не выведется.T — это дженерик: тип переменной x будет передан дальше без изменений.
repeat_element(5, 3) вызывает функцию с x = 5 и times = 3.
Функция возвращает список из трёх элементов, каждый из которых равен 5.
Следовательно, результат — [5, 5, 5].Python пытается понять, что такое MyClass, но его еще нет:
def func(x: MyClass) -> None: # Ошибка: MyClass еще не определен
...
class MyClass:
...
from __future__ import annotations делает так, что все аннотации типов воспринимаются как строки. Это позволяет использовать поздние ссылки (на классы, которые еще не объявлены) — User.
То есть Python не будет сразу требовать, чтобы MyClass уже был определен. Он просто запомнит строку MyClass и разберется с этим позже, когда все классы уже будут объявлены./ (косая черта) обозначает только позиционные параметры. Аргументы перед ней должны передаваться позиционно и не могут использоваться как ключевые аргументы.
Когда мы вызываем:
print(greet("Alice"))
происходит следующее:
— "Alice" передается как позиционный аргумент name.
— greeting не передан явно, поэтому используется значение по умолчанию "Hello".
— Формируется строка: "Hello, Alice!"Мы передаем строку "10" в функцию
get_value.
Что происходит в функции:
— x — это строка (str).
— Функция проверяет тип через isinstance(x, str) — условие срабатывает.
— Выполняется операция x + "1", то есть обычная конкатенация строк.
"10" + "1" = "101"H3LLO․CLOUD вконец упоролись и дают две вируталки на год БЕСПЛАТНО
• Две виртуалки с 2 ядрами.
• 4 Гб оперативки DDR5.
• 50 Гб объектного хранилища.
• 40 Гб сетевого диска.
• Белый статический IP (конечно, v4).
• И даже балансировщик нагрузки!
Это первое подобное предложение на российском рынке.
Они просто знают, что стоит вам попробовать настоящее облако с двумя машинами — и вас будет ломать возвращаться к убогим хостингам.
Две машины — это уже отказоустойчивая система. Можно запустить реальный проект: блог на 10к+ посещений, небольшой магазин или корпоративный сайт. И всё это без покупки железа и головной боли с настройкой.
Базы данных тоже включены, так что можно забыть о мучениях с Postgres, Mongo и прочим добром.
Когда вы почувствуете, как легко и приятно с этим всем работать, — всё, приехали, вы не сможете от этого отказаться.
А ещё скоро H3LLO․CLOUD добавят бесплатный Kubernetes — 3 месяца простенького кластера и месяц полноценного.
Единственное условие: чтобы получить все плюшки, включая белый IP, нужно пополнить счёт на 5000 ₽. Это не плата, это защита от криптомайнеров и торрент-раздавальщиков. Деньги останутся на вашем счету.
«А что если я создам 100 аккаунтов и буду пользоваться бесплатно вечно?» Ну, попробуйте. У H3LLO․CLOUD есть специальный человек Серёжа, который каждое утро приходит, пьёт кофе и ищет таких умников. А ещё у H3LLO․CLOUD есть нейросеть, но про неё Серёже не говорят — пусть думает, что незаменим.
Короче, заходите, тестируйте, ломайте. H3LLO․CLOUD готовы!
А чтобы первыми узнать о подобных предложениях — подписывайтесь на канал! Это тоже бесплатно.
Реклама. Рекламодатель: ООО «ХЕЛОУ», ИНН 9704228431, erid:2W5zFHCRnw2
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
