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

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
len(s)
Возвращает длину (количество элементов) объекта. Аргумент может быть последовательностью (например, строкой, байтами, кортежем, списком или диапазоном) или коллекцией (например, словарём, набором или фиксированным набором).
👍1👎1
🧩 Какой объект не является базовым типом данных?
Anonymous Quiz
8%
set
27%
complex
39%
nan
27%
Все являются
👍1😱1
w3schools.com: Встроенные типы данных

Выделяют 8 групп, в которых 15 видов данных.
👍1👎1
Марк Лутц, "Изучаем Python", том 2, Глава 31:

«... Допускается вызывать метод без экземпляра при условии, что метод его не ожидает, и метод вызывается только через класс и никогда через экземпляр. То есть Python будет передавать экземпляр методам только для вызовов через экземпляр. При вызове через класс передавать экземпляр вручную понадобится только в случае, если метод его ожидает:

class Selfless:
def __init__(self, data):
self.data = data
def selfless(arg1, arg2): # Простая функция
return arg1 + arg2
def normal(self, arg1, arg2): # При вызове ожидается экземпляр
return
self.data + arg1 + arg2

X = Selfless(2)
X.normal(3, 4) # Экземпляр передается self автоматически: 2+(3+4)

print(Selfless.normal(X, 3, 4)) # Метод ожидает self: передать вручную
print(Selfless.selfless(3, 4)) # Без передачи экземпляра

Последний тест работает из-за того, что такие методы трактуются как простые функции, не нуждающиеся в экземпляре. Несмотря на то что в Python З.Х перестают отлавливаться некоторые потенциальные ошибки (что, если программист забыл передать экземпляр?), появляется возможность использовать методы класса как простые функции до тех пор, пока им не передается аргумент экземпляра self и они не рассчитывают на него.
👍1👎1
🧩 Что выведет код?
Anonymous Quiz
18%
food
74%
<__main__.Spam object at 0x10...>
6%
None
2%
Error
👍3👎1
Документация Python, 3. Data model, 3.3.1. Basic customization:

... Если не определить метод str или repr в классе, то используется реализация по умолчанию, которая возвращает строку с именем класса и адресом объекта в памяти.


Именно это и происходит в вашем примере.
👍1👎1
🧩 Выполнится ли этот код?
Anonymous Quiz
60%
Да
40%
Нет
😐8👍2👎1
Несмотря на PEP8:

«... Избегайте лишних пробелов в следующих ситуациях:
...
... непосредственно перед открывающей скобкой, которая начинает список аргументов вызова функции:

spam(1) # верно
spam (1) # неверно»

Пробел между названием функции и скобкой не уронит программу.
👍2👎1
🪤 Что выведет код?
Anonymous Quiz
11%
1
45%
2
44%
3
0%
Error
👎4👍1
Из документации Pandas:

-
pandas.to_datetime(arg, ...)
Конвертирует аргумент в тип datetime (в временные метки без часовых поясов).

-
Series.tz_localize(tz, ...)
Присваивает нулевой часовой пояс «наивной» временной метке

-
Series.dt.tz_convert(*args, **kwargs)
Конвертирует временные метки с часовым поясом в указанный часовой пояс "Asia/Jakarta".
👎4👍1