Commit 4b2a42f5 by Patryk Czarnik

pierwsze przykłady jupyter

parent 164e1de4
{
"cells": [
{
"cell_type": "markdown",
"id": "ca869570",
"metadata": {},
"source": [
"# Wprowadzenie do Jupyter Notebook\n",
"\n",
"Jupyter Notebook i Jupyter Lab to narzędzia pozwalające na interaktywną pracę z Pythonem przez przeglądarkę internetową. Notatnik składa się z **komórek** (*cell*), w które wpisuje się kod.\n",
"Wykonanie komórki naprawdę wykonuje podany w niej kod (np. gdyby polecenie tworzyło plik, to ten plik naprawdę by powstał na dysku), a jego wynik jest wyświetlany poniżej.\n",
"\n",
"Komórki mogą być typu Code lub Markdown (pola tekstowe / dokumentacja, jak tutaj).\n",
"\n",
"Podstawowa wersja, domyślnie dostępna w Anacondzie, obsługuje Pythona 3, ale ogólnie rzecz biorąc istnieją wersje Jupytera obsługujące także R i C++."
]
},
{
"cell_type": "markdown",
"id": "2a5a27e8",
"metadata": {},
"source": [
"## Pierwsze kroki"
]
},
{
"cell_type": "markdown",
"id": "7b0882a6",
"metadata": {},
"source": [
"**Instrukcje** (*statement*) się po prostu wykonują.\\\n",
"Jeśli polecenie coś drukuje (`print`), to wypisane rzeczy są widoczne pod komórką."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "4b70d8a4",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hello world\n"
]
}
],
"source": [
"print('Hello world')"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "a94cd4b3",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Początek\n",
"1, 2, 3, 4, \n",
"Koniec\n"
]
}
],
"source": [
"print('Początek')\n",
"for x in range(1, 5):\n",
" print(x, end=', ')\n",
"print('\\nKoniec')"
]
},
{
"cell_type": "markdown",
"id": "8dd850cb",
"metadata": {},
"source": [
"**Wyrażenia** (*expression*) są wyliczane, a ich wyniki wypisywane pod komórką bez potrzeby pisania `print`."
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "379da1ca",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"10"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"2 * 3 + 4"
]
},
{
"cell_type": "markdown",
"id": "310950e0",
"metadata": {},
"source": [
"Dokładnie mówiąc, wypisywany jest wynik **ostatniego** wyrażenia w komórce."
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "38c1897f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"12"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x = 4\n",
"100 + 20 + x\n",
"3 * x"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "3eca3cae",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# W komórkach Pythona mogą być komentarze\n",
"[x*x for x in range(10)]"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "5f5bfe8a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0\n",
"1\n",
"4\n",
"9\n",
"16\n",
"25\n",
"36\n",
"49\n",
"64\n",
"81\n"
]
}
],
"source": [
"for x in range(10):\n",
" print(x*x)"
]
},
{
"cell_type": "markdown",
"id": "4814a131",
"metadata": {},
"source": [
"Gdy w komórce zdefiniujemy zmienną (analogicznie funkcję lub klasę), jest ona dostępna także w następnych komórkach. Liczy się kolejność faktycznego wykonania komórek."
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "426d2633",
"metadata": {},
"outputs": [],
"source": [
"liczba = 5432\n",
"miasto = 'Warszawa'\n",
"\n",
"def srednia(x, y):\n",
" return (x + y) / 2"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "1b94295c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Warszawa\n"
]
}
],
"source": [
"print(miasto)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "d8213617",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"10865"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"2*liczba + 1"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "40b2478e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"7.5"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"srednia(5, 10)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "3b23a157",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"3216.0"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"srednia(liczba, 1000)"
]
},
{
"cell_type": "markdown",
"id": "9c37d6fd",
"metadata": {},
"source": [
"## Podstawy pracy w Jupyter"
]
},
{
"cell_type": "markdown",
"id": "f57d0267",
"metadata": {},
"source": [
"### Tryby pracy\n",
"\n",
"Podczas pracy z Jupyterem znajdujemy się w trybie poleceń (*command mode*) albo w trybie edycji (*edit mode*).\n",
"O tym świadczy kolor paska po lewej stronie: niebieski - tryb poleceń, zielony - tryb edycji.\n",
"\n",
"**ENTER** (lub podwójne kliknięcie we wnętrze komórki) - wchodzimy w tryb edycji\n",
"\n",
"**ESC** - wychodzimy z trybu edycji do trybu poleceń\n",
"\n",
"Gdy jesteśmy w trybie poleceń, to:\n",
"- klawisze ↑ ↓ przesuwają nas między komórkami w notatniku\n",
"- trzymając SHIFT możemy wtedy zaznaczać całe komórki i zestawy komórek\n",
"- zwykłe znaki (litery) z klawiatury oznaczają wtedy różne polecenia, które wykonuje się po prostu naciskając daną literę. Np. C - kopiuj, V - wklej\n",
"\n",
"Ponieważ zazwyczaj znajdujemy się w trybie edycji, w praktyce skróty warto zapamiętywać jako sekwencje Escape + litera\n",
"Np. kopiuj / wklej komórkę: ESC C V"
]
},
{
"cell_type": "markdown",
"id": "356ec3f5",
"metadata": {},
"source": [
"### Polecenia w trybie edycji\n",
"\n",
"#### Trzy sposoby wykonywania komórek:\n",
"- Ctrl+Enter - wykonuje i pozostaje w miejscu; można wykonać wiele zaznaczonych komórek\n",
"- Shift+Enter - wykouje i przechodzi niżej (do nast. komórki, a gdyby to był koniec pliku, to ją tworzy)\n",
"- Alt+Enter - wykonuje i wstawia nową komórkę poniżej\n",
"\n",
"#### Edycja\n",
"- Ctrl+C, Ctrl+X, Ctrl-V - kopiuj, wytnij, wklej tekst\n",
"- Ctrl+Z undo, Ctrl-Y redo\n",
"- Ctrl+/ komentarz\n",
"\n",
"#### Polecenia specjalne\n",
"- Tab - podpowiedź\n",
"- Shift Tab (Tab) - dokumentacja\n",
"- Ctrl Shift minus - podziel komórkę w tym miejscu\n",
"- Ctrl S - zapisz notatnik"
]
},
{
"cell_type": "markdown",
"id": "016ddc79",
"metadata": {},
"source": [
"### Polecenia trybu poleceń\n",
"\n",
"(czyli najpierw Esc, aby wyjść z trybu edycji)\n",
"\n",
"- Ctrl S - zapisz notatnik\n",
"- C - kopiuj komórki\n",
"- X - wytnij komórki\n",
"- V - wklej komórki\n",
"- A - dodaj komórkę powyżej\n",
"- B - dodaj komórkę poniżej\n",
"- D D - usuń\n",
"- Z - cofnij usunięcie\n",
"- M - przełącz na typ Markdown\n",
"- Y - przełącz na typ Python\n",
"- O - ukryj/pokaż wynik\n",
"- Shift+M - połącz komórki\n",
"- H - wyświetl listę poleceń\n",
"\n",
"Niektóre polecenia są na pasku narzędzi i w menu.\\\n",
"Bardzo przydatne jest przesuwanie komórek za pomocą strzałek z paska narzędzi.\\\n",
"Ja często używam poleceń Restart (and Clear Output / and Run All)."
]
},
{
"cell_type": "markdown",
"id": "ffd270d3",
"metadata": {},
"source": [
"# Temat formatu Markdown\n",
"\n",
"Włącz tryb edycji, aby zobaczyć źródło tego tekstu.\n",
"\n",
"Markdown to bardzo język znaczników, dzięki któremu można w prosty sposób umieszczać sformatowane fragmenty tekstu w notatnikach Jupytera. Format ten jest też ostatnio często wykorzystywany do tworzenia dokumentacji oprogramowania.\n",
"\n",
"## Nagłówek 2\n",
"### Nagłówek 3\n",
"A to to już zwykły tekst\n",
"\n",
"To jest kawałek tekstu\n",
"pisany w kilku liniach - zauważmy,\n",
"że zostanie połączony w jeden akapit.\n",
"\n",
"Aby stworzyć kolejny akapit, trzeba zrobić linię odstępu.\n",
"\n",
"Natomiast podział linii w ramach tego samego akapitu\\\n",
"można wymusić znakiem `\\` (backslash)\\\n",
"pojedynczym, bo podwójny \\\\ spowoduje wyświetlenie tego znaku.\n",
"\n",
"### Znowu nagłówek 3\n",
"\n",
"### Listy\n",
"Punktowana\n",
"- Ala\n",
"- Ola\n",
"- Ela\n",
"\n",
"Numerowana\n",
"1. Adam\n",
"2. Ludwik\n",
" - podpunkt\n",
" - podpunkt\n",
"1. Ksawery\n",
"1. Antoni\n",
"\n",
"To jest tekst *lekko wyróżniony*, czyli kursywa.\n",
"A to jest tekst **mocny wyróżniony** czyli bold.\n",
"\n",
"A tutaj format dla fragmentu kodu `for x in range(100): print(x)`\n",
"\n",
"Zaraz wstawię odnośnik: [Strona ALX](https://www.alx.pl)\n",
"\n",
"Odnośnik z title: [Strona Pythona](http://www.python.org \"Tutaj może pobrać Pythona i poczytać dokumentację\")\n",
"\n",
"[Opis formatu Markdown](https://www.markdownguide.org/basic-syntax/)"
]
},
{
"cell_type": "markdown",
"id": "47f38f19",
"metadata": {},
"source": [
"# Polecenia Jupytera\n",
"\n",
"### ! - polecenia systemowe"
]
},
{
"cell_type": "markdown",
"id": "0abda6c9",
"metadata": {},
"source": [
"Polecenia poprzedzone wykrzyknikiem `!` zostaną wykonane jako polecenia systemowe tak, jakbyśmy je wpisali w wiersz poleceń. Zostaną wykonane w bieżącym wirtualnym środowisku (np. tutaj wykonają się „w Anacondzie”)."
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "e15fe35e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Volume in drive C has no label.\n",
" Volume Serial Number is 8A59-2DC0\n",
"\n",
" Directory of C:\\Users\\patcz\\Desktop\\kurs_alx\\dzien1\n",
"\n",
"20.11.2023 12:12 <DIR> .\n",
"20.11.2023 12:12 <DIR> ..\n",
"20.11.2023 11:54 <DIR> .ipynb_checkpoints\n",
"20.11.2023 11:34 577 190 01_pierwsze_kroki.html\n",
"20.11.2023 11:42 1 716 01_pierwsze_kroki.ipynb\n",
"20.11.2023 12:12 14 637 02_jupyter_podstawy.ipynb\n",
"20.11.2023 10:19 22 hello.py\n",
"20.11.2023 11:06 684 rozmowa.py\n",
" 5 File(s) 594 249 bytes\n",
" 3 Dir(s) 208 841 433 088 bytes free\n"
]
}
],
"source": [
"!dir"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "0656d2a9",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"pip 23.2.1 from C:\\Users\\patcz\\anaconda3\\Lib\\site-packages\\pip (python 3.11)\n",
"\n"
]
}
],
"source": [
"!pip --version"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "4fe3d94d",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: pytest in c:\\users\\patcz\\anaconda3\\lib\\site-packages (7.4.0)\n",
"Requirement already satisfied: iniconfig in c:\\users\\patcz\\anaconda3\\lib\\site-packages (from pytest) (1.1.1)\n",
"Requirement already satisfied: packaging in c:\\users\\patcz\\anaconda3\\lib\\site-packages (from pytest) (23.1)\n",
"Requirement already satisfied: pluggy<2.0,>=0.12 in c:\\users\\patcz\\anaconda3\\lib\\site-packages (from pytest) (1.0.0)\n",
"Requirement already satisfied: colorama in c:\\users\\patcz\\anaconda3\\lib\\site-packages (from pytest) (0.4.6)\n"
]
}
],
"source": [
"# Przykładowo, aby doinstalować bibliotekę pytest, należałoby wpisać\n",
"!pip install pytest"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "e85da862",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hello world\n"
]
}
],
"source": [
"# Jeden ze sposobów uruchomienia zewnętrznego programu w Pythonie to byłby:\n",
"!python hello.py"
]
},
{
"cell_type": "markdown",
"id": "3916388f",
"metadata": {},
"source": [
"### % - wewnętrzne polecenia Jupytera"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "d764556b",
"metadata": {},
"outputs": [
{
"data": {
"application/json": {
"cell": {
"!": "OSMagics",
"HTML": "Other",
"SVG": "Other",
"bash": "Other",
"capture": "ExecutionMagics",
"cmd": "Other",
"code_wrap": "ExecutionMagics",
"debug": "ExecutionMagics",
"file": "Other",
"html": "DisplayMagics",
"javascript": "DisplayMagics",
"js": "DisplayMagics",
"latex": "DisplayMagics",
"markdown": "DisplayMagics",
"perl": "Other",
"prun": "ExecutionMagics",
"pypy": "Other",
"python": "Other",
"python2": "Other",
"python3": "Other",
"ruby": "Other",
"script": "ScriptMagics",
"sh": "Other",
"svg": "DisplayMagics",
"sx": "OSMagics",
"system": "OSMagics",
"time": "ExecutionMagics",
"timeit": "ExecutionMagics",
"writefile": "OSMagics"
},
"line": {
"alias": "OSMagics",
"alias_magic": "BasicMagics",
"autoawait": "AsyncMagics",
"autocall": "AutoMagics",
"automagic": "AutoMagics",
"autosave": "KernelMagics",
"bookmark": "OSMagics",
"cd": "OSMagics",
"clear": "KernelMagics",
"cls": "KernelMagics",
"code_wrap": "ExecutionMagics",
"colors": "BasicMagics",
"conda": "PackagingMagics",
"config": "ConfigMagics",
"connect_info": "KernelMagics",
"copy": "Other",
"ddir": "Other",
"debug": "ExecutionMagics",
"dhist": "OSMagics",
"dirs": "OSMagics",
"doctest_mode": "BasicMagics",
"echo": "Other",
"ed": "Other",
"edit": "KernelMagics",
"env": "OSMagics",
"gui": "BasicMagics",
"hist": "Other",
"history": "HistoryMagics",
"killbgscripts": "ScriptMagics",
"ldir": "Other",
"less": "KernelMagics",
"load": "CodeMagics",
"load_ext": "ExtensionMagics",
"loadpy": "CodeMagics",
"logoff": "LoggingMagics",
"logon": "LoggingMagics",
"logstart": "LoggingMagics",
"logstate": "LoggingMagics",
"logstop": "LoggingMagics",
"ls": "Other",
"lsmagic": "BasicMagics",
"macro": "ExecutionMagics",
"magic": "BasicMagics",
"matplotlib": "PylabMagics",
"mkdir": "Other",
"more": "KernelMagics",
"notebook": "BasicMagics",
"page": "BasicMagics",
"pastebin": "CodeMagics",
"pdb": "ExecutionMagics",
"pdef": "NamespaceMagics",
"pdoc": "NamespaceMagics",
"pfile": "NamespaceMagics",
"pinfo": "NamespaceMagics",
"pinfo2": "NamespaceMagics",
"pip": "PackagingMagics",
"popd": "OSMagics",
"pprint": "BasicMagics",
"precision": "BasicMagics",
"prun": "ExecutionMagics",
"psearch": "NamespaceMagics",
"psource": "NamespaceMagics",
"pushd": "OSMagics",
"pwd": "OSMagics",
"pycat": "OSMagics",
"pylab": "PylabMagics",
"qtconsole": "KernelMagics",
"quickref": "BasicMagics",
"recall": "HistoryMagics",
"rehashx": "OSMagics",
"reload_ext": "ExtensionMagics",
"ren": "Other",
"rep": "Other",
"rerun": "HistoryMagics",
"reset": "NamespaceMagics",
"reset_selective": "NamespaceMagics",
"rmdir": "Other",
"run": "ExecutionMagics",
"save": "CodeMagics",
"sc": "OSMagics",
"set_env": "OSMagics",
"store": "StoreMagics",
"sx": "OSMagics",
"system": "OSMagics",
"tb": "ExecutionMagics",
"time": "ExecutionMagics",
"timeit": "ExecutionMagics",
"unalias": "OSMagics",
"unload_ext": "ExtensionMagics",
"who": "NamespaceMagics",
"who_ls": "NamespaceMagics",
"whos": "NamespaceMagics",
"xdel": "NamespaceMagics",
"xmode": "BasicMagics"
}
},
"text/plain": [
"Available line magics:\n",
"%alias %alias_magic %autoawait %autocall %automagic %autosave %bookmark %cd %clear %cls %code_wrap %colors %conda %config %connect_info %copy %ddir %debug %dhist %dirs %doctest_mode %echo %ed %edit %env %gui %hist %history %killbgscripts %ldir %less %load %load_ext %loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %macro %magic %matplotlib %mkdir %more %notebook %page %pastebin %pdb %pdef %pdoc %pfile %pinfo %pinfo2 %pip %popd %pprint %precision %prun %psearch %psource %pushd %pwd %pycat %pylab %qtconsole %quickref %recall %rehashx %reload_ext %ren %rep %rerun %reset %reset_selective %rmdir %run %save %sc %set_env %store %sx %system %tb %time %timeit %unalias %unload_ext %who %who_ls %whos %xdel %xmode\n",
"\n",
"Available cell magics:\n",
"%%! %%HTML %%SVG %%bash %%capture %%cmd %%code_wrap %%debug %%file %%html %%javascript %%js %%latex %%markdown %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script %%sh %%svg %%sx %%system %%time %%timeit %%writefile\n",
"\n",
"Automagic is ON, % prefix IS NOT needed for line magics."
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Lista dostępnych poleceń\n",
"%lsmagic"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "70da3772",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'C:\\\\Users\\\\patcz\\\\Desktop\\\\kurs_alx\\\\dzien1'"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# info o bieżącym katalogu\n",
"%pwd"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "7e81cb6f",
"metadata": {},
"outputs": [],
"source": [
"# %cd - zmiana katalogu\n",
"# %cd dzien2"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "4f145c28",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: pytest in c:\\users\\patcz\\anaconda3\\lib\\site-packages (7.4.0)\n",
"Requirement already satisfied: iniconfig in c:\\users\\patcz\\anaconda3\\lib\\site-packages (from pytest) (1.1.1)\n",
"Requirement already satisfied: packaging in c:\\users\\patcz\\anaconda3\\lib\\site-packages (from pytest) (23.1)\n",
"Requirement already satisfied: pluggy<2.0,>=0.12 in c:\\users\\patcz\\anaconda3\\lib\\site-packages (from pytest) (1.0.0)\n",
"Requirement already satisfied: colorama in c:\\users\\patcz\\anaconda3\\lib\\site-packages (from pytest) (0.4.6)\n",
"Note: you may need to restart the kernel to use updated packages.\n"
]
}
],
"source": [
"# %pip - inny sposób uruchmienia pip (instalatora bibliotek)\n",
"%pip install pytest"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "365b28f2",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hello world\n"
]
}
],
"source": [
"# uruchomienie zewnętrznego skryptu\n",
"# %cd dzien2\n",
"%run hello.py"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "25456642",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'ALLUSERSPROFILE': 'C:\\\\ProgramData',\n",
" 'APPDATA': 'C:\\\\Users\\\\patcz\\\\AppData\\\\Roaming',\n",
" 'COMMONPROGRAMFILES': 'C:\\\\Program Files\\\\Common Files',\n",
" 'COMMONPROGRAMFILES(X86)': 'C:\\\\Program Files (x86)\\\\Common Files',\n",
" 'COMMONPROGRAMW6432': 'C:\\\\Program Files\\\\Common Files',\n",
" 'COMPUTERNAME': 'DESKTOP-DOBFI8C',\n",
" 'COMSPEC': 'C:\\\\Windows\\\\system32\\\\cmd.exe',\n",
" 'CONDA_DEFAULT_ENV': 'base',\n",
" 'CONDA_EXE': 'C:\\\\Users\\\\patcz\\\\anaconda3\\\\Scripts\\\\conda.exe',\n",
" 'CONDA_PROMPT_MODIFIER': '(base) ',\n",
" 'CONDA_PYTHON_EXE': 'C:\\\\Users\\\\patcz\\\\anaconda3\\\\python.exe',\n",
" 'CONDA_SHLVL': '1',\n",
" 'DRIVERDATA': 'C:\\\\Windows\\\\System32\\\\Drivers\\\\DriverData',\n",
" 'HOMEDRIVE': 'C:',\n",
" 'HOMEPATH': '\\\\Users\\\\patcz',\n",
" 'LOCALAPPDATA': 'C:\\\\Users\\\\patcz\\\\AppData\\\\Local',\n",
" 'LOGONSERVER': '\\\\\\\\DESKTOP-DOBFI8C',\n",
" 'NUMBER_OF_PROCESSORS': '4',\n",
" 'ONEDRIVE': 'C:\\\\Users\\\\patcz\\\\OneDrive',\n",
" 'ONEDRIVECONSUMER': 'C:\\\\Users\\\\patcz\\\\OneDrive',\n",
" 'OS': 'Windows_NT',\n",
" 'PATH': 'C:\\\\Users\\\\patcz\\\\anaconda3;C:\\\\Users\\\\patcz\\\\anaconda3\\\\Library\\\\mingw-w64\\\\bin;C:\\\\Users\\\\patcz\\\\anaconda3\\\\Library\\\\usr\\\\bin;C:\\\\Users\\\\patcz\\\\anaconda3\\\\Library\\\\bin;C:\\\\Users\\\\patcz\\\\anaconda3\\\\Scripts;C:\\\\Users\\\\patcz\\\\anaconda3\\\\bin;C:\\\\Users\\\\patcz\\\\anaconda3\\\\condabin;C:\\\\Users\\\\patcz\\\\anaconda3;C:\\\\Users\\\\patcz\\\\anaconda3\\\\Library\\\\mingw-w64\\\\bin;C:\\\\Users\\\\patcz\\\\anaconda3\\\\Library\\\\usr\\\\bin;C:\\\\Users\\\\patcz\\\\anaconda3\\\\Library\\\\bin;C:\\\\Users\\\\patcz\\\\anaconda3\\\\Scripts;C:\\\\Windows\\\\system32;C:\\\\Windows;C:\\\\Windows\\\\System32\\\\Wbem;C:\\\\Windows\\\\System32\\\\WindowsPowerShell\\\\v1.0;C:\\\\Windows\\\\System32\\\\OpenSSH;C:\\\\Users\\\\patcz\\\\AppData\\\\Local\\\\Microsoft\\\\WindowsApps;.',\n",
" 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC',\n",
" 'PROCESSOR_ARCHITECTURE': 'AMD64',\n",
" 'PROCESSOR_IDENTIFIER': 'AMD64 Family 23 Model 1 Stepping 1, AuthenticAMD',\n",
" 'PROCESSOR_LEVEL': '23',\n",
" 'PROCESSOR_REVISION': '0101',\n",
" 'PROGRAMDATA': 'C:\\\\ProgramData',\n",
" 'PROGRAMFILES': 'C:\\\\Program Files',\n",
" 'PROGRAMFILES(X86)': 'C:\\\\Program Files (x86)',\n",
" 'PROGRAMW6432': 'C:\\\\Program Files',\n",
" 'PROMPT': '(base) $P$G',\n",
" 'PSMODULEPATH': 'C:\\\\Program Files\\\\WindowsPowerShell\\\\Modules;C:\\\\Windows\\\\system32\\\\WindowsPowerShell\\\\v1.0\\\\Modules',\n",
" 'PUBLIC': 'C:\\\\Users\\\\Public',\n",
" 'SESSIONNAME': 'Console',\n",
" 'SSL_CERT_FILE': 'C:\\\\Users\\\\patcz\\\\anaconda3\\\\Library\\\\ssl\\\\cacert.pem',\n",
" 'SYSTEMDRIVE': 'C:',\n",
" 'SYSTEMROOT': 'C:\\\\Windows',\n",
" 'TEMP': 'C:\\\\Users\\\\patcz\\\\AppData\\\\Local\\\\Temp',\n",
" 'TMP': 'C:\\\\Users\\\\patcz\\\\AppData\\\\Local\\\\Temp',\n",
" 'USERDOMAIN': 'DESKTOP-DOBFI8C',\n",
" 'USERDOMAIN_ROAMINGPROFILE': 'DESKTOP-DOBFI8C',\n",
" 'USERNAME': 'patcz',\n",
" 'USERPROFILE': 'C:\\\\Users\\\\patcz',\n",
" 'WINDIR': 'C:\\\\Windows',\n",
" 'CONDA_PREFIX': 'C:\\\\Users\\\\patcz\\\\anaconda3',\n",
" 'CONDA_ROOT': 'C:\\\\Users\\\\patcz\\\\anaconda3',\n",
" '__CONDA_OPENSLL_CERT_FILE_SET': '\"1\"',\n",
" 'PYDEVD_USE_FRAME_EVAL': 'NO',\n",
" 'JPY_INTERRUPT_EVENT': '4612',\n",
" 'IPY_INTERRUPT_EVENT': '4612',\n",
" 'JPY_PARENT_PID': '4740',\n",
" 'TERM': 'xterm-color',\n",
" 'CLICOLOR': '1',\n",
" 'FORCE_COLOR': '1',\n",
" 'CLICOLOR_FORCE': '1',\n",
" 'PAGER': 'cat',\n",
" 'GIT_PAGER': 'cat',\n",
" 'MPLBACKEND': 'module://matplotlib_inline.backend_inline'}"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Wypisz zmienne środowiskowe\n",
"%env"
]
},
{
"cell_type": "markdown",
"id": "ba4ce3d7",
"metadata": {},
"source": [
"### Pomiar czasu"
]
},
{
"cell_type": "markdown",
"id": "5dc9ad2f",
"metadata": {},
"source": [
"`%time` - Pomiar realnego czasu zegarowego dla jednego polecenia:"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "de19c347",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: total: 62.5 ms\n",
"Wall time: 70.3 ms\n"
]
},
{
"data": {
"text/plain": [
"500000500000"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%time sum(range(1, 1000001))"
]
},
{
"cell_type": "markdown",
"id": "fae0b226",
"metadata": {},
"source": [
"`%%timeit` - Przetestowanie komórki pod kątem czasu jej wykonania,\n",
"przy czym Jupyter wykona podane polecenia wielokrotnie, aby obliczyć średni czas i odchylenie std\n",
"\n",
"timeit nie wypisuje wyniku (chyba, że w kodzie jest print)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "7f162fb7",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"98.1 ms ± 3.47 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n"
]
}
],
"source": [
"%%timeit\n",
"suma = 0\n",
"for i in range(1, 1000001):\n",
" suma += i\n",
"# print(suma)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "7a388129",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.11.5"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "7a586e53-d456-4547-8723-913555b05982",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hello world\n"
]
}
],
"source": [
"print(\"Hello world\")"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "51539c20-898e-4a7d-bce2-638f6d4ee4f1",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'Ala ma kota'"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"'Ala ma kota'"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "6fddcec8-4bc1-4629-abe9-8c557535f6cb",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"14"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"2+3*4"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "363a12c8-4678-43b6-a626-45004a4686a0",
"metadata": {},
"outputs": [],
"source": [
"tab = [[x * y for y in range(1, 11)] for x in range(1, 11)]"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "246e9969-2259-4f71-8271-ddd3c77f245e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n",
" [2, 4, 6, 8, 10, 12, 14, 16, 18, 20],\n",
" [3, 6, 9, 12, 15, 18, 21, 24, 27, 30],\n",
" [4, 8, 12, 16, 20, 24, 28, 32, 36, 40],\n",
" [5, 10, 15, 20, 25, 30, 35, 40, 45, 50],\n",
" [6, 12, 18, 24, 30, 36, 42, 48, 54, 60],\n",
" [7, 14, 21, 28, 35, 42, 49, 56, 63, 70],\n",
" [8, 16, 24, 32, 40, 48, 56, 64, 72, 80],\n",
" [9, 18, 27, 36, 45, 54, 63, 72, 81, 90],\n",
" [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tab"
]
},
{
"cell_type": "markdown",
"id": "911594e8-230f-40bd-884a-1559a149a5f0",
"metadata": {},
"source": [
"Zwykły tekst.\n",
"\n",
"# Nagłówek\n",
"\n",
"Lista:\n",
"- jeden\n",
"- dwa\n",
"- trzy\n",
"\n",
"Odnośnik do [strony ALX](https://alx.pl)\n",
"\n",
"Zmienna `emp` jest klasy `Employee`."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "66eb1372-6868-4513-9f5b-3624be92ebb2",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment