Python: задачки и вопросы
Kanalga Telegram’da o‘tish
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
Ko'proq ko'rsatish6 956
Obunachilar
-324 soatlar
-57 kunlar
-5630 kunlar
Postlar arxiv
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
1: Неверно, так как мы генерируем только 3 числа:
- 1
0 1
1 17
2 8
3 22
dtype: int64
2: неверно, так как мы генерируем только 3 числа
- 2
0 31
1 17
2 8
dtype: int64
3: верно, все числа целые, находятся в допустимом диапазоне, их точно 3.
- 3
0 30
1 17
2 8
dtype: int64Суперклассы (родительские классы) указываются в скобках после имени класса.
Наследование от нескольких суперклассов возможно, и выглядит оно довольно интуитивно:
class Robot(Walkable, Talkable): # Наследуемся сразу от двух классов
…
Вы указываете суперклассы класса, перечисляя их внутри круглых скобок в операторе class после имени нового класса. Порядок слева направо, в котором классы перечисляются в круглых скобках, дает порядок слева направо при поиске в иерархии наследования, представленной деревом классов. Следовательно, walk и talk будут доступны объекту r.
Поскольку walk и talk в разных вызовах print(), то они разделены разрывом строки.