Python: задачки и вопросы
7.68K subscribers
1.21K photos
2 videos
1 file
97 links
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
Каким будет результат выполнения кода выше?
Anonymous Quiz
5%
Hmmm.__num
7%
Hmmm.0
43%
0
45%
Error
This media is not supported in your browser
VIEW IN TELEGRAM
Астрологи объявили неделю бэкенд-разработчика 🔮

🎃 В канун Дня Всех Святых Старшие Арканы развернули инфраструктуру на ваших серверах — выясните, что они предсказывают!

Создавать вэбхуки или изучить новый фреймворк?

Сделайте скриншот экрана — узнайте, какая карта определит вашу судьбу в профессии и какой амулет поможет избежать бед 🧿

Скрин, скрин!
Объяснение:

В данном коде создаётся класс Hmmm с приватным атрибутом __num, который инициализируется значением 0

Приватные атрибуты в Python обозначаются двумя подчёркиваниями в начале их имени и не могут быть доступны вне этого класса напрямую

При попытке обратиться к Hmmm.__num вне класса, Python выдаст ошибку AttributeError, потому что атрибут __num скрыт от внешнего кода и его нельзя получить или изменить напрямую

Это один из способов инкапсуляции данных в объектно-ориентированном программировании для обеспечения безопасности и целостности данных
Каким будет результат выполнения кода выше?
Anonymous Quiz
51%
True
8%
False
3%
1
38%
0
Объяснение:

Список a содержит элементы 1 и 4, так же, как и список b. Однако, несмотря на то что списки имеют одинаковые элементы, они являются разными объектами в памяти, поэтому проверка a is b вернёт False

Такая же ситуация и у x с y, сравнение которых также выдаст False

Т.к оба условия в if-выражении не выполняются, и программа переходит к блоку else, выводится 0
Каким будет результат выполнения кода выше?
Anonymous Quiz
5%
<class 'list'>
36%
<class 'tuple'>
2%
<class 'array'>
58%
<class 'str'>
Объяснение:

Круглые скобки вокруг строки могут ввести в заблуждение, но они не создают кортеж (tuple), если внутри них находится всего один элемент и не следует запятая

Запятая является тем, что на самом деле определяет кортеж, а не круглые скобки.

Когда выполняется print(type(tup)), Python возвращает <class 'str'>, потому что tup является строкой, а не кортежем
Каким будет результат выполнения кода выше?
Anonymous Quiz
18%
32 32
18%
32 64
11%
64 64
52%
64 48
Объяснение:

Списки в Python динамические, что означает, что они могут изменяться после создания, например, вы можете добавить или удалить элементы. Эта гибкость требует дополнительной памяти для хранения ссылок на объекты, а также дополнительной информации, необходимой для управления списком

С другой стороны, кортежи в Python статические и неизменяемые, что означает, что после создания вы не можете изменить их. Это делает кортежи более эффективными с точки зрения использования памяти, поскольку они не требуют дополнительного пространства для управления изменениями

Поэтому, когда мы печатаем размеры lst и tup, то видим, что tup.__sizeof__() возвращает меньшее значение по сравнению с lst.__sizeof__()
Каким будет результат выполнения кода выше?
Anonymous Quiz
11%
[1, 2, 3, 4]
6%
[1, 2, 3]
74%
[2, 3, 4]
10%
Error
Объяснение:

Здесь lst2 не является новым списком; это просто другая ссылка на тот же самый список, на который ссылается lst1. А это значит, что обе переменные lst1 и lst2 указывают на один и тот же объект в памяти

Когда вызывается метод lst1.pop(0), первый элемент списка удаляется, и теперь список выглядит как [2, 3]

Затем, когда вызывается метод lst2.append(4), в список добавляется элемент 4, и теперь список выглядит как [2, 3, 4]

Поскольку, напомним, lst1 и lst2 указывают на один и тот же список, любые изменения, внесённые через одну из переменных, отражаются в другой переменной

Поэтому мы и получаем [2, 3, 4] при печати lst1
Каким будет результат выполнения кода выше?
Anonymous Quiz
58%
0
26%
1
4%
2
12%
Error
Объяснение:

Функция round() в Python округляет число до ближайшего чётного числа, если дробная часть числа равна 0.5

Это называется «округлением к ближайшему чётному» и помогает уменьшить ошибки округления при обработке большого количества данных

Таким образом, round(11.5) вернёт 12 и round(12.5) вернёт 12

А 12 - 12 = 0