{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Ogólne wprowadzenie do Pythona\n", "\n", " \n", "\n", "## 19 Listopada 2017" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Hello Python!" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "adflakjfsldkfjasd\n", "r\n", "0.6666666666666666\n" ] } ], "source": [ "r = \"adflakjfsldkfj\" + \"asd\"\n", "print(r)\n", "print('r')\n", "print(2 / 3.0)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "print('Hello Python')\n", "print(10) \n", "print(3.14)\n", "print('123456789 * 987654321')\n", "print(10 ** 20)\n", "print(12 ** (3 + 4 *(567 % 8) / 9))\n", "print(\"PI\", \"jest równe\", 3.1415)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Komentarze\n", " * Komentarze nie są interpretowane.\n", " * Komentarze w Pythonie zaczynają się od znaku '#'\n", " * Istnieją komentarze wielolinijkowe tagowane potrójnym \", czyli \"\"\" \"\"\"\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "print(\"Bardzo ważna wiadomość\") # A to jest komentarz\n", "\"\"\"\n", "Komentarz\n", "wielo-\n", "linijkowy\n", "\"\"\"\n", "# print(\"Nie chcę być wydrukowanym\")\n", "print(\"A teraz chcę\")" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Zmienne\n", " * case sensitive,\n", " * brak deklaracji typu,\n", " * do zmiennej można pezypisać wszystko." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 36, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "alaalaalaalaalaalaalaala\n" ] } ], "source": [] }, { "cell_type": "code", "execution_count": 38, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "\n", "\n", "\n" ] } ], "source": [ "print(type(ocena_z_pythona))\n", "print(type(pi))\n", "print(type(imie_prowadzacego))\n", "print(type(nazwisko_prowadzego))\n", "print(type(None))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Listy\n", " * W Pythonie nie ma tablic, są listy;\n", " * Listy mogą przechowywać elementy różnych typów;\n", " * Indeksowanie zaczyna się od 0." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3\n" ] } ], "source": [ "pusta_lista = [] # albo równoważnie pusta_lista = list()\n", "oceny = [5, 4, 3, 5, 5]\n", "roznosci = [3.14, \"pi\", [\"pi\"], 3]\n", "#print(oceny[1])\n", "ciag_10_elem = range(10)\n", "\n", "print(oceny[int(12/ 5)])" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Dodawanie i usuwanie elementów z listy" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "11\n" ] } ], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 24, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 3, 2, 3, 1, 2, 4]\n" ] } ], "source": [ "#oceny.pop(0) # Domyślnie usuwa ostatni element z listy\n", "oceny = [1,2,3,2,3,1,2, 4]\n", "oceny.remove(2)\n", "print(oceny)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Indeksowanie" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 3, 2, 3, 1, 2, 4]\n", "pierwszy element: 1\n", "ostatni element: 4\n", "5 pierwszych: [1, 3, 2, 3, 1]\n", "5 ostatnich [2, 3, 1, 2, 4]\n", "od drugiego, do piątego [3, 2, 3, 1]\n", "parzyste: [3, 3, 2]\n", "od tyłu [4, 2, 1, 3, 2, 3, 1]\n" ] } ], "source": [ "print(oceny)\n", "print('pierwszy element:', oceny[0])\n", "print('ostatni element:', oceny[-1])\n", "print('5 pierwszych:', oceny[:5])\n", "print('5 ostatnich', oceny[-5:])\n", "print('od drugiego, do piątego', oceny[1:5])\n", "print('parzyste:', oceny[1:6:2])\n", "print('od tyłu', oceny[::-1])" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Co możemy zrobić z listą?" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 1, 2, 2, 3, 3, 4]\n", "liczba piątek 0\n" ] } ], "source": [ "oceny.sort()\n", "print(oceny)\n", "oceny.reverse()\n", "print(\"liczba piątek\", oceny.count(5))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Pętla typu ```for```\n", " * W Pythonie pętla *for* działa jak pętla *for each* w innych językach;\n", " * W Pythonie nie ma klamr, ani *begin* i *end*; jako ciało pętli musi być wcięte (najcześciej 4 spacje)." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "for i in range(10):# range[5] = [0,1,2,3,4]\n", " pass\n", " \n", "print('element:', i) # Uwaga wcięcie!\n", "print('sqr:', i **2) # Uwaga wcięcie!" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Schemat:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "for zmienna in lista:\n", " # jakiś kod" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "for ocena in oceny:\n", " print(\"Ocena:\", ocena)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Lista kwadratów" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "kwadraty = []\n", "for i in range(10):\n", " kwadraty.append(i ** 2)\n", "print(kwadraty)\n", "print(kwadraty[5])" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Słowniki, czyli mapy" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "slownik = {}\n", "s_oceny = {\"Justyna\" : [5,5,5], \"Bartek\" : [3,4,5], \"Ola\": [3,3,3]}\n", "print(s_oceny)\n", "s_oceny[1234567890] = [3,4,5]\n", "#print(\"ADAM:\", s_oceny[\"Adam\"])\n", "print(s_oceny)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "s_oceny['Ala'] = [2,2,2,4,4,4,3,3,3]\n", "print(s_oceny)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Iterowanie po słowniku" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "for osoba in s_oceny:\n", " print(osoba,':', s_oceny[osoba])" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "for osoba, oceny in s_oceny.items():\n", " print(osoba,':', oceny)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Instrukcja sterująca ```if ... else```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ " * działa tak samo, jak w innych języka;\n", " * jest dodatkowa instrukcja następnego warunku *elif...*;" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "zmienna = 7\n", "if zmienna < 0:\n", " print(\"Ujemna!\")\n", "elif zmienna == 0:\n", " print(\"Zero!\")\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "if \"Ala\" in s_oceny:\n", " print(\"Ala jest w grupie!\")\n", "else:\n", " print(\"Niestety Ali nie ma grupie!\")" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Funkcje" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "def is_greater_than_5(x):\n", " if x > 5:\n", " return True\n", " else:\n", " return False" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "print(is_greater_than_5(5))\n", "print(is_greater_than_5(-100))\n", "print(is_greater_than_5(500))" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# Łańcuchy znakowe" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "napis = \"Wiadomość\"\n", "print(napis)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "for znak in napis:\n", " print(znak, ord(znak))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "if 'dom' in napis:\n", " print(True)\n", "else:\n", " print(False)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "slowa = ['Bardzo' , 'ważna', 'wiadomość']\n", "print(' '.join(slowa))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "text = \"Bardzo ważna wiadomość\"\n", "print(text.split(' '))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "text = \"Nie wszyscy lubią spacje na końcu linii. \"\n", "print(text)\n", "print(text.strip(' '))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Pytania?" ] } ], "metadata": { "celltoolbar": "Slideshow", "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.3" } }, "nbformat": 4, "nbformat_minor": 1 }