forked from tdwojak/Python2018
Add labs03
This commit is contained in:
parent
90d279222c
commit
b3ba876bb1
622
labs03/Podstawy 2.ipynb
Normal file
622
labs03/Podstawy 2.ipynb
Normal file
@ -0,0 +1,622 @@
|
|||||||
|
{
|
||||||
|
"cells": [
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {
|
||||||
|
"slideshow": {
|
||||||
|
"slide_type": "slide"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"source": [
|
||||||
|
"# Python: podstaw ciąg dalszy\n",
|
||||||
|
"\n",
|
||||||
|
"## Tomasz Dwojak\n",
|
||||||
|
"\n",
|
||||||
|
"### 13 czerwca 2018"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": 9,
|
||||||
|
"metadata": {
|
||||||
|
"slideshow": {
|
||||||
|
"slide_type": "slide"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"2\n",
|
||||||
|
"[1, 2, 3, 1, 2, 3]\n",
|
||||||
|
"123\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"def dwojak(x): \n",
|
||||||
|
" x *= 2\n",
|
||||||
|
" return x\n",
|
||||||
|
" \n",
|
||||||
|
"l = [1, 2, 3]\n",
|
||||||
|
"s = \"123\"\n",
|
||||||
|
"\n",
|
||||||
|
"dwojak(l)\n",
|
||||||
|
"dwojak(s)\n",
|
||||||
|
"print(dwojak(1))\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": 11,
|
||||||
|
"metadata": {
|
||||||
|
"slideshow": {
|
||||||
|
"slide_type": "slide"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"[1, 2, 3, 1, 2, 3]\n",
|
||||||
|
"F: [1, 2, 3, 1, 2, 3]\n",
|
||||||
|
"[1, 2, 3]\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"def dwojak1(x): x *= 2\n",
|
||||||
|
"def dwojak2(x): \n",
|
||||||
|
" x = x * 2\n",
|
||||||
|
" print(\"F:\", x)\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": 17,
|
||||||
|
"metadata": {
|
||||||
|
"slideshow": {
|
||||||
|
"slide_type": "slide"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"[1, 2, 3]\n",
|
||||||
|
"[1, 2, 3, 4]\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"l = [1, 2, 3]\n",
|
||||||
|
"e = l[:]\n",
|
||||||
|
"e.append(4)\n",
|
||||||
|
"print(l)\n",
|
||||||
|
"print(e)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 19,
|
||||||
|
"metadata": {
|
||||||
|
"slideshow": {
|
||||||
|
"slide_type": "slide"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"[[1], [1], [1]]\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"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": 25,
|
||||||
|
"metadata": {
|
||||||
|
"slideshow": {
|
||||||
|
"slide_type": "slide"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"(1, 'napis', [0])\n",
|
||||||
|
"3\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ename": "TypeError",
|
||||||
|
"evalue": "unhashable type: 'list'",
|
||||||
|
"output_type": "error",
|
||||||
|
"traceback": [
|
||||||
|
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||||
|
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
|
||||||
|
"\u001b[0;32m<ipython-input-25-2bd2fa17fbf5>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0mt\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
|
||||||
|
"\u001b[0;31mTypeError\u001b[0m: unhashable type: 'list'"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"t = (1, \"napis\", [])\n",
|
||||||
|
"t[-1].append(0)\n",
|
||||||
|
"print(t)\n",
|
||||||
|
"print(len(t))\n",
|
||||||
|
"print({t: None})"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {
|
||||||
|
"slideshow": {
|
||||||
|
"slide_type": "slide"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"source": [
|
||||||
|
"## Funkcje cz. 2"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 36,
|
||||||
|
"metadata": {
|
||||||
|
"slideshow": {
|
||||||
|
"slide_type": "fragment"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"15\n",
|
||||||
|
"a == 1\n",
|
||||||
|
"b == (3, 4)\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"def suma(*args):\n",
|
||||||
|
" return sum(args)\n",
|
||||||
|
"print(suma(1,2,3,4,5))\n",
|
||||||
|
"\n",
|
||||||
|
"def greet_me(z=None,**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": 38,
|
||||||
|
"metadata": {
|
||||||
|
"slideshow": {
|
||||||
|
"slide_type": "fragment"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"97\n",
|
||||||
|
"a\n",
|
||||||
|
"98\n",
|
||||||
|
"b\n",
|
||||||
|
"99\n",
|
||||||
|
"c\n",
|
||||||
|
"100\n",
|
||||||
|
"d\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"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": 45,
|
||||||
|
"metadata": {
|
||||||
|
"slideshow": {
|
||||||
|
"slide_type": "fragment"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"W Paryżu najlepsze kasztany są na placu Pigalle\n",
|
||||||
|
"Zuzanna lubi je tylko jesienią.\n",
|
||||||
|
"\n",
|
||||||
|
">>\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"plik = open(\"haslo.txt\", 'r')\n",
|
||||||
|
"for linia in plik.readlines():\n",
|
||||||
|
" print(linia.strip())\n",
|
||||||
|
"print(plik.read())\n",
|
||||||
|
"print(\">>\")\n",
|
||||||
|
"plik.close()"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 47,
|
||||||
|
"metadata": {
|
||||||
|
"slideshow": {
|
||||||
|
"slide_type": "slide"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"W Paryżu najlepsze kasztany są na placu Pigalle\n",
|
||||||
|
"\n",
|
||||||
|
"Zuzanna lubi je tylko jesienią.\n",
|
||||||
|
"\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ename": "ValueError",
|
||||||
|
"evalue": "I/O operation on closed file.",
|
||||||
|
"output_type": "error",
|
||||||
|
"traceback": [
|
||||||
|
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||||
|
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
|
||||||
|
"\u001b[0;32m<ipython-input-47-f06513c1bbec>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mlinia\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mplik\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreadlines\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlinia\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mplik\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
|
||||||
|
"\u001b[0;31mValueError\u001b[0m: I/O operation on closed file."
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"with open(\"haslo.txt\", 'r') as plik:\n",
|
||||||
|
" for linia in plik.readlines():\n",
|
||||||
|
" print(linia)\n",
|
||||||
|
"print(plik.read())"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 48,
|
||||||
|
"metadata": {
|
||||||
|
"collapsed": true,
|
||||||
|
"slideshow": {
|
||||||
|
"slide_type": "slide"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"with open(\"haslo2.txt\", 'w') as plik:\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": 49,
|
||||||
|
"metadata": {
|
||||||
|
"slideshow": {
|
||||||
|
"slide_type": "fragment"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"posix\n",
|
||||||
|
"Nazwa uzytkownika: tomaszd\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"import os\n",
|
||||||
|
"print(os.name)\n",
|
||||||
|
"\n",
|
||||||
|
"from os import getenv\n",
|
||||||
|
"print('Nazwa uzytkownika: {}'.format(getenv(\"USER\")))"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 50,
|
||||||
|
"metadata": {
|
||||||
|
"slideshow": {
|
||||||
|
"slide_type": "slide"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Counter({'o': 4, 'n': 4, 'a': 4, 'k': 3, 't': 3, 'y': 2, 'i': 2, 'c': 2, 'z': 2, 's': 1, 'p': 1, 'l': 1, 'ń': 1, 'w': 1, 'e': 1})\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"text/plain": [
|
||||||
|
"array([[ 1., 3., 4., 5.]], dtype=float32)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"execution_count": 50,
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "execute_result"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"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": 51,
|
||||||
|
"metadata": {
|
||||||
|
"slideshow": {
|
||||||
|
"slide_type": "fragment"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"What's your name?\n",
|
||||||
|
"Tomasz\n",
|
||||||
|
"Welcome home, Tomasz.\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"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": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {
|
||||||
|
"collapsed": true
|
||||||
|
},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"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.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nbformat": 4,
|
||||||
|
"nbformat_minor": 2
|
||||||
|
}
|
214
labs03/Podstawy 2.py
Normal file
214
labs03/Podstawy 2.py
Normal file
@ -0,0 +1,214 @@
|
|||||||
|
|
||||||
|
# coding: utf-8
|
||||||
|
|
||||||
|
# # Python: podstaw ciąg dalszy
|
||||||
|
#
|
||||||
|
# ## Tomasz Dwojak
|
||||||
|
#
|
||||||
|
# ### 13 czerwca 2018
|
||||||
|
|
||||||
|
# ## Co już znamy?
|
||||||
|
# * podstawowe typy danych i operacje na nich
|
||||||
|
# * Instrukcje sterujące: ``if``, ``for``
|
||||||
|
# * pisanie funkcji
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
# ## Co na dziś?
|
||||||
|
#
|
||||||
|
# * ``tuple`` i ``set``,
|
||||||
|
# * operacje na plikach,
|
||||||
|
# * coś więcej o funkcjach
|
||||||
|
# * korzystanie z bibliotek
|
||||||
|
# * przegląd najważniejszych bibliotek
|
||||||
|
|
||||||
|
# In[9]:
|
||||||
|
|
||||||
|
|
||||||
|
def dwojak(x):
|
||||||
|
x *= 2
|
||||||
|
return x
|
||||||
|
|
||||||
|
l = [1, 2, 3]
|
||||||
|
s = "123"
|
||||||
|
|
||||||
|
dwojak(l)
|
||||||
|
dwojak(s)
|
||||||
|
print(dwojak(1))
|
||||||
|
print(l)
|
||||||
|
print(s)
|
||||||
|
|
||||||
|
|
||||||
|
# ## Mutable i Immutable
|
||||||
|
#
|
||||||
|
# ### Mutable
|
||||||
|
# * listy,
|
||||||
|
# * słowniki,
|
||||||
|
# * sety,
|
||||||
|
# * własnoręcznie zdefiniowane klasy.
|
||||||
|
#
|
||||||
|
# ### Immutable
|
||||||
|
# * liczby: inty i floaty,
|
||||||
|
# * napisy,
|
||||||
|
# * tuple.
|
||||||
|
|
||||||
|
# ## Nieoczywistości
|
||||||
|
|
||||||
|
# In[11]:
|
||||||
|
|
||||||
|
|
||||||
|
def dwojak1(x): x *= 2
|
||||||
|
def dwojak2(x):
|
||||||
|
x = x * 2
|
||||||
|
print("F:", x)
|
||||||
|
|
||||||
|
l = [1,2, 3]
|
||||||
|
dwojak1(l)
|
||||||
|
print(l)
|
||||||
|
|
||||||
|
l = [1,2, 3]
|
||||||
|
dwojak2(l)
|
||||||
|
print(l)
|
||||||
|
|
||||||
|
|
||||||
|
# In[17]:
|
||||||
|
|
||||||
|
|
||||||
|
l = [1, 2, 3]
|
||||||
|
e = l[:]
|
||||||
|
e.append(4)
|
||||||
|
print(l)
|
||||||
|
print(e)
|
||||||
|
|
||||||
|
|
||||||
|
# In[19]:
|
||||||
|
|
||||||
|
|
||||||
|
e = []
|
||||||
|
f = [e for i in range(3)]
|
||||||
|
f[0].append(1)
|
||||||
|
print(f)
|
||||||
|
|
||||||
|
|
||||||
|
# ## To może ``tuple``?
|
||||||
|
# * stały rozmiar,
|
||||||
|
# * immutable,
|
||||||
|
# * mogą być kluczami w słownikach
|
||||||
|
|
||||||
|
# In[25]:
|
||||||
|
|
||||||
|
|
||||||
|
t = (1, "napis", [])
|
||||||
|
t[-1].append(0)
|
||||||
|
print(t)
|
||||||
|
print(len(t))
|
||||||
|
print({t: None})
|
||||||
|
|
||||||
|
|
||||||
|
# ## Funkcje cz. 2
|
||||||
|
|
||||||
|
# In[36]:
|
||||||
|
|
||||||
|
|
||||||
|
def suma(*args):
|
||||||
|
return sum(args)
|
||||||
|
print(suma(1,2,3,4,5))
|
||||||
|
|
||||||
|
def greet_me(z=None,**kwargs):
|
||||||
|
if kwargs is not None:
|
||||||
|
for key, value in kwargs.items():
|
||||||
|
print("%s == %s" %(key,value))
|
||||||
|
greet_me(a=1, b=(3,4))
|
||||||
|
|
||||||
|
|
||||||
|
# ## Generatory
|
||||||
|
|
||||||
|
# In[38]:
|
||||||
|
|
||||||
|
|
||||||
|
def alfaRange(x, y):
|
||||||
|
for i in range(ord(x), ord(y)):
|
||||||
|
print(i)
|
||||||
|
yield chr(i)
|
||||||
|
|
||||||
|
for c in alfaRange('a', 'e'):
|
||||||
|
print(c)
|
||||||
|
|
||||||
|
|
||||||
|
# ## Operacje na plikach
|
||||||
|
|
||||||
|
# In[45]:
|
||||||
|
|
||||||
|
|
||||||
|
plik = open("haslo.txt", 'r')
|
||||||
|
for linia in plik.readlines():
|
||||||
|
print(linia.strip())
|
||||||
|
print(plik.read())
|
||||||
|
print(">>")
|
||||||
|
plik.close()
|
||||||
|
|
||||||
|
|
||||||
|
# In[47]:
|
||||||
|
|
||||||
|
|
||||||
|
with open("haslo.txt", 'r') as plik:
|
||||||
|
for linia in plik.readlines():
|
||||||
|
print(linia)
|
||||||
|
print(plik.read())
|
||||||
|
|
||||||
|
|
||||||
|
# In[48]:
|
||||||
|
|
||||||
|
|
||||||
|
with open("haslo2.txt", 'w') as plik:
|
||||||
|
for word in ('corect', 'horse', 'battery', 'staple'):
|
||||||
|
plik.write(word)
|
||||||
|
plik.write('\n')
|
||||||
|
with open("haslo2.txt", 'w+') as plik:
|
||||||
|
plik.writelines([' '.join(('corect', 'horse', 'battery', 'staple'))])
|
||||||
|
|
||||||
|
|
||||||
|
# # Korzystanie z modułów
|
||||||
|
|
||||||
|
# ## Importowanie
|
||||||
|
|
||||||
|
# In[49]:
|
||||||
|
|
||||||
|
|
||||||
|
import os
|
||||||
|
print(os.name)
|
||||||
|
|
||||||
|
from os import getenv
|
||||||
|
print('Nazwa uzytkownika: {}'.format(getenv("USER")))
|
||||||
|
|
||||||
|
|
||||||
|
# In[50]:
|
||||||
|
|
||||||
|
|
||||||
|
from collections import *
|
||||||
|
print(Counter("konstantynopolitańczykowianeczka"))
|
||||||
|
|
||||||
|
import numpy as np
|
||||||
|
np.array([[1, 3, 4, 5]], dtype='float32')
|
||||||
|
|
||||||
|
|
||||||
|
# ## Instalacja
|
||||||
|
#
|
||||||
|
# * lokalnie (per użytkownik) lub globalnie
|
||||||
|
# * pyCharm lub linia komend, np. ``pip install --user flask`` lub ``python -m pip install --user flask``
|
||||||
|
|
||||||
|
# ## Wczytywanie z klawiatury
|
||||||
|
|
||||||
|
# In[51]:
|
||||||
|
|
||||||
|
|
||||||
|
name = input("What's your name?\n")
|
||||||
|
print("Welcome home, {}.".format(name))
|
||||||
|
|
||||||
|
|
||||||
|
# In[ ]:
|
||||||
|
|
||||||
|
|
||||||
|
liczby = eval(input("Podaj liczby"))
|
||||||
|
print(sum(liczby))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user