(Blank)
(Blank)
(Blank)
(Blank)
100

Как называется главная ветка в Git? Какой командой посмотреть на какой ветке вы находитесь?

main/master
git branch

100

Перечислите виды параметров функции.

Обязательные, необязательные(дефолтные), *args, **kwargs.

100

Можно ли использовать несколько блоков except в блоке try-except? 

Да, можно использовать несколько блоков except в блоке try-except. Блоки except позволяют обрабатывать различные типы исключений, которые могут возникнуть в блоке try.

100

Что выведет код?
a = str
b = 27
print(a(3) + a(b))

327

200

Согласно руководству PEP8: какая максимальная длина может быть у комментариев в одной строке?

72 символа.

200

Как называют предателя в игре Амонг Ас?

Импостер

200

Что выведет код:

a = [i for i in range(0,10,2)]
a *= 6
a = set(a)
print(list(a[-3])

Ответ: 4

200

Как в Python можно получить текущую дату?

from datetime import date
today = date.today()

300

Что такое анонимная функция (лямбда-функция)? В каких случаях её использование может быть полезным?

Анонимная функция, также известная как лямбда-функция, это безымянная функция, которая может быть определена в одной строке кода без использования ключевого слова def. Лямбда-функции обычно используются для создания простых функций, которые не требуют сложной логики и не используются в других частях программы.
Основные особенности анонимных функций:
1. Безымянность 2. Краткость 3. Простота

300
Что выведет код?

d = {5: 1, 5.0: 2, complex(5, 0): 3}
print(len(d))

Ответ: 1
При создании словаря, каждый ключ считается уникальным, и поскольку все три ключа (5, 5.0 и complex(5, 0)) имеют одинаковое хешируемое значение, они рассматриваются как один ключ. При попытке добавить ключи с одинаковым хешируемым значением в словарь, новое значение перезаписывает предыдущее.

300

Что такое GIT? Как отправить изменения из локального репозитория на удаленный репозиторий в Git?

Git - это система контроля версий, которая позволяет отслеживать изменения в файловой системе проекта и управлять ими. Она позволяет разработчикам работать над проектами совместно, отслеживать изменения, вносить исправления, создавать новые функции и управлять историей проекта.
С помощью команды git push.

300
  1. Что означает аббревиатура L.E.G.B.?
  2. Какая последовательность рассмотрения областей искомого имени при применении правил L.E.G.B.?

Аббревиатура L.E.G.B. в контексте программирования означает следующее:

L - Local (локальная область видимости) E - Enclosing (область внешней функции) G - Global (глобальная область видимости) B - Built-in (встроенная область видимости)

Эти области видимости определяют порядок, в котором интерпретатор Python ищет имена переменных при выполнении программы.

400

Что такое модуль (module) в Python? Какие преимущества использования модулей в программировании?

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

400
  1. Что такое декоратор функций? 
  2. Можно ли удалить декоратор из функции? Если да, то как это сделать?
  3. Как можно передать аргументы в декоратор?

1. Декоратор функций в Python - это функция, которая принимает другую функцию в качестве аргумента и возвращает новую функцию. Основная идея декораторов функций заключается в том, чтобы добавить функциональность к существующей функции, не изменяя ее исходный код.
2. Нет, нельзя удалить декоратор из функции во время выполнения программы. 

3. Нужно создать еще одну функцию, для агументов декоратора.

400

В чем отличие методов read(), readline(), readlines()?

read() - читает и возвращает весь текст в виде строки
readline() - читает ту строку, на которй находится каретка
readlnes() - читает и возвращает все строки, в виде списка.

400

Что такое глубокое копирование (deepcopy) и поверхностное копирование (copy) объектов в Python, и каким образом они отличаются?

Глубокое копирование (deepcopy) и поверхностное копирование (copy) - это два способа создания копии объектов в Python.
При поверхностном копировании создается новый объект, который содержит ссылки на те же внутренние объекты, что и исходный объект.
Глубокое копирование создает полностью независимую копию объекта и всех его внутренних объектов. Если изменить один из внутренних объектов в глубокой копии, это не повлияет на исходный объект.

500

Что такое рекурсивная функция? Какие особенности и преимущества она имеет? Приведите пример, когда стоит использовать рекурсивную функцию.

Рекурсивная функция - это функция, которая вызывает саму себя внутри своего тела. Она позволяет решать задачи, разделяя их на более простые подзадачи и обрабатывая их рекурсивно. Рекурсивные функции могут быть более компактными и понятными, особенно при работе с задачами, связанными с рекурсивной структурой данных или сложными алгоритмами.

500

Что такое рефакторинг (refactoring) функции? Какие принципы и лучшие практики следует применять при рефакторинге функций?

Рефакторинг (refactoring) функции - это процесс изменения внутренней структуры и реализации функции с целью улучшения её читаемости, поддерживаемости, эффективности или соблюдения определенных принципов программирования.

Принципы и лучшие практики при рефакторинге функций:

  1. Разделение функций на более маленькие.

  2. Устранение дублирования кода

  3. Избегание длинных списков параметров

  4. Применение грамотного именования

  5. Упрощение условных выражений

500

Что такое генератор (generator) и как его создать?

Генератор (generator) - это специальный тип функции в Python, который может возвращать значения по мере необходимости, вместо того чтобы генерировать их все сразу.
Генераторы создаются с использованием ключевого слова yield.

500

Что такое функциональное программирование? Какие особенности и концепции свойственны функциональному программированию?

Функциональное программирование (Functional Programming) - это подход в программировании, основанный на использовании функций в качестве основных строительных блоков в написании кода.
Концепции, свойственные функциональному программированию:
1. Функции высшего порядка

2. Безымянные функции (лямбда-функции)

3. Рекурсия
4. Неизменяемость состояния
И т.д.