Co je to programovací jazyk python. S kterou verzí je lepší pracovat? Unie s transformací

Jako dobře navržený programovací jazyk je Python vhodný pro řešení skutečných problémů, kterým vývojáři čelí každý den. Používá se v celé řadě aplikací – jak jako nástroj pro správu dalších softwarových komponent, tak pro implementaci samostatných programů. Ve skutečnosti je rozsah rolí, které může Python hrát jako víceúčelový programovací jazyk, prakticky neomezený: lze jej použít k implementaci

cokoliv od webových stránek a herních programů po ovládání robotů a vesmírných lodí.

Dnešní použití Pythonu lze však rozdělit do několika širokých kategorií. Následujících několik částí popisuje nejběžnější použití Pythonu v současnosti a také nástroje používané v jednotlivých oblastech. Nebudeme mít možnost zkoumat zde zmíněné nástroje. Pokud vás některá z nich zajímá, navštivte webovou stránku projektu Python, kde najdete další informace

Programování systému

Díky vestavěným rozhraním Pythonu pro přístup ke službám operačního systému je ideální pro vytváření přenosných programů a obslužných programů pro správu systému (někdy nazývaných nástroje shellu). Programy Pythonu mohou vyhledávat soubory a adresáře, spouštět jiné programy, provádět paralelní výpočty pomocí více procesů a vláken a

mnohem víc.

Standardní knihovna Pythonu je plně v souladu se standardy POSIX a podporuje všechny typické nástroje operačního systému: proměnné prostředí, soubory, sokety, kanály, procesy, vícevláknový model provádění, porovnávání vzorů pomocí regulárních výrazů, argumenty příkazového řádku, standardní rozhraní pro přístup datové toky, spouštění příkazů shellu, připojování názvů souborů a další

Kromě toho jsou systémová rozhraní v Pythonu navržena tak, aby byla přenosná, jako je například skript pro kopírování stromu adresářů, který nevyžaduje žádné úpravy bez ohledu na to, na jakém operačním systému se používá. Systém Stackless Python používaný EVE Online také nabízí vylepšená řešení paralelního zpracování.

GUI

Jednoduchost a rychlost vývoje Pythonu z něj činí vynikající nástroj pro vývoj GUI. Python obsahuje standardní objektově orientované rozhraní k Tk GUI API nazvané tkinter (B Python 2.6 se nazývá Tkinter), které umožňuje programům Pythonu implementovat přenosné grafické rozhraní se vzhledem operačního systému. GUI založená na Pythonu/

tkinter lze beze změn používat v MS Windows, X Window (na systémech UNIX a Linux) a Mac OS (jak v klasické verzi, tak v OS X). Bezplatný balíček rozšíření PMW obsahuje další vizuální komponenty pro sadu tkinter. Kromě toho existuje WxPython GUI API, založené na knihovně C++, které nabízí alternativní sadu nástrojů pro vytváření přenosných GUI v Pythonu.

Nástroje na vysoké úrovni, jako jsou PythonCard a Dabot, jsou postaveny na API, jako jsou wxPython a tkinter. Výběrem vhodné knihovny budete moci používat i další nástroje GUI jako Qt (pomocí PyQt), GTK (pomocí PyGtk), MFC (pomocí PyWin32), .NET (pomocí IronPythonu), Swing (pomocí Jythonu - implementace jazyka Python v Javě, který je popsán v kapitole 2, nebo JPype). Chcete-li vyvíjet webové aplikace nebo aplikace, které nemají vysoké požadavky na uživatelské rozhraní, můžete použít Jython, webové rámce Python a skripty CGI, které jsou popsány v další části a poskytují další možnosti pro vytváření uživatelského rozhraní.

Webové skripty

Interpret Pythonu je dodáván se standardními internetovými moduly, které umožňují programům provádět různé síťové operace v režimu klienta i serveru. Skripty mohou komunikovat přes sokety, extrahovat informace z formulářů odeslaných do skriptů CGI na straně serveru; přenos souborů přes FTP; zpracovávat soubory XML; vysílat, přijímat, vytvářet a analyzovat

e-maily; načíst webové stránky ze zadaných URL; analyzovat HTML a XML značky přijatých webových stránek; provádět interakce pomocí protokolů XML-RPC, SOAP a Telnet a mnohem více.

Knihovny obsažené v Pythonu usnadňují implementaci takových úloh.

Navíc existuje obrovská sbírka nástrojů třetích stran pro vytváření síťových programů v Pythonu, které lze nalézt na internetu. Systém HTMLGen vám například umožňuje vytvářet stránky HTML založené na definicích tříd Python. Balíček mod_python je navržen pro spouštění skriptů Python pod webovým serverem Apache a podporuje šablony motoru Python Server Pages. Systém Jython poskytuje

bezproblémová integrace Pythonu/Java a podpora apletů na straně serveru, které běží na straně klienta.

Kromě toho existují plnohodnotné balíčky pro vývoj webových aplikací pro Python, jako jsou Django, TurboGears, web2py, Pylons, Zope a WebWare, které podporují schopnost rychle vytvářet plně funkční a vysoce kvalitní webové stránky v Pythonu. Mnohé z nich zahrnují funkce, jako jsou objektově relační mapování, architektura Model/View/Controller, skriptování na straně serveru, podpora šablon a technologie AJAX, které poskytují

Kompletní a spolehlivá řešení pro vývoj webových aplikací.

Integrace komponent

Schopnost integrovat softwarové komponenty do jediné aplikace pomocí Pythonu již byla zmíněna výše, když jsme mluvili o Pythonu jako o řídicím jazyce. Schopnost Pythonu se rozšiřovat a integrovat do

systémy v C a C++ z něj činí pohodlný a flexibilní jazyk pro popis chování jiných systémů a komponent. Například integrace s knihovnou C umožňuje Pythonu kontrolovat a spouštět komponenty knihovny a začlenění Pythonu do softwarových produktů umožňuje přizpůsobení softwarových produktů, aniž by bylo nutné produkty znovu sestavovat nebo je dodávat se zdrojovým kódem.

Nástroje jako Swing a SIP, které automaticky generují kód, mohou automatizovat kroky propojování kompilovaných komponent v Pythonu pro pozdější použití ve skriptech a systém Cython umožňuje programátorům míchat kód Pythonu a C, jako je podpora COM

v MS Windows, Jython - implementace Java, IronPython - implementace .NET a různé implementace CORBA poskytují alternativní způsoby, jak organizovat interakce se softwarovými komponentami. Například v operačním systému Windows mohou skripty Python používat platformy pro řízení aplikací, jako jsou MS Word a Excel.

Databázové aplikace

Python má rozhraní pro přístup ke všem hlavním relačním databázím - Sybase, Oracle, Informix, ODBC, MySQL, PostgreSQL, SQLite a mnoho dalších. Ve světě Pythonu existuje také portable databázové API pro přístup k databázím SQL ze skriptů Python, které sjednocuje přístup k různým databázím. Například pomocí přenosného API může skript navržený pro práci s bezplatnou databází MySQL pracovat s jinými databázovými systémy (jako je Oracle) prakticky beze změn. Jediné, co k tomu musíte udělat, je vyměnit používané nízkoúrovňové rozhraní.

Standardní modul pickle implementuje jednoduchý systém ukládání objektů, který umožňuje programům ukládat a obnovovat objekty Pythonu v souborech nebo specializovaných objektech. Na internetu můžete také najít systém třetích stran s názvem ZODB.

Jedná se o zcela objektově orientovanou databázi

pro použití ve skriptech Pythonu. Existují také

nástroje jako SQLObject a SQLAlchemy, které se zobrazují

relační tabulky do modelu třídy Python. Od Pythonu 2.5,

Databáze SQLite se stala standardní součástí Pythonu.

Rychlé prototypování

V programech Python vypadají komponenty napsané v Pythonu a C stejně. To vám umožní nejprve prototypovat systémy v Pythonu a poté portovat vybrané komponenty do kompilačních jazyků, jako je C a C++. Na rozdíl od některých jiných prototypovacích nástrojů Python nevyžaduje, aby byl systém po odladění prototypu kompletně přepsán. Části systému, které nevyžadují efektivitu provádění, kterou poskytuje C++, mohou být

ponechat v Pythonu, což výrazně zjednoduší údržbu a používání takového systému.

Matematické programování

a vědecké výpočty

Výše zmíněné matematické rozšíření NumPy obsahuje výkonné prvky, jako jsou objekty pole, rozhraní ke standardním matematickým knihovnám a mnoho dalšího. Rozšíření NumPy – integrací s matematickými knihovnami napsanými v kompilačních programovacích jazycích – mění Python na komplexní, ale pohodlný matematický programovací nástroj, který může často nahradit stávající kód napsaný v tradičních kompilačních jazycích, jako je FORTRAN a C++.

Další matematické nástroje pro Python podporují schopnost vytvářet animační efekty a 3D objekty, umožňují organizovat paralelní výpočty a tak dále. Například populární rozšíření SciPy a ScientificPython poskytují další knihovny pro vědecké výpočty a využívají možnosti rozšíření NumPy.

Hry, obrázky, umělá inteligence,

XML roboti a mnoho dalšího

Programovací jazyk Python lze použít k řešení širšího spektra problémů, než je zde možné zmínit. Například:

Vytvářejte herní programy a animační videa pomocí

pygame systémy

Výměna dat s jinými počítači přes sériový port

port pomocí rozšíření PySerial

Zpracování obrázků pomocí PIL, rozšíření PyOpenGL,

Blender, Maya a další

Ovládejte robota pomocí nástroje Pyro

Analyzujte dokumenty XML pomocí balíčku xml, modulu xmlrp-

clib a rozšíření třetích stran

Programujte umělou inteligenci pomocí neuro-emulátoru

sítě a expertní systémové shelly

Analyzujte fráze v přirozeném jazyce pomocí balíčku NLTK.

Můžete dokonce hrát solitaire pomocí PySol. Podporu pro mnoho dalších aplikačních oblastí lze nalézt na webových stránkách PyPI nebo pomocí vyhledávačů (vyhledejte odkazy pomocí Google nebo http://www.python.org).

Obecně řečeno, mnoho z těchto použití Pythonu jsou jen variacemi stejné role nazývané integrace komponent. Použití Pythonu jako rozhraní ke knihovnám komponent napsaným v C umožňuje psát Python skripty pro řešení problémů v široké škále aplikačních oblastí. Jako univerzální, víceúčelový programovací jazyk, který podporuje integraci, Krajta lze použít velmi široce.

Mimochodem, máte problémy s napájením notebooku? Doporučujeme vám nakupovat napájecí zdroje pro notebooky za velmi příznivé ceny. Na webu společnosti darrom.com.ua najdete napájecí zdroje pro jakýkoli notebook.

Všechny dříve uvažované programy měly lineární strukturu: všechny instrukce byly prováděny postupně jedna po druhé, každá písemná instrukce musí být provedena.

Řekněme, že chceme z daného čísla x určit jeho absolutní hodnotu (modul). Program by měl vypsat hodnotu proměnné x, pokud x>0, nebo hodnotu -x jinak. Lineární struktura programu je narušena: v závislosti na platnosti podmínky x>0 musí být na výstupu ta či ona hodnota. Odpovídající fragment programu Python vypadá takto:

273 x = int(vstup()), pokud x > 0: tisknout(x) jinak: tisknout(-x)

Tento program používá podmíněný příkaz if. Za slovem if je uvedena testovaná podmínka (x > 0) zakončená dvojtečkou. Poté následuje blok (sekvence) instrukcí, které se provedou, pokud je podmínka pravdivá, v našem příkladu je to zobrazení hodnoty x. Poté přichází slovo else (jinak), rovněž končící dvojtečkou, a blok instrukcí, které se provedou, pokud je testovaná podmínka nepravdivá, v tomto případě se vypíše hodnota -x.

Podmíněný příkaz v Pythonu má tedy následující syntaxi:

If Podmínka: Instrukční blok 1 else: Instrukční blok 2

Instrukční blok 1 bude proveden, pokud je podmínka pravdivá. Pokud je podmínka nepravdivá, provede se blok instrukce 2.

V podmíněném příkazu může chybět slovo else a následný blok. Tato instrukce se nazývá neúplné větvení. Pokud je například zadáno číslo x a my ho chceme nahradit absolutní hodnotou x, lze to provést následovně:

273 x = int(vstup()), pokud x< 0: x = -x print(x)

V tomto příkladu bude proměnné x přiřazena hodnota -x , ale pouze v případě x<0 . А вот инструкция print(x) будет выполнена всегда, независимо от проверяемого условия.

Python používá odsazení ke zvýraznění bloku instrukcí souvisejících s příkazem if nebo else. Všechny instrukce, které patří do stejného bloku, musí mít stejnou míru odsazení, to znamená stejný počet mezer na začátku řádku. Doporučuje se používat odsazení 4 mezerami a nedoporučuje se používat jako odsazení znak tabulátoru.

Toto je jeden z podstatných rozdílů mezi syntaxí Pythonu a syntaxí většiny jazyků, ve kterých jsou bloky odděleny speciálními slovy, například nts... cc v Idol, begin... end v Pascalu nebo složené závorky v C .

2. Vnořené podmíněné příkazy

Uvnitř podmíněných instrukcí můžete použít jakékoli instrukce jazyka Python, včetně podmíněných instrukcí. Získáme vnořenou větev - po jednom rozvětvení se během provádění programu objeví další rozvětvení. V tomto případě mají vnořené bloky větší velikost odsazení (například 8 mezer). Ukažme si to na příkladu programu, který za daných nenulových čísel x a y určí, ve které čtvrtině souřadnicové roviny se bod (x,y) nachází:

2 -3 x = int(vstup()) y = int(vstup()), pokud x > 0: pokud y > 0: # x > 0, y > 0 tisk ("První čtvrtletí") jinak: # x > 0 , y< 0 print("Четвертая четверть") else: if y >0: #x< 0, y >0 print("Druhé čtvrtletí") jinak: # x< 0, y < 0 print("Третья четверть")

V tomto příkladu jsme použili komentáře – text, který interpret ignoruje. Komentáře v Pythonu jsou znak # a veškerý text za tímto znakem až do konce řádku.

3. Porovnávací operátory

Obvykle se jako testovaná podmínka používá výsledek jednoho z následujících operátorů porovnání:< Меньше — условие верно, если первый операнд меньше второго.
> Větší než - podmínka platí, pokud je první operand větší než druhý.
<= Меньше или равно.
>= Větší než nebo rovno.
== Rovnost. Podmínka je pravdivá, pokud jsou oba operandy stejné.
!= Nerovnost. Podmínka je pravdivá, pokud jsou dva operandy nerovné.

Například podmínka (x * x< 1000) означает “значение x * x меньше 1000”, а условие (2 * x != y) означает “удвоенное значение переменной x не равно значению переменной y ”.

Porovnávací operátory v Pythonu lze kombinovat do řetězců (na rozdíl od většiny ostatních programovacích jazyků, kde k tomu musíte použít logické spojovací prvky), například a == b == c nebo 1<= x <= 10 .

4. datový typ bool

Porovnávací operátory vracejí hodnoty speciálního booleovského typu bool . Booleovské hodnoty mohou nabývat jedné ze dvou hodnot: True nebo False. Převod logické hodnoty True na typ int bude mít za následek 1 a převod False bude mít za následek 0. Zpětný převod převede číslo 0 na False a jakékoli nenulové číslo na True. Při převodu str na bool se prázdný řetězec převede na hodnotu False a jakýkoli neprázdný řetězec se převede na hodnotu True.

4.1. Logické operátory

Někdy je potřeba zkontrolovat ne jednu, ale několik podmínek současně. Můžete například zkontrolovat, zda je dané číslo sudé pomocí podmínky (n % 2 == 0) (zbytek n děleno 2 je 0), a pokud potřebujete zkontrolovat, zda jsou dvě daná celá čísla n a m sudá , je třeba zkontrolovat platnost obou podmínek: n % 2 == 0 a m % 2 == 0 , pro které je třeba je zkombinovat pomocí operátoru and (logický AND): n % 2 == 0 a m % 2 == 0.

V Pythonu existují standardní logické operátory: logický AND, logický OR, logická negace.

Logický AND je binární operátor (tj. operátor se dvěma operandy: levý a pravý) a má tvar a . Operátor and vrací True tehdy a jen tehdy, když jsou oba jeho operandy True.

Logický OR je binární operátor a vrací True tehdy a jen tehdy, když je alespoň jeden operand True. „Logický operátor OR“ má tvar nebo .

Logické NOT (negace) je unární (tj. s jedním operandem) operátor a má formu, za kterou nenásleduje jediný operand. Boolean NOT vrátí True, pokud je operand False a naopak.

Příklad. Zkontrolujeme, že alespoň jedno z čísel a nebo b končí na 0:

15 40 a = int(vstup()) b = int(vstup()), pokud a % 10 == 0 nebo b % 10 == 0: tisk ("ANO") jinak: tisk ("NE")

Zkontrolujeme, že číslo a je kladné a b nezáporné:

Pokud a > 0 a ne (b< 0):

Nebo místo ne (b< 0) записать (b >= 0) .

5. Kaskádové podmíněné instrukce

Ukázkový program, který definuje čtvrtinu souřadnicové roviny, lze přepsat pomocí „kaskádové“ sekvence s operací if...elif... else:

5 7 x = int(vstup()) y = int(vstup()), pokud x > 0 a y > 0: print("Prvni ctvrtina") elif x > 0 a y< 0: print("Четвертая четверть") elif y >0: print("Druhé čtvrtletí") else: print("Třetí čtvrtletí")

V této konstrukci jsou podmínky if, ..., elif kontrolovány jedna po druhé a je proveden blok odpovídající první pravdivé podmínce. Pokud jsou všechny testované podmínky nepravdivé, provede se blok else, pokud je přítomen.

Python je široce používaný programovací jazyk na vysoké úrovni, který byl pojmenován po slavné britské komediální televizní show " Monty Pythonův létající cirkus" Jazyk Python má jednoduchou strukturu, ale neuvěřitelně flexibilní a výkonný. Vzhledem k tomu, že kód Pythonu je snadno čitelný a aniž by byl příliš rigidní v syntaxi, mnozí jej považují za nejlepší úvodní programovací jazyk.

Python - popis daného jazyka Foundation popisuje Python:

Python je interpretovaný, interaktivní, objektově orientovaný programovací jazyk. Zahrnuje moduly, výjimky, dynamické typování, dynamické datové typy na vysoké úrovni a třídy. Python kombinuje vynikající výkon s jasnou syntaxí. Poskytuje rozhraní pro mnoho systémových volání a knihoven, stejně jako různé okenní systémy, a je rozšiřitelný pomocí C a C++. Python se používá jako rozšiřující jazyk pro aplikace, které vyžadují programovací rozhraní. A konečně, Python je multiplatformní jazyk: běží na mnoha verzích Unixu, Maců a počítačů se systémem MS-DOS, Windows, Windows NT a OS/2.

Který programovací jazyk byste se měli naučit jako první?

Můžete se začít učit programovací jazyk Python. Abyste ilustrovali, jak se Python liší od ostatních úvodních jazyků, vzpomeňte si na dobu, kdy jste byli teenager.

Naučit se programovat v Pythonu je jako řídit minivan svých rodičů. Jakmile s ním několikrát projedete na parkovišti, začnete chápat, jak s autem zacházet.

Snažím se naučit programovat pomocí C ( nebo dokonce assembler) je to jako učit se řídit sestavením minivanu rodičů. Budete roky trčet v garáži při sestavování dílů, a až budete plně rozumět tomu, jak auto funguje, a budete schopni odstraňovat a předvídat budoucí problémy, shoříte dřív, než se vůbec dostanete za vůz. kolo.

Výhody Pythonu

Python je univerzální jazyk pro začátečníky. Pomocí Pythonu můžete automatizovat pracovní postupy, vytvářet webové stránky a vytvářet aplikace a hry pro stolní počítače. Mimochodem, poptávka po vývojářích Pythonu ( PostgreSQL, OOP, Flask, Django) za posledních několik let dramaticky vzrostl ve společnostech, jako je Instagram, Reddit, Tumblr, YouTube a Pinterest.

Univerzální jazyk na vysoké úrovni

Python je programovací jazyk na vysoké úrovni. Pomocí něj můžete vytvořit téměř jakýkoli typ softwaru. Tato všestrannost vás udrží v zájmu, když vyvíjíte programy a řešení, která se zaměřují na vaše zájmy, spíše než abyste uvízli v plevelu jazyka, který by se staral o jeho syntaxi.

Interpretovaný jazyk

Programovací jazyk Python pro začátečníky je interpretován, což znamená, že nemusíte vědět, jak kompilovat kód. Vzhledem k tomu, že neexistuje žádný krok kompilace, zvyšuje se produktivita a výrazně se zkracuje čas na úpravy, testování a ladění. Stačí si stáhnout IDE ( IDE), napište svůj kód a klikněte na „Spustit“ ( Běh).

Čitelnost kódu je klíčová

Jednoduchá, snadno pochopitelná syntaxe Pythonu klade důraz na čitelnost a nastavuje dobrý styl programování. S Pythonem můžete vyjádřit svůj koncept v méně řádcích kódu. Tento jazyk vás také nutí přemýšlet o programové logice a algoritmech. Z tohoto důvodu se často používá jako skriptovací nebo integrační jazyk ( lepidlo jazyk) propojovat existující komponenty dohromady a psát velké objemy snadno čitelného a spustitelného kódu v krátkých časových obdobích.

Je to prostě zábava

Nemůžete pojmenovat programovací jazyk po Monty Python, aniž byste měli smysl pro humor. Kromě toho bylo provedeno testování s cílem porovnat čas potřebný k napsání jednoduchého skriptu v různých jazycích ( Python, Java, C, J, BASIC):

...Python vyžaduje méně času, méně řádků kódu a méně konceptů k dosažení vašeho cíle... A ke všemu je programování v Pythonu zábava! Zábava a časté úspěchy posilují důvěru a zájem studentů, kteří se tak lépe připravují na pokračování v učení Pythonu.

Překlad článku „Proč se učit Python? “ připravil přátelský projektový tým.

Dobrý Špatný

Tento materiál je určen pro ty, kteří jsou již obeznámeni s programováním a chtějí ovládat programovací jazyk Python. Je navržen tak, aby vám během 10 minut ukázal funkce jazyka Python, funkce syntaxe a základní principy práce s Pythonem na příkladech. Není zde žádná „voda“ – informace, která přímo nesouvisí s programovacím jazykem. Začněme!

Programovací jazyk Python se vyznačuje silným psaním (Silné psaní se vyznačuje tím, že jazyk neumožňuje míchání různých typů ve výrazech a neprovádí automatické implicitní převody, např. nelze odečíst množinu z řetězce), dynamický používá se psaní - všechny typy se zjišťují během provádění programu.

Deklarování proměnných je volitelné, v názvech se rozlišují velká a malá písmena (var a VAR jsou dvě různé proměnné).

Python je objektově orientovaný jazyk; vše v jazyce je objekt.

Získání pomoci

Nápověda (nápověda) v Pythonu je vždy dostupná přímo v interpretu. Pokud chcete vědět, jak objekt funguje, zavolejte help( ). Další užitečná instrukce je dir() , která ukazuje všechny metody objektu a vlastnosti objektů .__doc__, který vám zobrazí docstring:

>>> help(5) Nápověda k objektu int: (atd atd.) >>> dir(5) ["__abs__", "__add__", ...] >>> abs.__doc__ "abs(číslo) -> číslo Vraťte absolutní hodnotu argumentu."

Syntaxe Pythonu

Python nemá konstrukce pro ukončovací bloky (jako jsou například deklarace tříd nebo funkcí) – bloky jsou definovány pomocí odsazení. Zvětšete odsazení na začátku bloku, zmenšete ho na konci bloku. Příkazy, které vyžadují odsazení, jsou ukončeny dvojtečkou (:). Pokud po příkazu start-of-block ještě nemáte kód, vložte příkaz pass, aby prošel kontrolou syntaxe.

Zatímco rangelist == 1: pass

Jednořádkové komentáře začínají znakem hash (#), zatímco víceřádkové komentáře používají (""") na začátku a na konci komentáře.

Hodnoty se přiřazují pomocí znaménka rovná se („=“) (objekty jsou v procesu skutečně pojmenovány).

Rozdílový test se provádí se dvěma stejnými symboly ("==").

Hodnotu můžete zvýšit pomocí operátoru += a snížit ji pomocí -= zadáním proměnné na levé straně a hodnoty, o kterou dojde ke zvýšení/snížení na pravé straně. To funguje s mnoha datovými typy v Pythonu, včetně řetězců.

Hodnotu můžete přiřadit více proměnným na stejném řádku. Příklady:

>>> myvar = 3 >>> myvar += 2 >>> myvar 5 >>> myvar -= 1 >>> myvar 4 """Toto je víceřádkový komentář. Následující řádky spojují dva řetězce.""" >>> mystring = "Ahoj" >>> mystring += "svět." >>> tisk mystring Ahoj světe. # Tím se vymění proměnné v jednom řádku(!). # Neporušuje silné psaní, protože hodnoty se ve skutečnosti # nepřiřazují, ale nové objekty jsou svázány # se starými názvy. >>> myvar, mystring = mystring, myvar

Datové typy v Pythonu

Python poskytuje datové typy, jako jsou seznamy, n-tice a slovníky. K dispozici jsou také sady pomocí modulu sad ve verzích před Pythonem 2.5 a zabudovaných do jazyka v pozdějších verzích.

Seznamy jsou podobné jednorozměrným polím. Je možné mít seznam složený z dalších seznamů.

Slovníky jsou asociativní pole, ve kterých se k datům přistupuje pomocí klíče.

N-tice jsou neměnná jednorozměrná pole.

"Pole" v Pythonu mohou být libovolného typu, což znamená, že můžete kombinovat čísla, řetězce a další datové typy v seznamech/slovnících/nicích.

Index prvního prvku je 0. Záporná hodnota indexu se začne počítat od posledního k prvnímu, [-1] bude ukazovat na poslední prvek.

Proměnné mohou ukazovat na funkce.

>>> sample = , ("a", "n-tice")] >>> mylist = ["Položka seznamu 1", 2, 3.14] >>> mylist = "Znovu položka seznamu 1" # Položku měníme >>> mylist[-1] = 3,21 # Zde odkazujeme na poslední položku >>> mydict = ("Klíč 1": "Hodnota 1", 2: 3, "pi": 3,14) >>>. mydict["pi"] = 3,15 # Takto změníte hodnoty ve slovníku >>> mytuple = (1, 2, 3) >>> myfunction = len >>> print myfunction(mylist) 3.

Výseč pole (seznam nebo n-tice) můžete získat pomocí dvojtečky (:). Pokud ponecháte počáteční hodnotu indexu prázdnou, bude indikovat začátek od první hodnoty; ponechání prázdné hodnoty koncového indexu bude znamenat poslední prvek pole. Záporné indexy se počítají zpětně od konce pole (-1 bude ukazovat na poslední prvek).

Podívejte se na příklady:

>>> můj seznam = ["Položka seznamu 1", 2, 3.14] >>> tisk seznamu[:] ["Položka seznamu 1", 2, 3,1400000000000001] >>> tisk seznamu ["Položka seznamu 1", 2] > >> print mylist[-3:-1] ["Položka seznamu 1", 2] >>> print mylist # Přidání třetího parametru, "step" bude mít Python krok v # N přírůstcích položek, spíše než 1. # Např. , vrátí první položku, poté přejděte ke třetí a # vrátí ji (tedy položky 0 a 2 v indexování 0). >>> tisk mého seznamu[::2] ["Položka seznamu 1", 3.14]

Řetězce v Pythonu

K označení řetězce lze použít apostrof (‘) nebo dvojité uvozovky (dvojité uvozovky – “). To vám umožňuje mít v řetězci uvozovky označené apostrofy (například ‚Řekl „ahoj.“ je platný řetězec).

Víceřádkové řetězce jsou označeny pomocí trojitého apostrofu nebo uvozovek ("""). Python podporuje unicode ihned po vybalení. Druhá verze Pythonu však používá znak (u) k označení řetězce obsahujícího unicode: u"Toto je řetězec unicode." Python3 všechny řetězce obsahují Unicode. Pokud v Pythonu3 potřebujete sekvenci bajtů, což byl v předchozích verzích v podstatě řetězec, použije se symbol (b): b"Toto je bajtový řetězec".

Chcete-li nahradit hodnoty parametrů do řetězce, použijte operátor (%) a n-tici. Každý %s je nahrazen prvkem z n-tice, zleva doprava. K nahrazení pojmenovaných parametrů můžete také použít slovník:

>>>print "Jméno: %s\ Číslo: %s\ Řetězec: %s" % (myclass.name, 3, 3 * "-") Jméno: Poromenos Číslo: 3 Řetězec: --- strString = """ Toto je víceřádkový řetězec.""" # VAROVÁNÍ: Dejte si pozor na koncové s v "%(key)s". >>> print "Toto %(sloveso)s a %(podstatné jméno)s." % ("podstatné jméno": "test", "verb": "je") Toto je test.

Pokyny pro řízení toku - pokud, na, na chvíli

Příkazy If, for a while se používají k řízení pořadí, ve kterém je program vykonáván. Pokud se místo toho použije, v Pythonu není žádný přepínač ani případ. For se používá k iteraci přes prvky seznamu (nebo n-tice). Chcete-li získat posloupnost čísel, použijte range( ). K přerušení provádění smyčky se používá break.

Syntaxe této konstrukce je následující:

Rangelist = range(10) >>> tisk rangelist pro číslo v rangelistu: # Zkontrolujte, zda je číslo jedním z # čísel v n-tici.

if number in (3, 4, 7, 9): # "Break" ukončí a bez # provedení klauzule "else".

break else: # "Continue" spustí další iteraci # cyklu. Tady je to spíše zbytečné, # protože je to poslední příkaz smyčky.

pokračovat else: # Klauzule "else" je nepovinná a # se provede pouze v případě, že smyčka "neprošla" # Nedělat nic, pokud rangelist == 2: print "Druhá položka (seznamy jsou založeny na 0) je 2". " elif rangelist == 3: print "Druhá položka (seznamy jsou založeny na 0) je 3" else: print "Nevím", zatímco rangelist == 1: pass

Funkce v Pythonu

Funkce jsou deklarovány pomocí klíčového slova "def". Nepovinné argumenty se objevují v deklaraci funkce za povinnými a je jim přiřazena výchozí hodnota. Při volání funkce můžete předat argumenty zadáním jejich názvu a hodnoty, přičemž vynecháte některé z volitelných argumentů nebo je uspořádáte v jiném pořadí, než je deklarováno ve funkci.

Funkce mohou vrátit n-tici a pomocí rozbalení n-tice můžete vrátit více hodnot.

# Stejné jako def funcvar(x): return x + 1 funcvar = lambda x: x + 1 >>> print funcvar(1) 2 # an_int a a_string jsou volitelné, mají výchozí hodnoty #, pokud jedna není předána ( 2 a "Výchozí řetězec"). def passing_example(a_list, an_int=2, a_string="Výchozí řetězec"): a_list.append("Nová položka") an_int = 4 návrat a_list, an_int, a_string >>> my_list = >>> my_int = 10 >> > print passing_example(my_list, my_int) (, 4, "Výchozí řetězec") >>> my_list >>> my_int 10

třídy Python

Python podporuje omezenou formu vícenásobné dědičnosti ve třídách.

Soukromé proměnné a metody mohou být deklarovány (dle konvence, toto není kontrolováno interpretem) pomocí dvou podtržítek na začátku a maximálně jednoho na konci jména (např.: "__spam").

Instancím tříd můžeme také přiřadit libovolné názvy. Zobrazit příklady:

Class MyClass(object): common = 10 def __init__(self): self.myvariable = 3 def myfunction(self, arg1, arg2): return self.myvariable # Toto je konkretizace třídy >>> classinstance = MyClass() >> > classinstance.myfunction(1, 2) 3 # Tato proměnná je sdílena všemi třídami. >>> classinstance2 = MyClass() >>> classinstance.common 10 >>> classinstance2.common 10 # Všimněte si, jak místo instance používáme název třídy #. >>> MyClass.common = 30 >>> classinstance.common 30 >>> classinstance2.common 30 # Toto neaktualizuje proměnnou na třídě, # místo toho naváže nový objekt na starý # název proměnné. >>> classinstance.common = 10 >>> classinstance.common 10 >>> classinstance2.common 30 >>> MyClass.common = 50 # Toto se nezměnilo, protože "common" je # nyní proměnnou instance. >>> classinstance.common 10 >>> classinstance2.common 50 # Tato třída dědí z MyClass. Výše uvedený příklad # třída dědí z "object", což z # dělá to, co se nazývá "třída nového stylu". # Vícenásobná dědičnost je deklarována jako: # class OtherClass(MyClass1, MyClass2, MyClassN) class OtherClass(MyClass): # Argument "self" je předán automaticky # a odkazuje na instanci třídy, takže můžete nastavit # proměnné instance jako výše, ale zevnitř třídy def __init__(self, arg1): self.myvariable = 3 print arg1 >>. > classinstance = OtherClass("hello") ahoj >>> classinstance.myfunction(1, 2) 3 # Tato třída nemá člena .test, ale # i tak jej můžeme do instance přidat. Všimněte si #, že to bude pouze člen classinstance. >>> classinstance.test = 10 >>> classinstance.test 10

Výjimky v Pythonu

Výjimky v Pythonu jsou zpracovány v blocích try-except:

Def some_function(): try: # Dělení nulou vyvolá výjimku 10 / 0 kromě ZeroDivisionError: print "Jejda, neplatné."

else: # Výjimka nenastala, jsme dobří.

pass nakonec: # Toto se provede po spuštění bloku kódu # a po zpracování všech výjimek, i když # je při zpracování vyvolána nová výjimka.

print "Skončili jsme s tím." >>> some_function() Jejda, neplatné. S tím jsme skončili.

Import modulů v Pythonu

Externí knihovny se používají po importu pomocí klíčového slova import. Můžete také použít z importu k importu vlastních funkcí.

Import random from time import clock randomint = random.randint(1, 100) >>> print randomint 64

Práce se soubory v Pythonu

  • Python má velké množství knihoven pro práci se soubory. Například serializace (převod dat na řetězce pomocí knihovny pickle):< a < 3 проверит, что a одновременно меньше 3 и больше 1.
  • Import pickle mylist = ["This", "is", 4, 13327] # Otevřete soubor C:\\binary.dat pro zápis. Písmeno r před řetězcem # název_souboru se používá k zamezení escapování zpětného lomítka. myfile = open(r"C:\\binary.dat", "w") pickle.dump(mylist, myfile) myfile.close() myfile = open(r"C:\\text.txt", "w" ) myfile.write("Toto je ukázkový řetězec") myfile.close() myfile = open(r"C:\\text.txt") >>> print myfile.read() "Toto je vzorový řetězec" myfile .close() # Otevře soubor pro čtení. myfile = open(r"C:\\binary.dat") loadlist = pickle.load(myfile) myfile.close() >>> tisk načteného seznamu ["Toto", "je", 4, 13327]
  • Smíšený
Podmínky se mohou slepit, například 1
  • K odstranění proměnných nebo prvků v polích můžete použít del.
number = 5 def myfunc(): # Toto vytiskne 5. print number def otherfunc(): # To vyvolá výjimku, protože proměnná # nebyla před tiskem svázána. Python ví, že # objekt k němu bude později svázán a vytvoří nový, lokální # objekt namísto přístupu ke globálnímu.

print number number = 3 def yetanotherfunc(): global number # Toto správně změní globální.

číslo = 3

Jak se naučit programovací jazyk Python

Tento materiál není zamýšlen jako komplexní průvodce Pythonem. Programovací jazyk Python má obrovské množství knihoven a různých funkcí, se kterými se seznámíte při další práci s jazykem a studiu dalších zdrojů.

Pokud vám prezentované informace nestačí, podívejte se na rozšířený materiál popisující programovací jazyk Python – ten poskytuje informace o jazyku podrobněji.

Z dalších materiálů doporučuji Learn Python The Hard Way. A samozřejmě The Python 2 Tutorial a The Python 3 Tutorial.

Mnohokrát děkuji Stavrosi Korokithakisovi za jeho vynikající tutoriál „Naučte se Python za 10 minut“.

Pokud chcete v tomto materiálu něco zlepšit, napište do komentářů.

  • Interpretovaný jazyk není kompilován do strojového kódu: instrukce jsou jednoduše prováděny tak, jak program postupuje.
  • Výhody interpretovaného jazyka oproti kompilovanému:
  • Multiplatformní (Nemusíte kompilovat program pro všechno. Jakmile je kód napsán, bude fungovat na všem).
  • Dynamické psaní (proměnné samy určují požadovaný typ).

Reflexe a introspekce (schopnost programu se sama modifikovat).

  • A mnoho dalšího, co bude v tomto článku zbytečné. No, nevýhody:).
  • Nižší produktivita (někdy

výrazně

  • Potřeba programu – tlumočníka.
  • Výhody samotného Pythonu 3:
  • Jednoduchá a krásná syntaxe.

Velké množství vestavěných a dostupných funkcí.

Vzhledem k jeho oblíbenosti je k dispozici velké množství informací.

Stručně jsme se dozvěděli o tom, co je Python a jeho charakteristické rysy.

Syntax

  • I když si nyní ukážeme operátory a konstrukce, které možná neznáte, pro další učení je lepší je znát předem.
  • Syntaxe Pythonu je tedy extrémně jednoduchá a vejde se do malého odstavce:
  • Konec řádku - konec instrukce.

Vnořené instrukce jsou od hlavních odděleny odsazením, tzn. jejich různé počty.

print("Ahoj, jsem Python!") # výstup řetězce Ahoj, jsem Python! pokud 3.14< 1592: # условный оператор (будет рассмотрен в след. уроках) print("good") # и опять выводим сообщение print("work") # и еще

No, pár speciálních případů:

  • Na jeden řádek můžete napsat více instrukcí. To však snižuje čitelnost:

    x = 1,14; y = 2,0014; tisknout (x + y)

    x = 1,14; y = 2,0014; tisknout (x + y)

  • Jeden pokyn můžete napsat na více řádků. Chcete-li to provést, musíte jej uzavřít do dvojice kulatých, čtvercových nebo složených závorek:

    if (5 > 1 a 1< 2 and 8 == 8 and "good" != "bad"): print("it is true")

Tak a teď napíšeme náš první program!

První program:

K napsání programu v Pythonu IDLE potřebujete:

  1. Otevřete Python IDLE.
  2. Vyberte Soubor -> Nový soubor.
  3. Napište program (kód níže).
  4. Uložit Ctrl + s .
  5. Pro spuštění stiskněte F5.

Nejprve napíšeme a spustíme níže uvedený kód a poté jej analyzujeme:

s = input("Jak se jmenuješ?") print("Ahoj, ", s,"! Vítejte ve světě objevování! Vítejte v Pythonu!")

V tomto řádku je proměnné s přiřazena hodnota funkce input() s parametrem "Jak se jmenujete?\n" . Pokud všemu nerozumíte, nezoufejte, vše bude podrobně vysvětleno v následujících článcích.

Prozatím je důležité pouze pochopit, že funkce input() přijímá řetězec zadaný z klávesnice, tzn. je vstupní operátor a s získá hodnotu input() . Vidíme, že instrukce je umístěna na jednom řádku podle pravidel jazyka Python. Mimochodem, znak "\n" je speciální a označuje nový řádek.

print("Ahoj, ", s,"! Vítejte ve světě objevování! Vítejte v Pythonu!")

print("Ahoj,", s, "! Vítejte ve světě objevování! Vítejte v Pythonu!")

Na tomto řádku máme pouze funkci print(), což je výstupní operátor v Pythonu. Jak vidíme, funkce má mnoho různých parametrů, které je třeba vypsat (jsou označeny oddělenými čárkami).

Podívejme se na typický provoz programu.



 Nahoru