Python. Zdeněk Philipp - Seznam.cz



Podobné dokumenty
3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java

Cílem kapitoly je seznámit studenta se strukturou programu a jeho překladem.

Programování pro deskriptivní geometrii

PREPROCESOR POKRAČOVÁNÍ

Struktura třídy, operátory, jednoduché algoritmy, junit. Programování II 2. cvičení Alena Buchalcevová

Uložené procedury Úvod ulehčit správu zabezpečení rychleji

Programování v Javě I. Únor 2009

Programování v Javě I. Leden 2008

PROGRAMOVÁNÍ V C++ CVIČENÍ

Java a Caché IV: Manipulace s objekty

Inovace výuky prostřednictvím šablon pro SŠ

Java Cvičení 01. CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics

<surface name="pozadi" file="obrazky/pozadi/pozadi.png"/> ****************************************************************************

IB111 Programování a algoritmizace. Objektově orientované programování (OOP)

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Objektově orientované programování

Úvod do programování - Java. Cvičení č.4

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Jazyk C++ I. Šablony 3

Poruchy modul pro rychlé hlášení poruch z provozu.

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

Generátor sítového provozu

Skriptovací jazyky. Obsah

OOPR_05. Případové studie

Modul informačního systému SPŠSE Liberec

5. Ř etězce (třída String)

Informační systémy 2008/2009. Radim Farana. Obsah. Skripty a dávky. Nastavení aktuální databáze. USE DatabaseName

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

Prostory jmen. #include<iostream.h> namespace RadimuvProstor { int secti(int a, int b); class Trida { private: int Atribut; public: void metoda();

Server. Software serveru. Služby serveru

Doxygen. Jakub Břečka

ANT. Aplikační programování v Javě (BI-APJ) - 1 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

Základní stavební prvky algoritmu

Obsah. Úvodem 9 Komu je kniha určena 9 Forma výkladu 9 Konkrétní postup výuky 10 Příklady ke knize 11

Modul pro testování elektrických obvodů

Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1. Podpora digitalizace a využití ICT na SPŠ CZ.1.07/1.5.00/34.

ISZR Referenční agent.net

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

1.1 Seminář z Informatiky. Charakteristika volitelného vyučovacího předmětu Seminář z Informatiky

Maturitní témata z předmětu Programování a databázové systémy. pro šk. rok 2012/2013

RMI Remote Method Invocation

Gymnázium, Praha 6, Arabská 14. předmět: Programování. vyučující: Tomáš Obdržálek. Piškvorky. ročníkový projekt. Le Hoang Nguyen, 1.E.

ICT plán ZŠ praktické Bochov na rok 2009

Sazba zdrojových kód. Jakub Kadl ík

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Přehled probírané látky

Podmínky na zápočet. Java, zimní semestr

Principy objektově orientovaného programování

Android Elizabeth. Verze: 1.3

Algoritmizace a programování

Statické proměnné a metody. Tomáš Pitner, upravil Marek Šabo

IUJCE Přednáška č. 11. další prvky globální proměnné, řízení viditelnosti proměnných, funkcí

PB161 Programování v jazyce C++ Objektově Orientované Programování

Algoritmizace a programování

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Projekty pro výuku programování v jazyce Java

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Úvod do jazyka C. Proč jazyk C

Jazyk C# přednáška 01. Fakulta elektrotechniky a informatiky Univerzita Pardubice 2014/2015

Operační systémy. Cvičení 4: Programování v C pod Unixem

Část 1 Třídy a objekty. Objektově orientované programování. Část 2 Vztahy mezi objekty. Část 3 Objektově orientované programování (v Javě)

Úvod do programování v jazyce Java

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Čl. I. Vyhláška č. 106/2001 Sb., o hygienických požadavcích na zotavovací akce pro děti, ve znění vyhlášky č. 148/2004 Sb.

KTE / ZPE Informační technologie

Kapitola 1: Co je Delphi 19. Překlad projektu 23

Praktické úlohy- zaměření specializace

5 Rekurze a zásobník. Rekurzivní volání metody

Generické programování

Distribuované systémy a výpočty

DATABÁZE DŮLEŽITÉ: Před načtením nové databáze do vaší databáze si prosím přečtěte následující informace, které vám umožní:

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 3.4.

Poukázky v obálkách. MOJESODEXO.CZ - Poukázky v obálkách Uživatelská příručka MOJESODEXO.CZ. Uživatelská příručka. Strana 1 / 1. Verze aplikace: 1.4.

Úvod do programovacích jazyků (Java)

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné

Elektronické podání podnikatele vůči živnostenskému rejstříku

Hotelová škola, Obchodní akademie a Střední průmyslová škola Teplice,Benešovo náměstí 1, příspěvková organizace

mísy na koření akční pole prostor pro karty koření 1 mlýnek na pepř

V této části manuálu bude popsán postup jak vytvářet a modifikovat stránky v publikačním systému Moris a jak plně využít všech možností systému.

Informační systém pro rezervaci pokojů hotelu SPORT

modul Jízdy a Kniha jízd uživatelská příručka

3 KTE / ZPE Informační technologie

Textové soubory. alg9 1

Modul: Cvičebnice programování ISO - soustruh

Programování 1. hodina. RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++

DYNAMICKÉ VÝPOČTY PROGRAMEM ESA PT

REVITALIZACE VEŘEJNÝCH PROSTRANSTVÍ, III. ETAPA B2.1. TECHNICKÁ ZPRÁVA

Algoritmizace a programování

AutoCAD Architecture 2008

IUJCE 07/08 Přednáška č. 1

Změna sazby DPH v HELIOS Red po

NUR - Interaktivní panel, D1

Databáze Caché CSP Custom Tags

M-10. AU = astronomická jednotka = vzdálenost Země-Slunce = přibližně 150 mil. km. V následující tabulce je závislost doby

Co najdete v ASPI? (pro uživatele SVI FSE UJEP)

Úvod do programovacích jazyků (Java)

Příručka. Bezpečné odpojení osových modulů MOVIAXIS. Podmínky. Vydání 08/ / CS FB410000

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Transkript:

Python

Něco málo omáčky http://www.python.org objektově orientovaný, interpretovaný, dynamický a silně typovaný multiplatformní (Windows, Linux/Unix, Mac OS X, OS/2, Amiga, Palm Handhelds, Nokia mobile phones) jednoduchost, čitelná syntaxe snadno pochopitelný bohatství knihoven

Něco málo omáčky vysoce produktivní lehce rozšiřitelný (C, C++) lehce integrovatelný s ostatními programovacími jazyky Java (Jython).NET (IronPython?) C, C++ nepotřebujeme IDE

K čemu to bylo navrženo a k čemu je to dobré původně byl zamýšlen jako druhý jazyk k nějakému systémovému jazyku postupem času se z něj stal výkonný nástroj, hlavní jazyk (Bruce Eckel) vhodný pro výuku programování prototypování aplikací

Co se v tom dá vytvořit webové aplikace (klient / server) síťové aplikace (TCP / UDP) skripty, utility systémové programy GUI aplikace (QT) práce s grafikou práce s textovými dokumenty, XML lze napsat i server (multithreadové, multiprocesové aplikace)

Na co se používá v seznam.cz webové aplikace (klient / server) aplikační servery doplňkové skripty

Výkon Pomalejší než C++, Java Zhruba na stejno jako Perl, PHP Kompiler Psyco 2-100x rychlejší Rozumná úvaha rychlost x efektivita 5x méně ukecaný než Java a C++

Ještě než začneme (nic v tom nehledejte!) a = 5 if a > 0: print "a je vetsi nez 0: %d" % a for i in a: print i else: print "a neni vetsi nez 0" středník není nutný

(Nejen) Objektově orientovaný paradigma programování strukturované (procedurálním) objektově orientované funkcionální návrh jazyka (C, C++, Java, PHP) v Pythonu je všechno objekt podporuje objektově orientované podporuje strukturované programování umožňuje používat i některé užitečné techniky známé z funkcionálního programování

Python je Interpretovaný využívá byte code (Java,.NET) vyžaduje interpretr automaticky překládaný

Nenutí, nepřikazuje není nutné používat jednu ze zvolených metod programování pejsek s kočičkou vařili dort, Python ale uvařili velmi dobří kuchaři, vlastnosti zkombinovali velmi umně a chutně umožnuje přetěžování operátorů umožňuje skriptování v konzoli

Konzole help, dir Python jako kalkulačka

Základní datové typy číselné bool, int, float, long stringové str, unicode

Python dynamicky a silně typovaný // C / C++ example #include <stdio.h> int main(int *argc, char *argv[]){ printf("vysledek scitani int a char = %d\n", (1 + "1")); return(0); }

Python dynamicky a silně typovaný // Java example class Main { public static void main(string args[]) { System.out.println( "Vysledek scitani int a char = " + 1 + "1"); } }

Python dynamicky a silně typovaný # python example print 'Vysledek scitani int a string =', 1 + "1"

Zakladní datové struktury tuple t = postel, lednicka, pocitac list l = [ postel, lednicka, pocitac ] dictionary d = { postel : 5000, lednicka : 10000, pocitac : 15000} object necháme na později

Zakladní konstrukce if-elif-else - podmíněné vykonávání kódu for-else - opakované vykonávání kódu s konečným počtem cyklů (break) while-else - opakované vykonávání kódu s podmíněným počtem cyklů try-except-finally-else - zachycování výjimek

Hello world #!/usr/bin/python print Hello world #!/usr/bin/python def hello(): print Hello world if name == main : hello()

Definice funkce def funkce(): print "Ja jsem funkce" def funkce(a): print "Ja jsem funkce s parametrem %s" % a def funkce(a = 1 ): print "Ja jsem funkce s nepovinnym parametrem %s" % a funkce nelze přetěžovat

Reference základní datové typy se kopírují datové struktury se předávají jako reference

Importy sdílení kódu (metody, objekty) používání celých knihoven vytváření knihoven a modulů import a from from modul import knihovna from modul.knihovna import funkce

Objekty v pythonu co to je objekt? třída x objekt jak vytvořit objekt? nepodporuje řízení přístupu ke členům objektů (na rozdíl od kompilovaných OOP jazyků, všechny členy objektů jsou public) umožňuje jejich skrytí (přístup celým jménem, mangling) Python je dynamický jazyk, umožňuje vytváření a modifikaci tříd přímo za běhu programu

Objekty v pythonu # vytvoreni objektu class Volant: pass a = Volant() # konstruktor a destruktor class Volant: def init (self): print Ahoj ja jsem konstruktor tridy Volant def del (self): print Ahoj ja jsem destruktor tridy Volant def barva(self): print Cerna

Nakonec pár příkladů načtení souborů zmenšení křečka možná ještě něco???

Načtení dat ze souboru f = open("krecek.jpg", "r") i = f.read() f.close()

Příklad zmenšení křečka import Image i = Image.open("krecek.jpg") i = i.resize((800, 600), 1) i.save("krecek1.jpg")

KONEC sejdeme se na přijímacím pohovoru :-)