Úvod Stanislav Geidl Lekce 0 Úvod Základní vlastnosti Pythonu, porovnání s ostatními jazyky, proč a k čemu lze používat Python. Stručné seznámení s vývojovým prostředím jazyka Python. C2184 Úvod do programování v Pythonu podzim 2016 ...... 1:) li C21B4 do programová Historie Vlastnosti jazyka Využití Obliba Pythonu Instalace Začínáme Stanislav Geidl Národní centrum pro výzkum biomolekul Masarykova univerzita Historie Pythonu • v roce 1990 Guido van Rossum z holandského CWI vytořil programovací ("skriptovací") jazyk a pojmenoval ho podle komické skupiny Monty Python Uvod Stanislav Geidl C21B4 Úvod do programován storie Vlastnosti jazyka Využití Obliba Pythonu Instalace Začínáme v lednu 1997 byla vydána verze 1.0 16. října 2000 byla vydána verze 2.0 3. prosince 2008 byla vydána verze 3.0 "There should be one- and preferably only one -obvious way to do it". 0.2 Vlasnosti jazyka • interpretovaný programovací jazyk ("skriptovací jazyk") interpretovaný; python, perl, ruby, bash, ... soubor (.py) —> operační paměť —> R zdrojový kód echo . . . if . . . >o (n (n i—i M (D strojový kód (instrukce procesoru) soubor (.exe) kompilovaný; C, C++, fortran, ... (zelená barva označuje kroky, které běží u uživatele) • interaktivní programovací jazyk • objektově orientovaný programovací jazyk • beztypový programovací jazyk • podpora různých architektur a operačních systému (UNIX včetně MacOS, Windows, MS-DOS, OS/2, nepřímo i iOS a Android) Uvod Stanislav Geidl 1:) li C21B4 do programová Historie Vlastnosti jazyka Využití Obliba Pythonu Instalace Začínáme 0.3 Přednosti jazyka • jednoduchý jazyk, který se snadno učí a je pedagogický • mocný jazyk - výkonné vysokoúrovňové datové struktury a jednoduchý přístup k objektovému programování A small Hello World app In C* Equivalent In Python using System; class Hello ■: private string _msg; public HelloO _msg = "Hello World"; public Hello(string msg} class Hello(object): def _init_(self, msg=1 hello world'} : self.msg = msg def SayHello(self): print self.msg app = Hello () app.SayHello() _rcisg — msg ? public void SayHelloO Console.WriteLine( _msg); public static void Hain{) ) Hello app = new HelloO ; app.SayHelloO; • neobsahuje magii narozdíl od perlu (nezaměňujte za "bez kouzla") • používání Pythonu způsobuje menší nečitelnost - dá vám to práci napsat to nečitelně • má dobrou dokumentaci import antigravity ... 9\. / ILEARCD WIPST NIGHT' EVERYTHING 1S 60 SIMPLE1. HELLO WORLD 15 JUST prín+ "Hello, worldf I (XJNNO-DVNAľtiC TVPM' j conE JOIN U6! FROGRAnniNG IS FUN AW! IT'S A WHOLE Q NEW WORLD UP HE RE f BLíT HOJ /IRE /OÚ ftViNG? / X 3U5T" TYPED W'S IT? | I ALSO SAMPLED EVERYTHING IN THE nEOiClME L7WET FOR 0T\PARi50M-I BUT I THINK THIS l& THE PYTHON. Uvod Stanislav Geidl G2114 Úvccl do programová Historie Vlastnosti jazyka Využití Obliba Pythonu Instalace Začínáme 0.5 Rychlost • interaktivní programovací jazyk, tzn. je pomalejší jak kompilované jazyky, ale není ani nejrychlejší mezi interpretovanými a není ani pomalý • Benchmark programovacích jazyků při použití v bioinformatice: http://www.bioinformatics.org/benchmark/results.html • Řešení je použití/implementace C/C++ kompilovaných knihoven pro Python. Uvod Stanislav Geidl 1:) li C21B4 do programová About Design Results Source (FTP) Links Author's home Historie Vlastnosti jazyka Využití Obliba Pythonu Instalace Začínáme Results Speed Global alignment in seconds Thfs program performs a global alignment of tv the aligned sequences. Linux Windows C 0.38 0.12 c++ 0.53 0.28 c# 0.62 0.37 Java 0.44 0.46 Perl 43.58 40.26 Python 23.18 19.21 sequences and prints to the standard output 50 C C++ C# Java Pert Python Language Využití Pythonu • skriptování • vědecké výpočty (chemoinformatika, bioinformatika, ...) webové aplikace administrace grafika audio networking hry aplikace pro chytré telefony Obliba programovacích jazyků podle TIOBE http://www.tiobe.com/index.php/content/ paperinfo/tpci/index.html výsledky pro říjen 2016: Uvod Stanislav Geidl I -7.« 3 C2184 Úvod do programová Oct 2016 Oct 2015 Change Programming Language Ratings Change 1 1 Java 18.799% -0.74% 2 2 C 9.835% -6.35% 3 3 C++ 5.797% +0.05% 4 4 C# 4.367% -0.46% 5 5 Python 3.775% -0.74% 6 8 /s JavaScript 2.751% +0.46% 7 6 v PHP 2.741% +0.18% 8 7 v Visual Basic .NET 2.660% +0.20% 9 9 Perl 2.495% +0.25% 10 14 Ä Objective-C 2.263% +0.84% Historie Vlastnosti jazyka Využití )liba Pytho Instalace Začínáme Obliba programovacích jazyků podle TIOBE - graf vývoje TIOBE Programming Community Index Source: www.tiobe.com 30 2002 2004 2006 2008 2010 2012 2014 2016 Obliba programovacích jazyků podle GitHubu Uvod Stanislav Geidl 1:) li Top programming languages on GítHub hy WTfs fÍT^XA/nR I n 1/1/2012-9/23/2013 ú.OMO riK'io D.OWO Data Source: Google BigQuery/GitHub Archive C21B4 do programová Historie Vlastnosti jazyka Využití Obliba Pythonu Instalace Začínáme 0.10 Obliba programovacích jazyků podle hackerů javascript python # of hacker news submissions about programming languages ruby java php lisp erlang perl 9,451 6,541 6,377 5,737 1,883 Firmy používající Python Goo SUlideshare L P Present Yourself bd bun \J> Dropbox red hat SurveyMonkey tpintereái f =ť^^= mozilla © O You FO U N DATI O N Tube Uvod Stanislav Geidl C21B4 d© programová Historie Vlastnosti jazyka Využití Obliba Pythonu Instalace Začínáme https://wiki.python.org/moin/Organi zationsUsingPython 0.12 Instalace - UNIX včetně MacOS X UNIH The power of shell is in your hands V drtivé většině je součásti systému ;) Instalace - Windows O Stáhněte instalační balíček z webu python.org: https://www.python.org/downloads/windows/ Stahujte verzi 3.5.2 © Spusťete instalátor a postupujte dle instrukcí. • Průvodce instalací najdete také zde: http://diveintopython3.py.cz/ installing-python.html Uvod Stanislav Geidl 1:) li C21B4 do programová Historie Vlastnosti jazyka Využití Obliba Pythonu Instalace Začínáme 0.14 Editory a IDE vývojová prostředí (IDE je zkratka z anglického Integrated Development Environment) • originální IDLE Microsoft Office 2013 PeaZip . PicPick ,. Python 2.7 IDLE {Python GUI} ij? Module Docs * Python (command line) gj? Python Manuals 0 Uninstall Python i Back I Search programs ontf /ires | Wing IDE http : / /wingware . com/ Uvod Stanislav Geidl 1:) ľ 4 C21B4 d© programová Historie Vlastnosti jazyka Využití Obliba Pythonu Instalace Začínáme textové editory • gedit • kate • PSPad (doporučuji pro Windows) 0.15 Hello World! Uvod Stanislav Geidl print ("Hello World!") ...... 1:) li O Vytvořte soubor MyFirstScript.py a spusťe ho pomocí $ python MyFirstScript.py O Spusťte z příkazové řádky $ python a kód zadejte interaktivně. (Ukončení interaktivního módu pomocí: quit (), exit () nebo [CTRL]+[D]) - ntLLu WuriLui O ZOO'S KRIÍTWň iweííp C21B4 do programová Historie Vlastnosti jazyka Využití Obliba Pythonu Instalace Začínáme WWW.OPTIPS^Ům 0.16