Úvod Mgr. 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 2015 _3 C2184 do pregra v Pythonu Historie Vlastnosti jazyka Využití Obliba Pythonu Instalace Začínáme Domácí úkoly Mgr. Stanislav Geidl Národní centrum pro výzkum biomolekul Masarykova univerzita Historie Pythonu • v roce 1990 Guido van Rossum z holandského CWI vytoňl programovací ("skriptovací") jazyk a pojmenoval ho podle komické skupiny Monty Python • 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". Vlasnosti jazyka • interpretovaný programovací jazyk ("skriptovací jazyk") interpretovaný; python, perl, ruby, bash, ... soubor (.py) i i -H -1 operační paměť —> R zdrojový kód echo . . . if . . . >o (n i—i M (D strojový kód (instrukce procesoru) soubor (.cpp) s c s soubor (.exe) s R ? ? ? kompilovaný; C, 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 Mgr. Stanislav Geidl C2184 do pregra v Pythonu Vlastnosti jazyka Využití Obliba Pythonu Instalace Začínáme Domácí úkoly 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# using System; class He11o private string _msg; public HelloO msg = "Hello World."; ublic Hello(string msg) public void SayHello() Console.WriteLine( _msg); public static void HainO Hello app = new HelloO app.SayHelloO? Equivalent In Python class Hello(object): def _init_(self4 msg='hello world'} self.msg = msg def SayHello(self): print self.msg app = Hello () app.SayHello() Uvod Mgr. Stanislav Geidl _3 C2184 do pregra v Pythonu Historie Vlastnosti jazyka Využití Obliba Pythonu Instalace Začínáme Domácí úkoly • 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 0.4 import antigravity 9\. / I LEARNED iTíAST NIGHT/ EVERťTHlMG is so Simple:'. HELLO WORLD 15 JUST prín* "Helia, worldf DVNAľtlC rypm - CODE JOIN U5! FROGRAnniNCj IS FUN ftSPflN! IT'S A WHOLE V/v UP HERE! f\ BOTHO/^RE ' ? youflving? / X 3UST TYPED WT'5 IT? I ALSO SAMPLED EVERYTHfNG IN W riEOIClNE (?WEX f BUT ITH«THIS l&THE P>fľHOW. Uvod Mgr. Stanislav Geidl 02184 Úvod do programováni! v Pythony Historie Vlastnosti jazyk Využití Obliba Pythonu Instalace Začínáme Domácí úkoly 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. About Design Results Source (FTP) Links Author's home Uvod Mgr. Stanislav Geidl Results j C2184 do pregra v Pythonu Historie Vlastnosti jazyka Využití Obliba Pythonu Instalace Začínáme Domácí úkoly Speed Global alignment in seconds; Thfs program performs a global alignment of two sequences and prints to the standard output 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 Pert Python 0.6 Využití Pythonu • skriptování • vědecké výpočty (chemoinformatika, bioinformatika, ...) webové aplikace administrace grafika audio networking hry aplikace pro chytré telefony Uvod Mgr. Stanislav Geidl C2184 do pregra v Pythonu Historie Vlastnosti jazyka Využití Obliba Pythonu Instalace Začínáme Domácí úkoly 0.7 Obliba programovacích jazyků podle TIOBE • http://www.tiobe.com/index.php/content/ paperinfo/tpci/index.html • výsledky pro září 2014: 2014 2013 Programovací jazyk Rating Změna 1 1 C 16,721 % - 0,25 % 2 2 Java 14,140% - 2,01 % 3 4 Objective-C 9,935 % + 1,37 % 4 3 C++ 4,674 % - 3,99 % 5 6 C# 4,352 % - 1,21 % 6 7 Basic 3,547 % - 1,29 % 7 5 PHP 3,121 % - 3,31 % 8 8 Python 2,448 % - 0,39 % 9 9 JavaScript 2,448 % + 0,43 % 10 10 Transact-SQL 1,675 % - 0,32 % 11 11 Visual Basic .NET 1,532 % - 0,31 % 12 12 1,369 % - 0,31 % 13 13 Ruby 1,281 % -0,10% Uvod Mgr. Stanislav Geidl _3 C2184 do pregra v Pythonu Historie Vlastnosti jazyka Využití sliba Pythor Instalace Začínáme Domácí úkoly 0.8 Obliba programovacích jazyků podle TIOBE - graf vývoje TIOBE Programming Community Index Source: www.tiobe.com Uvod Mgr. Stanislav Geidl 30 C2184 do pregra v Pythonu — C — Java Qbjective-C — C+ + — Of — Basic PHP — Python — JavaScript Transact-SQL Historie Vlastnosti jazyka Využití sliba Pythor Instalace Začínáme Domácí úkoly 2002 2004 2006 2005 2010 2012 2014 0.9 Obliba programovacích jazyků podle GitHubu ú.OMO □ 1 D.ŮOSO t D.DM0 E g D.DOGD Ů.0O20 DK'LO D.WOO Top programming languages on GitHub by WTFs řÍT^wr^R I R 1/1/2012 - 9/23/2013 VM^VVWrtLU Doía .Sourae: Google BigQuery/GitHub Archive Uvod Mg r. Stanislav Geidl J C2184 do pregra v Pythonu Historie Vlastnosti jazyka Využití sliba Pythor Instalace Začínáme Domácí úkoly 0.10 Obliba programovacích jazyků podle hackerů Uvod Mgr. Stanislav Geidl javascript python # of hacker news submissions about programming languages _3 C2184 do pregra v Pythonu Historie Vlastnosti jazyka Využití sliba Pythor Instalace Začínáme Domácí úkoly 0.11 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 Mgr. Stanislav Geidl C2184 do progra v Pythonu Historie Vlastnosti jazyka Využití Instalace Začínáme Domácí úkoly https://wiki.python.org/moin/Organi z ationsUsingPython 0.12 Instalace - UNIX včetně MacOS X Úvod UNIH The power oí shell is in your hands Mg r. Stanislav Geidl C2184 Úvod do programováni v Pythonu Historie Vlastnosti jazyka Využití Obliba Pythonu Začínáme Domácí úkoly V drtivé většině je součásti systému ;) 0.13 Instalace - Windows O Stáhněte instalační balíček z webu python.org: https://www.python.org/downloads/windows/. Stahujte verzi 2.7.8 © Spusťete instalátor a postupujte dle instrukcí. • Průvodce instalací najdete také zde: https://code.google.com/p/scato/wiki/howto install_python_for_windows Editory a IDE vývojová prostredí (IDE je zkratka z anglického Integrated Development Environment) • originálni IDLE Microsoft Office 2013 ,. PeaZJp . PicPick . Python 2.7_ ■» IDLE (Python GUI] g Module Docs Python (command li [J? Python Manuals ■jgJ Uninstall Python 4 Back Search p Wing IDE http : //wingware . com/ textové editory • gedit • kate • PSPad (doporučuji pro Windows) Úvod Mgr. Stanislav Geidl C2184 Úvod do programování v Pythonu Historie Vlastnosti jazyka Využití Obliba Pythonu Instalace Domácí úkoly 0.15 Hello World! Uvod Mgr. Stanislav Geidl print "Hello World!" O Vytvořte soubor MyFirstScript.py a spusťe ho pomocí $ python MyFirstScript.py © Spusťte z příkazové řádky $ python a kód zadejte interaktivně. (Ukončení interaktivního módu pomocí: quit (), exit () nebo [CTRL]+[D]) - HELLO VÜORLu! Q ZÖC9 KRIÍTI/W IWeííP _3 C2184 do pregra v Pythonu Historie Vlastnosti jazyka Využití Obliba Pythonu Instalace Začínáme Domácí úkoly WlVW.OFTIPS^Ům 0.16