{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "71482a2a",
   "metadata": {},
   "source": [
    "# Тест по классам и объектам #"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a9a9349c",
   "metadata": {},
   "source": [
    "##### Вас зовут:\n",
    "___"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1ae3f26a",
   "metadata": {},
   "source": [
    "##### 1. Как узнать тип объекта `obj`?\n",
    "\n",
    "- [ ] `isinstance(obj)`\n",
    "- [ ] `type(obj)`"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f185dff8",
   "metadata": {},
   "source": [
    "##### 2. Отметить что является классом:\n",
    "\n",
    "- [ ] `\"1024\"`\n",
    "- [ ] `str`\n",
    "- [ ] `1024`\n",
    "- [ ] `class`\n",
    "- [ ] `int`"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5eec52e6",
   "metadata": {},
   "source": [
    "##### 3. Куда записываются атрибуты объекта?\n",
    "\n",
    "- [ ] `obj.__class__`\n",
    "- [ ] `obj.__attrt__`\n",
    "- [ ] `obj.__doc__`\n",
    "- [ ] `obj.__dict__`"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e67e6935",
   "metadata": {},
   "source": [
    "##### 4. Когда вызывается метод `__init__`?\n",
    "\n",
    "- [ ] При обращении к методу экземпляра\n",
    "- [ ] При объявлении класса\n",
    "- [ ] При создании экземпляра"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5e090536",
   "metadata": {},
   "source": [
    "##### 5. Экземпляры классов хешируются?\n",
    "\n",
    "- [ ] Да\n",
    "- [ ] Нет"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e425d1b2",
   "metadata": {},
   "source": [
    "##### 6. Отметьте верные утверждения про `classmethod`\n",
    "\n",
    "- [ ] Метод первым аргументом принимает класс\n",
    "- [ ] Метод не принимает дополнительных аргументов кроме указанных программистом\n",
    "- [ ] К этому методу можно обращаться от экземпляра класса\n",
    "- [ ] К этому методу можно обращаться от имени класса\n",
    "- [ ] Метод первым аргументом принимает ссылку на экземпляр класса\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d11a3139",
   "metadata": {},
   "source": [
    "##### 7. Отметьте верные утверждения про `staticmethod`\n",
    "\n",
    "- [ ] К этому методу можно обращаться от экземпляра класса\n",
    "- [ ] Метод первым аргументом принимает ссылку на экземпляр класса\n",
    "- [ ] Метод первым аргументом принимает класс\n",
    "- [ ] Метод не принимает дополнительных аргументов кроме указанных программистом\n",
    "- [ ] К этому методу можно обращаться от имени класса"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "782a6823",
   "metadata": {},
   "source": [
    "##### 8. Для чего используются `@property`?\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.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
