ru
Feedback

Не попадитесь на канал ботавода! Telemetrio находит и помечает такие каналы 👉 Хотите видеть метку — оформите подписку

Python: задачки и вопросы

Python: задачки и вопросы

Открыть в Telegram

Вопросы и задачки для подготовки к собеседованиям и прокачки навыков Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media

Больше
6 864
Подписчики
-224 часа
-137 дней
-4730 дней
Архив постов
Что выведет код?
Anonymous voting

#размяться
#размяться

— Сравнение строк основывается на их лексикографическом порядке, который определяется значениемUnicode каждого символа в строке ('apple' > 'banana' # False — Сравнение чисел происходит по правилам математики (3 < 4 # True) — А вот словари сравниваются (только оператором ==) , если у них одинаковые ключи. Операторами > < их не сравнить, получим ошибку: TypeError: '>' not supported between instances of 'dict' and 'dict'

Ну где же ваши ручки! А вот они, все в зрительном зале конференции Avito All Day Long, тянутся, чтобы задать каверзный вопрос
Ну где же ваши ручки!  А вот они, все в зрительном зале конференции Avito All Day Long, тянутся, чтобы задать каверзный вопрос спикерам!  Тоже есть что спросить у профессионалов Авито про интерфейсы, MLOps или отношения в коллективе? Тогда проходи в зрительный зал, присаживайся и слушай ответы, наверняка найдешь среди них что-то полезное и для себя: https://tprg.ru/XNil Реклама

Какой тип данных не поддерживает прямое сравнение (a > b)?
Anonymous voting

Мы также можем применять в списке аргументов сам по себе символ *, указывая на то, что функция не принимает список аргументов переменной длины, но по-прежнему ожидает передачи всех аргументов, следующих за символом *, по ключевому слову. В показанной в задаче функции kwonly() аргумент а может передаваться по позиции или по имени, но аргументы b и с обязаны передаваться по ключевому слову, и никакие добавочные позиционные аргументы не разрешены.

Создавайте и проверяйте задания по программированию на GitVerse На платформе для работы с исходным кодом GitVerse появился Sm
Создавайте и проверяйте задания по программированию на GitVerse На платформе для работы с исходным кодом GitVerse появился SmartClass — бесплатный инструмент для управления заданиями по программированию. С ним можно создавать, хранить и проверять задачи, а также автоматизировать ревью кода с помощью AI-ассистента GigaCode. В общем, все что нужно – теперь под рукой. Пользователи SmartClass получают все преимущества платформы GitVerse, что дает начинающим специалистам возможность освоить профессиональные инструменты разработки. Решение позволяет не только изучать программирование и код, но и погрузиться в детали работы с такими инструментами и практиками, как CI/CD, Git и многими другими. И, конечно, теперь смело можно отдать рутину аналитики заданий вашему верному помощнику – AI-ассистенту! За счет встроенных в платформу AI-расширений и AI-ассистента разработчика GigaCode вы можете за пару минут провести аналитику кода и значительно облегчить процесс проверки работ. Переходите на GitVerse и пробуйте новый инструмент! Это #партнёрский пост

Исполнится ли код выше без ошибки?
Anonymous voting

#ловушка
#ловушка

В Python 3. Х обобщены правила упорядочения в заголовках функций, чтобы позволить указывать аргументы с передачей только по ключевым словам — аргументы, которые должны передаваться только по ключевому слову и никогда не будут заполняться позиционными аргументами. Они полезны, когда необходима функция, которая и обрабатывает любое количество аргументов (возможно, конфигурационные параметры). Синтаксически аргументы с передачей только по ключевым словам записываются как именованные аргументы, которые могут появляться после конструкции *аргументы в списке аргументов. Значения для таких аргументов должны передаваться в вызове с использованием синтаксиса ключевых аргументов. В задаче выше аргумент а может передаваться по имени или по позиции, b собирает добавочные позиционные аргументы, а с должно передаваться только по ключевому слову.

А вот и новая глава Виммельбуха! Технологичный город на пороге Нового года! В предпраздничной суете кто-то из жителей осмелит
А вот и новая глава Виммельбуха! Технологичный город на пороге Нового года! В предпраздничной суете кто-то из жителей осмелится на важный шаг в своей жизни, а кто-то узнает хорошую новость и будет встречать 2025-ый в новом статусе. Переходите по ссылке и узнайте, что случилось в городе в канун праздника: https://tprg.ru/cCuQ

Исполнится ли код выше или вызовет ошибку?
Anonymous voting

#ловушка
#ловушка

Ниже приводится несколько правил в языке Python, которым вам необходимо следовать, если у вас появится потребность использова
Ниже приводится несколько правил в языке Python, которым вам необходимо следовать, если у вас появится потребность использовать специальные режимы сопоставления аргументов: — В вызове функции аргументы должны указываться в следующем порядке: любые позиционные аргументы (значения), за которыми могут следовать любые именованные аргументы (имя=значение) и аргументы в форме *итерируемый объект, за которыми могут следовать аргументы в форме **словарь. — В заголовке функции аргументы должны указываться в следующем порядке: любые обычные аргументы (name), за которыми могут следовать аргументы со значениями по умолчанию (name=value), за которыми следуют аргументы в форме *name (или * в 3.0), если имеются, за которыми могут следовать любые имена или пары name=value аргументов, которые передаются только по имени (в 3.0), за которыми могут следовать аргументы в форме **имя.

В каком порядке в функции указываются аргументы?
Anonymous voting

def func(*имя) # *имя собирает любые добавочные не прошедшие сопоставление аргументы в кортеж, а **имя — в словарь.
В версии Python 3.0 и выше любые обычные аргументы или аргументы со значениями по умолчанию, следующие за формой *имя или за единственным символом *, являются именованными аргументами, которые при вызове функции должны передаваться только по имени.

Что выведет код выше?
Anonymous voting

#размяться
#размяться

Чем отличается сопоставление аргументов функции func(*arg_obj) от func(**arg_obj)?
Anonymous voting

Инструкция return может возвращать объект любого типа, поэтому с ее помощью можно возвращать сразу несколько значений, упаковав их в кортеж или в коллекцию любого другого типа.
def multiple(x, y):
    x = 2 # Изменяется только локальное имя
    y = [3, 4]
    return x, y # Новые значения возвращаются в виде кортежа

X = 1
L = [1, 2]
Z = multiple(X, L) # Результаты присваиваются именам в вызывающей программе
print(Z) # (2, [3, 4]) — это кортеж
Выглядит так, как будто функция возвращает два значения, но на самом деле – это единственный кортеж, состоящий из двух элементов, а необязательные окружающие скобки просто опущены. После возврата из функции можно использовать операцию присваивания кортежа, чтобы извлечь отдельные элементы. Переменные X и L изменятся после вызова функции, но только потому, что мы явно это предусмотрели.