forked from tdwojak/Python2017
480 lines
8.9 KiB
Plaintext
480 lines
8.9 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"# Python: podstaw ciąg dalszy\n",
|
|
"\n",
|
|
"## Tomasz Dwojak\n",
|
|
"\n",
|
|
"### 2 grudnia 2017"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Co już znamy?\n",
|
|
" * podstawowe typy danych i operacje na nich\n",
|
|
" * Instrukcje sterujące: ``if``, ``for``\n",
|
|
" * pisanie funkcji\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "fragment"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Co na dziś?\n",
|
|
"\n",
|
|
" * ``tuple`` i ``set``,\n",
|
|
" * operacje na plikach,\n",
|
|
" * coś więcej o funkcjach\n",
|
|
" * korzystanie z bibliotek\n",
|
|
" * przegląd najważniejszych bibliotek"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def dwojak(x): x *= 2\n",
|
|
" \n",
|
|
"l = [1, 2, 3]\n",
|
|
"s = \"123\"\n",
|
|
"\n",
|
|
"dwojak(l)\n",
|
|
"dwojak(s)\n",
|
|
"\n",
|
|
"print(l)\n",
|
|
"print(s)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Mutable i Immutable\n",
|
|
"\n",
|
|
"### Mutable\n",
|
|
" * listy,\n",
|
|
" * słowniki,\n",
|
|
" * sety,\n",
|
|
" * własnoręcznie zdefiniowane klasy.\n",
|
|
" \n",
|
|
"### Immutable\n",
|
|
" * liczby: inty i floaty,\n",
|
|
" * napisy,\n",
|
|
" * tuple."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Nieoczywistości"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def dwojak1(x): x *= 2\n",
|
|
"def dwojak2(x): x = x * 2\n",
|
|
"\n",
|
|
"l = [1,2, 3]\n",
|
|
"dwojak1(l)\n",
|
|
"print(l)\n",
|
|
"\n",
|
|
"l = [1,2, 3]\n",
|
|
"dwojak2(l)\n",
|
|
"print(l)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"l = [1, 2, 3]\n",
|
|
"e = l\n",
|
|
"e.append(4)\n",
|
|
"print(l)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"e = []\n",
|
|
"f = [e for i in range(3)]\n",
|
|
"f[0].append(1)\n",
|
|
"print(f)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## To może ``tuple``?\n",
|
|
" * stały rozmiar,\n",
|
|
" * immutable,\n",
|
|
" * mogą być kluczami w słownikach"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"t = (1, \"napis\", None)\n",
|
|
"elem = t[0]\n",
|
|
"print(t)\n",
|
|
"print(len(t))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Funkcje cz. 2"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "fragment"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def suma(*args):\n",
|
|
" return sum(args)\n",
|
|
"print(suma(1,2,3,4,5))\n",
|
|
"\n",
|
|
"def greet_me(**kwargs):\n",
|
|
" if kwargs is not None:\n",
|
|
" for key, value in kwargs.items():\n",
|
|
" print(\"%s == %s\" %(key,value))\n",
|
|
"greet_me(a=1, b=(3,4))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Generatory"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "fragment"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def alfaRange(x, y):\n",
|
|
" for i in range(ord(x), ord(y)):\n",
|
|
" yield chr(i)\n",
|
|
"\n",
|
|
"for c in alfaRange('a', 'e'):\n",
|
|
" print(c)\n",
|
|
" ##druga wersja; w Pythonie3 f range rozni sie od 2\n",
|
|
"def alfaRange(x, y):\n",
|
|
" for i in range(ord(x), ord(y)):\n",
|
|
" print(i)\n",
|
|
" yield chr(i)\n",
|
|
"\n",
|
|
"for c in alfaRange('a', 'e'):\n",
|
|
" print(c)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Operacje na plikach"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "fragment"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"plik = open(\"haslo.txt\", 'r') ## r - read only\n",
|
|
"for linia in plik.readlines():\n",
|
|
" print(linia.strip())\n",
|
|
"print(plik.read())\n",
|
|
"print(\">>\")\n",
|
|
"plik.close() ## jesli nie uzyjemy tej funkcji przy duzej liczbie plikow, to skoncza sie deskryptory"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"with open(\"haslo.txt\", 'r') as plik: ## wygodne do pracy z plikami\n",
|
|
" for linia in plik.readlines():\n",
|
|
" print(linia)\n",
|
|
"# print(plik.read()) ##nie trzeba zamykac plikow"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"collapsed": true,
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"with open(\"haslo2.txt\", 'w') as plik: ## write - zapis do pliku\n",
|
|
" for word in ('corect', 'horse', 'battery', 'staple'):\n",
|
|
" plik.write(word)\n",
|
|
" plik.write('\\n')\n",
|
|
"with open(\"haslo2.txt\", 'w+') as plik:\n",
|
|
" plik.writelines([' '.join(('corect', 'horse', 'battery', 'staple'))])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"# Korzystanie z modułów"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Importowanie"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "fragment"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"import os ##ta biblioteka pozwala na operacje na systemie operacyjnym\n",
|
|
"print(os.name)\n",
|
|
"\n",
|
|
"from os import getenv\n",
|
|
"print('Nazwa uzytkownika: {}'.format(getenv(\"USER\")))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"from collections import *\n",
|
|
"print(Counter(\"konstantynopolitańczykowianeczka\"))\n",
|
|
"\n",
|
|
"import numpy as np\n",
|
|
"np.array([[1, 3, 4, 5]], dtype='float32')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"collapsed": true,
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Instalacja\n",
|
|
"\n",
|
|
" * lokalnie (per użytkownik) lub globalnie\n",
|
|
" * pyCharm lub linia komend, np. ``pip install --user flask`` lub ``python -m pip install --user flask``"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Wczytywanie z klawiatury"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "fragment"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"name = input(\"What's your name?\\n\")\n",
|
|
"print(\"Welcome home, {}.\".format(name))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"liczby = eval(input(\"Podaj liczby\"))\n",
|
|
"print(sum(liczby))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Co ominąłem?\n",
|
|
"\n",
|
|
" * klasy (jutro)\n",
|
|
" * podział programu na pliki (jutro)\n",
|
|
" "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"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": 2
|
|
}
|