dih-jupyter/1. Jupyter - podstawy.ipynb
2020-12-19 13:09:41 +01:00

255 lines
7.5 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Przygotowanie innowacyjnych materiałów szkoleniowych i dokumentacji wewnętrznych w obszarze IT\n",
"# 1. Tworzenie materiałów szkoleniowych w Jupyter Notebook - podstawy"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Czym jest Jupyter Notebook?\n",
"\n",
"Jupyter Notebbok jest datrmowym narzędziem, będącym częścią projektu open source Jupyter, które umożliwia interaktywną pracę i prezentację projektów z zakresu data science.\n",
"\n",
"Jupyter Notebook umożliwia zebranie w jednym pliku zarówno kodu i jego wyniku, jak i tekstu czy plików multimedialnych. \n",
"W pojedynczym dokumencie można uruchomić kod, wyświetlić wynik jego działania, a także dodać do niego objaśnienia, wykresy - czyniąc go bardziej przejrzystym, zrozumiałym, odtwarzalnym i łatwiejszym do udostępnienia innym. \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Osadzanie tekstu - Markdown\n",
"\n",
"Notebook umożliwia umieszczanie tekstu w formacie Markdown. \n",
"W celu umieszczenia tekstu w formacie Markdown należy dodać nową komórkę i ustawić jej typ na *Markdown*.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<img src=\"dodaj%20kom%C3%B3rk%C4%99.PNG\" width=\"50%\"/>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<img src=\"typ%20komorki.PNG\" width=\"50%\" />"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Skróty klawiszowe\n",
"\n",
"Aby **dodać** komórkę, można też użyć skrótu klawiszowego:\n",
"* cmd + a - by dodać komórkę powyżej aktualnie zaznaczonej\n",
"* cmd + b - by dodać komórkę poniżej aktualnie zaznaczonej\n",
"\n",
"By zmienić **format** aktualnie zaznaczonej komórki, można użyć skrótu:\n",
"* cmd + m - by zmienić format na markdown\n",
"* cmd + y - by zmienić format na kod programistyczny\n",
"\n",
"**Wykonywanie** kodu aktualnie zaznaczonej komórki odbywa się poprzez skrót: ctrl + enter \n",
"lub przez przycisk na pasku:\n",
"\n",
"<img src=\"uruchomkod.PNG\" width=\"70%\"/>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Formatowanie tekstu\n",
"\n",
" \n",
" # Nagłówek pierwszego poziomu\n",
" ## Nagłówek drugiego poziomu\n",
" \n",
" Tekst, który tworzy akapit. **Pogrubiony tekst** i __pogrubiony tekst__ *kursywa* lub _kursywa_.\n",
" \n",
" Akapity muszą być oddzielone pustym wierszem.\n",
" \n",
" * Czasem chcemy zawrzeć wypunktowaną listę\n",
" * Listy takie tworzy się używając znaku gwiazdki\n",
" \n",
" 1. Listy mogą być także numerowane.\n",
" 2. Jeśli akurat taka lista jest potrzebna.\n",
" \n",
" [Możliwe jest umieszczanie hyperlinków](https://amu.edu.pl)\n",
" \n",
" Kod wewnątrz tekstu: `foo()`, a blok kodu:\n",
" ```\n",
" bar()\n",
" ```\n",
" \n",
" Można również dodać obraz:\n",
" ![alt txt](https://live.staticflickr.com/8807/18223540618_f9aab7c279_b.jpg)\n",
" \n",
" Jeśli trzeba zmienić rozmiar obrazu, lepiej dodać go przez HTML-owy tag `<img>`:\n",
" <img src=\"https://live.staticflickr.com/8807/18223540618_f9aab7c279_b.jpg\" width=\"30%\" />"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Nagłówek pierwszego poziomu\n",
"## Nagłówek drugiego poziomu\n",
" \n",
"Tekst, który tworzy akapit. **Pogrubiony tekst** i __pogrubiony tekst__ *kursywa* lub _kursywa_.\n",
" \n",
"Akapity muszą być oddzielone pustym wierszem.\n",
" \n",
"* Czasem chcemy zawrzeć wypunktowaną listę\n",
"* Listy takie tworzy się używając znaku gwiazdki\n",
"\n",
"1. Listy mogą być także numerowane.\n",
"2. Jeśli akurat taka lista jest potrzebna.\n",
" \n",
"[Możliwe jest umieszczanie hyperlinków](https://amu.edu.pl)\n",
" \n",
"Kod wewnątrz tekstu: `foo()`, a blok kodu:\n",
"```\n",
"bar()\n",
"```\n",
"\n",
"Można również dodać obraz:\n",
"![alt txt](https://live.staticflickr.com/8807/18223540618_f9aab7c279_b.jpg)\n",
"\n",
"Jeśli trzeba zmienić rozmiar obrazu, lepiej dodać go przez HTML-owy tag `<img>`:\n",
"<img src=\"https://live.staticflickr.com/8807/18223540618_f9aab7c279_b.jpg\" width=\"30%\" />"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Osadzanie kodu\n",
"\n",
"W celu dodania kodu do pliku notebook, należy dodać nową komórkę i zmienić jej typ na *code*, zgodnie z instrukcją podaną powyżej przy dodawaniu Markdown.\n",
"\n",
"Wartym wspomnienia jest fakt, że wynik działania każdego fragmentu kodu jest zapamiętywany dla całego pliku - nie dla pojedynczej komórki. Jeśli zostanie dokonany import jakiejś biblioteki, bądź zadeklarowane zmienne w jednej komórce, to - **po uruchomieniu tego kodu** - będą one dostępne w innych komórkach\n",
"\n",
"### Kod Python\n",
"\n",
"Dla przykładu poniżej w jednej komórce znajduje się import biblioteki i definicja funkcji zwracająca kwadrat liczby, zaś w drugiej jest jej wywołanie na losowej liczbie:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"def square(x):\n",
" return x * x"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"5 do kwadratu to 25\n"
]
}
],
"source": [
"x = np.random.randint(1, 10)\n",
"y = square(x)\n",
"print(f\"{x} do kwadratu to {y}\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Kod shell\n",
"\n",
"Wszystkie komendy, które działają w wierszu poleceń, mogą być używane również w plikach Jupyter Notebook.\n",
"W tym celu należy poprzedzić daną komendę znakiem !:\n",
"```\n",
"!echo \"tekst z komendy powłoki\"\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\"tekst z komendy powloki\"\n"
]
}
],
"source": [
"!echo \"tekst z komendy powloki\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Należy wspomnieć, że nie tylko można używać komend wiersza poleceń, ale również można je łączyć z kodem Python:"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tekst z kodu Python\n"
]
}
],
"source": [
"wiadomosc = 'Tekst z kodu Python'\n",
"!echo {wiadomosc}"
]
}
],
"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.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}