Python: задачки и вопросы
7.8K subscribers
1.18K photos
1 video
1 file
87 links
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Являются ли атрибутами функции, определенные внутри класса?
Anonymous Quiz
70%
Да
30%
Нет
👍3👎1
Как и все составные операторы, оператор class начинается со строки заголовка с именем класса, после чего следует тело с одним или несколькими вложенными операторами, (обычно) набранными с отступом. В приведенном примере вложенными операторами являются def; они определяют функции, которые реализуют поведение класса, предназначенное для экспортирования.

def на самом деле представляет собой присваивание. В примере операторы def присваивают объекты функций именам setdata и display в области видимости оператора class, а потому генерируют атрибуты, присоединяемые к классу — FirstClass.setdata и FirstClass.display. В действительности любое имя, присвоенное на верхнем уровне вложенного блока класса, становится атрибутом этого класса.
👍3👎1
Мы тут с опросом про работодателей. Какой рэдфлаг хуже?
Anonymous Poll
15%
Переработки
12%
Серая зарплата
33%
Задержки зарплаты
39%
Токсичная атмосфера
🖕3🥰1
Выводится тип объекта и его адрес в памяти, потому что в методе display() вы печатаете сам объект (self), а не его атрибут data.

Если добавить атрибут .data в вывод display, то выведется «Москва»:

class MyClass():
def setdata(self, value):
self.data = value
def display(self):
print(
self.data)

x = MyClass()
x.data = 'Москва'
x.display() # Москва
👍1👎1💯1
🌱 Что выведет код?
Anonymous Quiz
7%
None
8%
Пустое значение
57%
Bob
28%
AttributeError
👍3👎1
Код выведет 'Bob', потому что res — это класс, и ему присваивается атрибут name на уровне класса (res.name = 'Bob'). Затем создаётся экземпляр x = res(), у которого нет собственного атрибута name. При вызове x.name интерпретатор ищет атрибут сначала в экземпляре x, затем в его классе res. Поскольку у res есть атрибут name, возвращается 'Bob'. Это пример наследования атрибутов экземпляром от класса.
👍3👎1
Как получить список базовых (родительских) классов класса Second?
Anonymous Quiz
24%
Second.__bases__
48%
Second.__superclass__
20%
Second.__dict__
9%
Никак
👍2👎1
В Python каждый класс хранит кортеж своих непосредственных родительских (базовых) классов в атрибуте `__bases__`. Чтобы получить список базовых классов для класса `Second`, нужно обратиться к `Second.__bases__`. Атрибут `__superclass__` не существует в Python и вызовет ошибку. Атрибут `__dict__` содержит пространство имён класса, но не предоставляет информацию о базовых классах. Таким образом, верный способ — использовать `Second.__bases__`.
👍3👎1
🔍 Что выведет код?
Anonymous Quiz
18%
1
10%
2
22%
3
50%
Error
👎16
При наличии в источнике данных хотя бы одного отсутствующего значения библиотека pandas преобразует все целочисленные значения в значения с плавающей точкой.
👍2👎1
Что выведет код?
Anonymous Quiz
41%
15
13%
None
16%
nan
31%
Error
👍2👎2
🌱 Что выведет код?
Anonymous Quiz
54%
1
30%
2
10%
3
7%
Error
👍1👎1
Звёздочка *b забирает "середину" — всё, что между первым и последним элементом.
👍1👎1
Знакомьтесь — OTP Tech

Канал про IT в ОТП Банке. Если хочешь быть в теме и знать, как современные технологии и решения работают в международном финтехе, то подписывайся на OTP Tech.

Ребята активно развиваются, внедряют современные решения вроде ИИшек, заблаговременно думают о рисках и, например, первыми в России перешли на процессинг Solar, а еще активно формируют культуру работы с данными. И это только верхушка того, чем эксперты начали делиться у себя в ТГ. Подписывайтесь и добавляйте канал в папку «Полезное».

Подписаться

Это #партнёрский пост
👍1👎1
У нас есть Series с числами: [1, 2, 3, np.nan, 4, 5]. Когда мы вызываем numbers.sum(skipna=False), мы явно указываем, что НЕ хотим пропускать значения nan. В этом случае, любая арифметическая операция с nan (включая суммирование) даст результат nan. Любая арифметическая операция с nan всегда возвращает nan
🤡5👍1