{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "400513aa",
   "metadata": {},
   "source": [
    "# Тест по блоку #"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5f26f612",
   "metadata": {},
   "source": [
    "##### Вас зовут:\n",
    "___"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "de522557",
   "metadata": {},
   "source": [
    "##### 1. Для чего нужны контекстные менеджеры?\n",
    "\n",
    " - [ ] Они управляют переключением контекста между модулями\n",
    " - [ ] Они используются для определения логики в начале и конце блока кода\n",
    " - [ ] Они управляют переключением контекста между функциями"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ca2f711d",
   "metadata": {},
   "source": [
    "##### 2. Что такое дескриптор?\n",
    "\n",
    " - [ ] Описание класса\n",
    " - [ ] Объект с методами `__get__`/`__set__`/`__delete__`\n",
    " - [ ] Метод доступа к атрибутам класса\n",
    " - [ ] Функция с `yield`"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e8d93626",
   "metadata": {},
   "source": [
    "##### 3. Как закончить исполнение итератора?\n",
    "\n",
    " - [ ] Вернуть `None`\n",
    " - [ ] Вызвать метод `__exit__`\n",
    " - [ ] Выбросить исключение `StopIteration`"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "de9f3ce1",
   "metadata": {},
   "source": [
    "##### 4. Для чего нужны метаклассы?\n",
    "\n",
    " - [ ] Для управление процессом создания классов\n",
    " - [ ] Для создания дескрипторов\n",
    " - [ ] Для создания метаобъектов"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b5e7333f",
   "metadata": {},
   "source": [
    "##### 5. С помощью какого оператора можно получить значение из `__enter__`?\n",
    "\n",
    " - [ ] `to`\n",
    " - [ ] `from`\n",
    " - [ ] `as`"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "be3f88b9",
   "metadata": {},
   "source": [
    "##### 6. Метод `setUp` у наследующегося от `TestCase` класса\n",
    "\n",
    " - [ ] вызывается перед запуском тестового класса\n",
    " - [ ] нужен для подготовки данных перед запуском тестов\n",
    " - [ ] вызывается перед запуском каждого тестового метода\n",
    " - [ ] используется для объявления тестовых методов"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bd80e153",
   "metadata": {},
   "source": [
    "##### 7. С помощью pdb можно\n",
    "\n",
    " - [ ] запускать тесты\n",
    " - [ ] пошагово выполнять программу\n",
    " - [ ] выводить значения переменных\n",
    " - [ ] ставить брейкпоинты"
   ]
  }
 ],
 "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.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
