Python: задачки и вопросы
Ir al canal en Telegram
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
Mostrar más7 128
Suscriptores
-424 horas
+87 días
-230 días
Archivo de publicaciones
Открытый вопрос о качестве задач. В комментариях к этому посту ждем от вас любой критики, конструктивной и не очень.
Что смущает в постановке задач? Хватает ли контекста? Хочется ли более детальных объяснений? Возможно, некоторым тестам не хватает примера кода? За примеры будем отдельно благодарны.
С уважением,
админы
Параметр fill_method позволяет задавать способ замены значений NaN. Этот параметр присутствует во множестве методов — pct_change, diff, и т.д. У метода fillna() он зовется просто method.
— forward-fill (ffill): «протащить» последнее действительное значение вперед;
— backfill (bfill): использовать следующее действительное наблюдение для заполнения пробела;
— zero-fill (zfill): заполнить пробелы нулями
— None: не обрабатывать пропуски
Какого значения параметра fill_method в Pandas не существует?
Наиболее часто используется метод конструктора __init__ класс применяет этот метод для установки начальных значений атрибутов экземпляра и выполнения других задач начального запуска.
🔍 Какой метод перерузки операций используется чаще всего?
self — это имя, обычно назначаемое первому (крайнему слева) аргументу в функции метода класса, который представляет собой подразумеваемый объект вызова метода. Данный аргумент НЕ обязан называться self.
Атрибуты экземпляра создаются посредством присваивания значений атрибутам объекта экземпляра. Они обычно создаются в функциях методов класса, реализованных внутри оператора class, с помощью присваивания значений атрибутам аргумента self (который всегда является подразумеваемым экземпляром).
Однако их тоже можно создавать присваиванием везде, где присутствует ссылка на экземпляр, даже за пределами оператора class. Обычно все атрибуты экземпляра инициализируются в методе конструктора __init__ таким образом, более поздние вызовы методов могут предполагать, что атрибуты уже существуют.
Объяснение: Все три способа являются корректными, но создают разные типы атрибутов:
- attr1 - это атрибут класса, доступный всем экземплярам
- attr2 - это атрибут экземпляра, уникальный для каждого объекта
- attr3 - это атрибут класса, добавленный после определения класса
🌱 Какие из способов создания атрибута класса являются правильными?
Классы всегда вкладываются внутрь модуля. Классы и модули являются пространствами имен, но классы соответствуют операторам (не целым файлам) и поддерживают такие понятия ООП, как множество экземпляров, наследование и перегрузку операций (все перечисленное модули не поддерживают). До известной степени модуль подобен классу с единственным экземпляром без наследования, который соответствует полному файлу кода.
🌱 Что неверно про классы и модули из нижеперечисленного?
Код выведет "b" из-за принципа работы областей видимости LEGB и использования ключевого слова global:
1. Сначала определяется глобальная переменная x со значением "a":
x = "a"
2. Затем определяется функция outer_func(), которая объявляет x как глобальную переменную с помощью ключевого слова global:
def outer_func():
global x
3. Внутри outer_func() определяется вложенная функция nested_func(), которая просто выводит значение x:
def nested_func():
print(x)
4. После определения функций, значение глобальной переменной x изменяется на "b":
x = "b"
Благодаря объявлению global x внутри outer_func(), все обращения к x внутри этой функции (включая вложенные функции) будут ссылаться на глобальную переменную x. Когда nested_func() вызывается и пытается вывести x, она ищет значение x в следующем порядке (LEGB):
— L (Local): локальной переменной x нет;
— E (Enclosing): из-за global x в outer_func, пропускается;
— G (Global): находит x со значением "b";
— B (Built-in): не требуется.
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
