{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "88beaeb4",
   "metadata": {},
   "source": [
    "# Тест по блоку #"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "178d0d2a",
   "metadata": {},
   "source": [
    "1. Можно ли использовать изменяемые объекты в качестве значений по умолчанию в функциях?\n",
    "\n",
    "- [ ] Нет, случится синтаксическая ошибка\n",
    "- [x] Да, но это может привести к неочевидным ошибкам"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "824d16df",
   "metadata": {},
   "source": [
    "2. Выберите верные утверждения про кортежи:\n",
    "\n",
    "- [ ] кортежи изменяемые\n",
    "- [x] кортежи могут содержать элементы различных типов\n",
    "- [ ] проверка на вхождение элемента в кортеж происходит за константное время\n",
    "- [x] проверка на вхождение элемента в кортеж происходит за линейное время\n",
    "- [x] кортежи неизменяемые"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "db457384",
   "metadata": {},
   "source": [
    "3. Какой записи эквивалентно применение декоратора?\n",
    "\n",
    "```python\n",
    "@login_required\n",
    "def send_feedback(request)\n",
    "```\n",
    "\n",
    "- [x] `send_feedback = login_required(send_feedback)`\n",
    "- [ ] `def login_required(send_feedback)`\n",
    "- [ ] `login_required = send_feedback(login_required)`\n",
    "- [ ] `def login_required(send_feedback)(request)`"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3fd4a5b6",
   "metadata": {},
   "source": [
    "4. Для чего используются декораторы?\n",
    "\n",
    "- [ ] Чтобы иметь возможность импортировать функцию в другой модуль\n",
    "- [ ] Для эффективного использования памяти при итерации\n",
    "- [x] Для модификации поведения функций"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "659228ff",
   "metadata": {},
   "source": [
    "5. Выберите верные утверждения про множества:\n",
    "\n",
    "- [x] проверка на вхождение элемента в множество происходит за константное время\n",
    "- [x] множества изменяемые\n",
    "- [ ] проверка на вхождение элемента в множество происходит за линейное время\n",
    "- [ ] множества неизменяемые"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bb5b6db9",
   "metadata": {},
   "source": [
    "6. Что происходит при итерации по генератору?\n",
    "\n",
    "- [ ] Каждую итерацию вызывается функция `next`, и генератор исполняется с начала\n",
    "- [ ] Итерация происходит по списку значений, который вернул генератор при вызове\n",
    "- [x] Каждую итерацию вызывается функция `next`, и исполнение генератора возобновляется с момента после `yield`"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
