{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Python для сбора данных\n",
"\n",
"*Алла Тамбовцева, НИУ ВШЭ*"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Знакомство с Jupyter Notebook"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Jupyter Notebook чем-то похож на текстовый редактор: есть меню, панель инструментов и поле для работы (ячейки). Ячейки могут содержать как код, так и текст (неразмеченный и размеченный). Комментарии в ячейках с кодом должны начинаться со знака `#`. \n",
"\n",
"Пример ячейки с кодом:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"3 0.2\n"
]
}
],
"source": [
"a = 3 # создаем переменную a и присваиваем ей значение 3\n",
"b = 0.2 \n",
"\n",
"# комментарий 1\n",
"# комментарий 2\n",
"\n",
"print(a, b) # выводим на экран значения переменных a и b"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"По умолчанию тип ячейки *Code*, это можно увидеть на панели под меню. Чтобы изменить тип ячейки, нужно нажать на стрелочку вниз и выбрать нужный вариант. Всего вариантов четыре: *Code*, *Markdown*, *RawNBConvert* и *Heading*.\n",
"\n",
"* *Code*: ячейка с кодом Python;\n",
"* *Markdown*: ячейка с размеченным текстом, язык разметки Markdown;\n",
"* *RawNBConvert*: неразмеченный (сырой) текст, без курсива/полужирного шрифта;\n",
"* *Heading*: устарел, раньше использовался для заголовков, сейчас их нужно создавать в режиме *Markdown*."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Что можно делать с помощью Markdown?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Выделять заголовки разных уровней."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Заголовок 1\n",
"## Заголовок 2\n",
"### Заголовок 3"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Исходная разметка Markdown:\n",
"\n",
"```\n",
"# Заголовок 1\n",
"## Заголовок 2\n",
"### Заголовок 3\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Выделять части текста с помощью *курсива* или **полужирного начертания**. Или просто зачеркивать. Исходная разметка:\n",
"```\n",
"Выделять части текста с помощью *курсива* или **полужирного начертания**. \n",
"\n",
"Или просто зачеркивать. \n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Добавлять списки разного вида. Ненумерованный список:\n",
"\n",
"* пункт 1 \n",
"* пункт 2\n",
"\n",
"Нумерованный список:\n",
"\n",
"1. Во-первых, ...\n",
"2. Во-вторых, ..."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Исходная разметка для списков:\n",
" \n",
"```\n",
"Ненумерованный список:\n",
"\n",
"* пункт 1 \n",
"* пункт 2\n",
"\n",
"Нумерованный список:\n",
"\n",
"1. Во-первых, ...\n",
"2. Во-вторых, ...\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Для тех, кто знаком с $\\LaTeX{}$: можно красиво оформлять формулы, используя синтаксис, принятый в $\\LaTeX{}$ (наличие установленного на компьютере LaTeX не требуется, текст компилируется в самом Jupyter Notebook):\n",
"\n",
"$$\n",
"A \\cup B\n",
"$$\n",
"\n",
"$$\n",
"y = \\beta_0 + \\beta_1 \\cdot x\n",
"$$\n",
"\n",
"$$\n",
"\\frac{1}{(x+y)^2}\n",
"$$\n",
"\n",
"Код LaTeX:\n",
"\n",
"```\n",
"$$\n",
"A \\cup B\n",
"$$\n",
"\n",
"$$\n",
"y = \\beta_0 + \\beta_1 \\cdot x\n",
"$$\n",
"\n",
"$$\n",
"\\frac{1}{(x+y)^2}\n",
"$$\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Еще можно добавлять ссылки. Текст ссылки и саму ссылку:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[Jupyter](http://jupyter.org/)\n",
"\n",
"Исходник:\n",
"\n",
"```\n",
"[Jupyter](http://jupyter.org/)\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Либо просто ссылку как есть:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"\n",
"Исходник:\n",
"\n",
"```\n",
"\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"И, конечно, можно добавлять картинки!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Так: \n",
" \n",
"![title](test.png) \n",
"\n",
"Исходник:\n",
"\n",
"```\n",
"![title](test.png) \n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Или так (синтаксис, как в html, кто знаком):"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"\n",
"Исходник:\n",
"\n",
"```\n",
"\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*Примечание:* часть с *alt* нужна для того, чтобы в случае, если картинки с таким названием нет, выводился какой-то альтернативный текст вместо неё. Например:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Горячие клавиши"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"В Jupyter Notebook есть свои горячие клавиши, которые позволяют добавлять или удалять ячейки, менять их тип и так далее. Чтобы работать в режиме горячих клавиш, нужно выйти из редактирования ячейки (нажать на *Esc*), а потом набрать нужную комбинацию клавиш. Чтобы вернуться в режим редактирования ячейки, можно кликнуть на нее два раза или, выбрав её, нажать *Enter*. Все полезные комбинации клавиш можно найти в меню (*Help - Keyboard Shortcuts*) или нажав *Esc*, а потом *H* или *P*."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Если потерялись"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"И наконец: как найти, куда Jupyter сохраняет ноутбуки — файлы с расширением `.ipynb`. Можно импортировать библиотеку *os* и узнать текущую рабочую папку (*current working directory*) — в ней будут лежать ноутбуки."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'/home/oem/github/Py-programming-3/02-04'"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import os\n",
"os.getcwd()"
]
}
],
"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.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}