ARCHIV |
|||||
Software (10844)
Distribuce (131)
Skripty (697)
Menu
Diskuze
Informace
|
Python (1.) - Zkroťte si hroznýšeV našem seriálu o programovacím jazyce Python se vás pokusím naučit programovat v tomto bezesporu zajímavém jazyce. Programovací jazyk Python vytvořil Guido van Rossum o vánocích roku 1989. Při své práci v holandském institutu CWI potřeboval jazyk pro psaní utilit pro distribuovaný operační systém, jenž skupina, ve které pracoval, vyvíjela. Měl v úmyslu vytvořit snadno rozšiřitelný jazyk podobný jazyku ABC a podoporující výjimky. V únoru roku 1991 na Usenetu ohlásil první veřejnou verzi Pythonu. Dnes je Python široce používán na mnoha místech, kde je potřeba přehledný a snadno spravovatelný kód. Můžeme uvést, že jej používá NASA pro uživatelské rozhraní systému řídícího lety raketoplánů, aplikační server Zope, originální implementace protokolu BitTorrent, balíčkovací systém Portage v distribuci Gentoo, stejně tak instalátor Anaconda pocházející z RedHat Linuxu a mnohé jiné větší či menší programové celky. Python se vyznačuje poměrně netradiční syntaxí založenou na odsazování. Taktéž může být pro začátečníka matoucí, že Python je silně objektový beztypový jazyk s přístupem podobným spíše Smalltalku nežli "běžným" objektovým jazykům jako je třeba Java. Python je jazyk interpretovaný a často považovaný za skriptovací. Přesto je v něm možno psát i docela rozsáhlé programové celky. Některé příklady takových celků jsem již zmínil výše. A ačkoli se Python považuje za jazyk skriptovací, osobně bych řekl, že je pro vývoj podobných rozsáhlejších programů velice vhodný, a rozhodně i vhodnější než pro psaní jednoduchých skriptů pro bezduché přežvýkávání dat. Moduly jazyka Python napsané v Pythonu se takzvaně kompilují, fakticky se jedná o kompresi zdrojového kódu do formy, která se rychleji načte do paměti, taktéž se v tomto kontextu občas mluví o takzvané optimalizaci, jedná se o vypouštění nepotřebných nebo velmi zřídka potřebných částí zdrojového kódu, v první úrovni optimalizace se jedná o čísla řádků, assertions a obdobný ladící kód, ve druhé úrovni i o tzv. dokumentační řetězce, což už ovšem může běh programu ovlivnit. Existují ovšem i prostředky, kterými lze běh programů v jazyce Python urychlit, jedná se například o optimalizující kompylátor Psyco, jenž program za běhu profiluje a kritická místa převádí do strojového kódu, podobně jako technologie HotSpot v programovacím jazyce Java. Ovšem to, že je Python interpretovaný, nepřináší pouze nevýhodu v podobě pomalejšího běhu, ale i mnohé výhody, jednak je to v podstatě předpoklad použitého objektového modelu a za druhé nám vývoj velice usnadní možnost spustit interpret interaktivně, zadávat příkazy a ihned vidět jeho výsledky. Nemusím doufám zdůrazňovat, jak je toto užitečné, ať již pro testováni během vývoje, nebo pouze pro rychlé bastlení věcí, jež právě k něčemu obskurnímu potřebujeme. Jak již jsem zmínil, Python má poněkud zvláštní syntaxi, založenou na odsazování bloků. Tato syntaxe vede zejména k tomu, že není možné, abychom kód odsadili jinak než, jak skutečně funguje, osobně bych to považoval za výhodu, protože si nedovedu představit moc rozumných důvodu k použití nějakého speciálního způsobu odsazování. Dost již ovšem bylo teorie, pustíme se tedy do nějakého úvodního příkladu. Bude jím naprosto tradiční "Hello world" (ovšem protože jsme na linuxsoftu, tak nebudeme pouze suše zdravit svět ^_~) $ python Python 2.3.4 (#2, Aug 29 2004, 02:04:10) [GCC 3.3.4 (Debian 1:3.3.4-9)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> print "Ivan má rád satana" Ivan má rád satana >>>
Ale zapisovat všechny programy přímo na vstup interaktivního interpretu není zrovna to, co bychom chtěli,
proto se podíváme jak náš příklad zapsat do souboru. V našem oblíbeném textovém editoru si vytvoříme
soubor
Protože náš text obsahuje znaky mimo ascii, měli bychom do souboru také uvést jeho kódování, jinak nás
interpret Pythonu na jeho absenci upozorní varováním. Pro určení kódování se v souborech se zdrojovýmy
kódy pro jazyk python používá syntaxe podobná té, jakou používá editor Emacs pro nastavování lokálních
proměnných při otevření souboru. Konečně soubor # -*- coding: utf-8 -*- print "Ivan má rád satana" Určení kódování by se mělo nacházet na první nebo druhé řádce souboru. Takový soubor pak můžeme spustit interpretem takto: $ python hello.py Ivan má rád satana
Také mužeme na unixu vytvořit přímo spustitelný soubor pomocí "magické sekvence" #!/usr/bin/env python # -*- coding: utf-8 -*- print "Ivan má rád satana" Nastavíme mu odpovídajíví práva: $ chmod +x hello.py A spustíme: $ ./hello.py Ivan má rád satana
Použití programu env má svůj důvod. Interpret jazyka python může být v systému nainstalován ledaskde
a při spouštění interpretu uvedeného na první řádce souboru není prohledávána cesta, proto použijeme
program Přístě se podíváme na to, jak v jazyce Python vypadají nejjednodušší proměnné a jak se s nimi pracuje.
Související články
Celou kategorii (seriál) Další
Python (2.) - Datové typy
Python (3.) - Proměnné a základní vstup a výstup Python (4.) - Operátory Python (5.) - Řídící struktury Python (6.) - Funkce Python (7.) - Jemný úvod do OOP Python (8.) - OOP v Pythonu Python (9.) - Další aspekty jazyka Python Python (10.) - Vstup a výstup Python (11.) - Řetězce Tři způsoby jak provozovat Python s Lighttpd Web v Pythonu s Poor Http nebo Poor Publisher Poor Http / Publisher: dispatch_table.py Poor Http / Publisher: metody aplikace Poor Http / Publisher : samonosná cookie Celou kategorii (seriál) Další
|
Vyhledávání software
Vyhledávání článků
28.11.2018 23:56 /František Kučera 12.11.2018 21:28 /Redakce Linuxsoft.cz 6.11.2018 2:04 /František Kučera 4.10.2018 21:30 /Ondřej Čečák 18.9.2018 23:30 /František Kučera 9.9.2018 14:15 /Redakce Linuxsoft.cz 12.8.2018 16:58 /František Kučera 16.7.2018 1:05 /František Kučera
Poslední diskuze
31.7.2023 14:13 /
Linda Graham 30.11.2022 9:32 /
Kyle McDermott 13.12.2018 10:57 /
Jan Mareš 2.12.2018 23:56 /
František Kučera 5.10.2018 17:12 /
Jakub Kuljovsky | |||
ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze |