255 lines
7.5 KiB
Plaintext
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
|
|
}
|