Python: задачки и вопросы
رفتن به کانال در Telegram
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
نمایش بیشتر7 128
مشترکین
-124 ساعت
+77 روز
اطلاعاتی وجود ندارد30 روز
آرشیو پست ها
Хватит жить в неведении и не знать, как пройдёт твой день
IT-колода расставит всё по местам.
Что тебя ждёт? Завал задачами, вновь вылезший баг, похвала от тимлида? Вытаскивай карту из колоды и узнай, что приготовила для тебя судьба на день грядущий: https://tprg.ru/CifG
Реклама
Марк Лутц, «Изучаем Python», том 2, гл. 32:
«Помимо появления возможности создавать подклассы встроенных типов и реализовывать метаклассы — один из самых практических контекстов, где такое объединение “тип/класс” становится наиболее очевидным, касается явной проверки типов. Для классических классов Python 2.Х типом экземпляра класса является обобщенный «экземпляр» (instance), но типы встроенных объектов более специфичны:
class С(object): pass # Обычный класс
I = С() # Экземпляры создаются из классов
print(type(I)) # Выведет <class '__main__.С'>»
В данном примере:
- Создается класс С, наследующий от object
- Создается экземпляр I этого класса
- type(I) возвращает <class '__main__.С'>
Из документации Pandas:
DataFrame.set_index(keys, *, ...)
Устанавливает индекс датафрейма, используя существующие столбцы. В данном случае — timestamp.
DataFrame.asfreq(freq, ...):
Преобразует временной ряд в ряд заданной частоты. В данном случае — в ряд ежедневных (D — "Daily") значений.
DataFrame.ffill(*, ...):
Заполняет значения NA / NaN, распространяя последнее действительное наблюдение на следующее действительное. В данном случае — заполняет пропущенные значения в режиме "forward fill" (то есть выставляет значение предыдущего дня на следующий пустующий день).
Из документации Pandas:
- pandas.to_datetime(arg, ...)
Конвертирует аргумент в тип datetime (в временные метки без часовых поясов).
- Series.tz_localize(tz, ...)
Присваивает нулевой часовой пояс «наивной» временной метке
- Series.dt.tz_convert(*args, **kwargs)
Конвертирует временные метки с часовым поясом в указанный часовой пояс "Asia/Jakarta".
Несмотря на PEP8:
«... Избегайте лишних пробелов в следующих ситуациях:
...
... непосредственно перед открывающей скобкой, которая начинает список аргументов вызова функции:
spam(1) # верно
spam (1) # неверно»
Пробел между названием функции и скобкой не уронит программу.
Документация Python, 3. Data model, 3.3.1. Basic customization:
В разделе "Basic customization" (Базовая кастомизация) описано, что если не определить метод str или repr в классе, то используется реализация по умолчанию, которая возвращает строку с именем класса и адресом объекта в памяти.Именно это и происходит в вашем примере.
Марк Лутц, "Изучаем 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 и они не рассчитывают на него.
w3schools.com: Встроенные типы данных
Выделяют 8 групп, в которых 15 видов данных.
len(s)
Возвращает длину (количество элементов) объекта. Аргумент может быть последовательностью (например, строкой, байтами, кортежем, списком или диапазоном) или коллекцией (например, словарём, набором или фиксированным набором).
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
