Python - co to je? Vysokoúrovňový programovací jazyk. Interaktivní výuka Pythonu

27. srpna 2012 v 15:18 hodin

Naučte se Python efektivně

  • Krajta

Zdravím všechny!

Syntaxe čitelná pro člověka, snadno se učí, jazyk na vysoké úrovni, objektově orientovaný programovací jazyk (OOP), výkonný, interaktivní režim, spousta knihoven. Mnoho dalších výhod... A to vše v jednom jazyce.
Nejprve se ponoříme do možností a zjistíme, co Python umí?

Proč potřebuji váš Python?

Mnoho nových programátorů si klade podobné otázky. Je to jako koupit si telefon, řekněte mi, proč bych si měl koupit tento telefon a ne tento?
Kvalita softwaru
Pro mnohé, včetně mě, jsou hlavními výhodami lidsky čitelná syntaxe. Mnoho jazyků se jím nemůže pochlubit. Kód Pythonu je snadněji čitelný, což znamená, že jeho opětovné použití a údržba je mnohem jednodušší než použití kódu v jiných skriptovacích jazycích. Python obsahuje nejmodernější mechanismy pro opětovné použití programového kódu, což je OOP.
Podpora knihoven
Python přichází s velkým množstvím zkompilovaných a přenosných funkcí známých jako standardní knihovna. Tato knihovna vám poskytuje mnoho funkcí, které jsou v aplikačních programech žádané, od textového vyhledávání podle šablony až po síťové funkce. Python lze rozšířit jak o vaše vlastní knihovny, tak o knihovny vytvořené jinými vývojáři.
Přenositelnost programu
Většina programů Python běží beze změny na všech hlavních platformách. Přenos programového kódu z Linuxu do Windows zahrnuje pouhé zkopírování programových souborů z jednoho počítače do druhého. Python vám také dává spoustu příležitostí k vytváření přenosných grafických rozhraní.
Rychlost vývoje
Ve srovnání s kompilovanými nebo silně typizovanými jazyky, jako je C, C++ nebo Java, Python mnohonásobně zvyšuje produktivitu vývojářů. Kód Pythonu je obvykle třetinový nebo dokonce pětinový velikosti ekvivalentního kódu C++ nebo Java, což znamená méně psaní, méně času na ladění a menší nároky na údržbu. Programy v Pythonu navíc běží okamžitě bez časově náročné kompilace a propojování vyžadovaných v některých jiných programovacích jazycích, což dále zvyšuje produktivitu programátorů.

Kde se používá Python?

  • Google používá Python ve svém vyhledávači a platí tvůrce Pythonu, Guido van Rossum.
  • Společnosti jako Intel, Cisco, Hewlett-Packard, Seagate, Qualcomm a IBM používají Python pro testování hardwaru
  • Služba YouTube pro sdílení videa je z velké části implementována v Pythonu
  • NSA používá Python pro šifrování a analýzu informací
  • JPMorgan Chase, UBS, Getco a Citadel používají Python pro prognózování finančních trhů
  • Populární program BitTorrent pro výměnu souborů v peer-to-peer sítích je napsán v Pythonu
  • Populární webový framework App Engine společnosti Google používá Python jako svůj aplikační programovací jazyk
  • NASA, Los Alamos, JPL a Fermilab používají Python pro vědecké výpočty.
a další společnosti také používají tento jazyk.

Literatura

Seznámili jsme se tedy lépe s programovacím jazykem Python. Samostatně můžeme říci, že výhody Pythonu jsou v tom, že má spoustu vysoce kvalitní literatury. Ne každý jazyk se tím může pochlubit. Například programovací jazyk JavaScript nemůže potěšit uživatele velkým množstvím literatury, ačkoli je jazyk opravdu dobrý.

Zde jsou zdroje, které vám pomohou lépe poznat Python a možná se stanete budoucím Guido van Rossumem.
* Některé zdroje mohou být v angličtině. To by nemělo být překvapivé, nyní je mnoho vynikající literatury napsáno v angličtině. A pro samotné programování je potřeba znát alespoň základní znalost angličtiny.

Vřele doporučuji přečíst si nejprve knihu - Mark Lutz. Učení Pythonu, 4. vydání. Kniha byla přeložena do ruštiny, takže se nebojte, pokud najednou nebudete umět anglicky. Ale je to čtvrté vydání.

Pro ty, kteří umí anglicky, si můžete přečíst dokumentaci na oficiálních stránkách Pythonu. Vše je tam popsáno celkem jasně.

A pokud dáváte přednost informacím z videa, pak vám mohu doporučit lekce od Googlu, které vede Nick Parlante, student ze Stanfordu. Šest videopřednášek na YouTube. Tady je ale kapka masti v masti... Vede to anglicky s anglickými titulky. Ale doufám, že to pár lidí zastaví.

Co mám dělat, když čtu knihy, ale nevím, jak své znalosti uplatnit?

Nepanikařte!
Doporučuji přečíst knihu od Marka Lutze. Programování v Pythonu (4. vydání). Dříve to bylo „studium“, ale tady je to „Programování“. V „Learning“ – získáte znalosti Pythonu, v „Programování“ – vás Mark naučí, jak je aplikovat ve svých budoucích programech. Kniha je velmi užitečná. A myslím, že ti jeden stačí.

Chci praxi!

Snadno.
Výše jsem psal o video přednáškách od Nicka Parlante na YouTube, ale také nějaké mají

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 vázány na # stará jména. >>> 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í se první položka, pak přejde na 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 rozsah( ). 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 rangelistu 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 objeví 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.

Funkce lambda jsou speciální funkce, které zpracovávají jeden argument.

Parametry se předávají přes referenci. Přidáním prvků do předaného seznamu získáte aktualizovaný seznam mimo funkci. V tomto případě zůstane přiřazení nové hodnoty parametrům uvnitř funkce lokální akcí. Protože předáním se přenáší pouze paměťové místo, přiřazení nového objektu k parametru jako proměnné způsobí vytvoření nového objektu.

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é."

Import modulů v Pythonu

Externí knihovny se použijí 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):

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< a < 3 проверит, что a одновременно меньше 3 и больше 1.
  • K odstranění proměnných nebo prvků v polích můžete použít del.
  • Seznamy poskytují velmi výkonné možnosti manipulace s daty. Výraz můžete sestavit pomocí příkazů for následovaný příkazy if nebo for:
>>> lst1 = >>> lst2 = >>> tisk >>> tisk # Zkontrolujte, zda podmínka platí pro některé položky. # "any" vrátí true, pokud je nějaká položka v seznamu pravdivá. >>> any()) True # Je to proto, že 4 % 3 = 1 a 1 je pravda, takže any() # vrací True. # Zkontrolujte, kolik položek je splněna podmínka. >>> součet(1 pro i v, pokud i == 4) 2 >>> del lst1 >>> tisk lst1 >>> del lst1
  • Globální proměnné jsou deklarovány mimo funkce a lze je číst bez speciálních deklarací uvnitř, ale pokud je chcete zapsat, musíte deklarovat od na začátku funkce pomocí speciálního klíčového slova "global", jinak Python přiřadí novou hodnotu lokální proměnná:
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í.

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ářů.

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 jedna nebo druhá 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 nepravda, 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 pokud 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žít 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 libovolné 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.

Chcete vstoupit do světa programování a rychle napsat prvních pár programů? Nebo sníte o učení se novým jazykům, ale nevíte, kde začít? Věnujte pozornost kurzům základů programování v Pythonu. Dále se dozvíte více o tom, proč je tento jazyk doporučován začátečníkům a jaké programy v něm lze vytvářet.

Základy Pythonu pro začínající programátory

Python je výkonný, vysokoúrovňový, objektově orientovaný programovací jazyk vytvořený Guido van Rossumem. Má snadno použitelnou syntaxi, díky čemuž je ideálním jazykem pro ty, kteří se chtějí naučit programovat poprvé. Chcete-li pokračovat v seznamování s jazykem, můžete si přečíst knihu Dmitrije Zlatopolského „Python - Základy programování“. Ale začneme od úplných základů. V této oblasti je mnoho literatury. Další možností jsou knihy Harryho Percivala „Python. Testem řízený vývoj.” Mluví o jazyce z praktického hlediska.

Využití jazyka v praxi

Co je tedy napsáno v Pythonu nebo „Pythonu“, jak se tomu také mezi programátory říká, a proč se to učit? Python je univerzální jazyk. Používá se k psaní webových aplikací pomocí různých frameworků, systémových utilit a aplikací pro automatizaci různých akcí. V současné době existuje dostatek kurzů o základech programování v Pythonu, abyste si zkusili naučit se jazyk sami.

Mohl by se stát základem nové profese, protože má širokou škálu aplikací od vývoje webu, vědeckých a matematických výpočtů až po desktopová grafická uživatelská rozhraní. Je také dobré pro prototypování. To znamená, že se nejprve vytvoří prototyp v Pythonu, poté lze koncept přenést do rychlejších a zkompilovaných programovacích jazyků. Pomocí tohoto jazyka můžete vytvářet desktopové aplikace s grafickým rozhraním a psát hry, pro které existuje speciální knihovna. Základy algoritmizace a programování v Pythonu jsou vhodné pro tvorbu aplikací pro mobilní zařízení.

Proč se učit Python

Python také používá velmi jednoduchou a stručnou syntaxi a dynamické psaní. Znalost základů algoritmizace a programování v Pythonu vám umožní rychle vytvořit program a spustit jej. Pokud potřebujete jazyk pro rychlé vytváření aplikací a skriptů ve více doménách, těžko budete hledat lepší alternativu než Python. Oproti jiným programovacím jazykům má řadu zjevných výhod:

  • univerzální použití - v tomto jazyce lze psát různé typy aplikací, proto se spolu s jeho zvládnutím otevírají široké možnosti využití tohoto jazyka;
  • jednoduchost – jazyk byl původně vyvinut pro zjednodušení lidské práce s ním;
  • oblíbenost mezi programátory a poptávka na trhu práce - Python je široce používán v různých projektech;
  • velké množství dostupných knihoven rozšiřuje možnosti jazyka a činí jej ještě univerzálnějším;
  • multiplatformní – program napsaný jednou bude fungovat na jakékoli platformě, která má jazykový interpret;
  • Jednou z důležitých výhod jazyka je jeho kvalitní dokumentace.

Python je také jedním z nejstarších jazyků pro vývoj webových aplikací, který vytvořil Guido van Rossum v National Research Institute for Mathematics and Computer Science v Nizozemsku na počátku 90. let. Jazyk si hodně půjčuje z C++, C a dalších skriptovacích jazyků. Používá anglická klíčová slova, která tvoří většinu programování v Pythonu. Pokud je ovládáte, pak můžete mít za to, že z velké části jste jazyk již zvládli. To bude nějakou dobu trvat a než začnete, budete muset pochopit základní pojmy. Začněme tedy tím, že se s nimi seznámíme.

Výhody Pythonu

Jednou z klíčových výhod programování v Pythonu je jeho interpretační povaha. To znamená, že programový kód není kompilován do spustitelného souboru, ale je spouštěn interpretem při každém spuštění uživatelem. Pro spuštění programu tedy musí být přítomen na počítači, kde budete programy vytvářet. Interpret a standardní knihovna jsou k dispozici v binární nebo zdrojové podobě na webových stránkách Pythonu a lze je bez problémů spustit na všech hlavních operačních systémech.

Mezi hlavní výhody Pythonu tedy patří:

  • Interpretativní: Jazyk je zpracováván tlumočníkem za běhu, jako je PHP nebo PERL, takže nemusíte program před spuštěním kompilovat.
  • Interaktivita: Během psaní programu můžete přímo komunikovat s interpretem.
  • Ideální pro začátečníky: pro začínající programátory.
  • Python je skvělá volba, protože podporuje vývoj aplikací, od her přes prohlížeče až po zpracování textu.

    Jak nainstalovat a spustit interpret

    Abyste mohli začít psát v Pythonu, musíte si stáhnout a nainstalovat jeho interpret na oficiálních stránkách jazyka a vybrat verzi pro váš operační systém. Stojí za zmínku, že existují dvě větve jazyka - druhá a třetí. Je lepší začít se učit základy Pythonu 3, pokud jste ještě nenainstalovali jinou verzi. Při instalaci na Windows nezapomeňte věnovat pozornost tomu, zda je povolena možnost Přidat Python do cesty a utilita Pip. Po instalaci jej můžete spustit. Chcete-li to provést, musíte do příkazového řádku zadat: „python“ a spustí se. V okně se objeví tři lomené závorky označující, že se nacházíte v tlumočníku. Tento programovací jazyk je také volně dostupný a můžete zde najít tipy, nástroje třetích stran, programy, moduly a další dokumentaci.

    Klíčová slova v Pythonu

    V interpretu můžete provádět akce v jazyce interaktivně. Každá akce se provede ihned po stisknutí Enter. Můžete ji použít jako pokročilou kalkulačku. Ale psaní velkého programu v interpretu je příliš náročné na práci. Proto má smysl používat textové editory. Hotový textový soubor pak může spustit interpret. Jedním ze základů Pythonu je, že všechny bloky v něm jsou definovány odsazením, takže pro spuštění bloku a jeho odstranění je nutné odsazení. Interpret lze snadno rozšířit o nové datové typy nebo funkce v C++ nebo C. Programovací jazyk Python funguje jako rozšíření pro vlastní aplikace. Díky tomu, že se tento jazyk tak snadno učí, je skutečnost, že používá anglická klíčová slova spíše než interpunkci a má méně syntaktických konstrukcí než jiné programovací jazyky.

    Začínáme s Pythonem

    Než začnete pracovat mimo tlumočník, k vytvoření programu musíte otevřít textový editor a vytvořit prázdný soubor s kódováním utf-8 a nastavit příponu na „py“. Pro tento účel je nejlepší použít speciální editory kódu pro programátory. První řádek musí uvádět kódování. Řádky začínající znakem # jsou považovány za komentáře a neprovádějí se. Python je implicitně a dynamicky typován, takže nemusíte deklarovat proměnné. Typy jsou vynuceny a proměnné také rozlišují velká a malá písmena, takže var a VAR jsou považovány za dvě samostatné proměnné. Chcete-li vědět, jak kterýkoli objekt funguje, stačí zadat následující: „help(object)“. Můžete také použít příkaz „dir(object)“ pro zjištění všech metod konkrétní volby a můžete použít objekt „__doc__“ pro zjištění jejího docstringu.

    Jak spustit napsaný program

    Napsaný program musíte také spustit na příkazovém řádku. K tomu je potřeba napsat jméno interpretu a oddělené mezerou jméno souboru s napsaným programem. Při spuštění programu musíte zadat úplnou cestu k souboru. To není vždy snadné, protože cesta může být velmi dlouhá, takže někdy je jednodušší změnit aktuální adresář na příkazovém řádku a spustit interpret tam. Chcete-li to provést, musíte přejít do požadovaného adresáře, podržet klávesu Shift, kliknout pravým tlačítkem myši na adresář a v nabídce, která se otevře, vyberte možnost „otevřít okno příkazu“. Poté se v tomto adresáři spustí příkazový řádek. Dále v okně konzoly musíte zadat název interpreta a oddělený mezerou název souboru, který se v něm nachází.

    Syntaxe jazyka

    Základy programování v Pythonu se příliš neliší od jiných jazyků, ale proměnné mají trochu jiný význam. Python nemá požadované symboly k dokončení příkazů. Všechny bloky jsou definovány pomocí odsazení, takže pro zahájení bloku a jeho odstranění je nutné odsadit. Pro víceřádkové komentáře musíte použít víceřádkové řetězce. Hodnoty se přiřazují pomocí znaménka „=“ a testování rovnosti se provádí se dvěma z nich „==“. Hodnoty můžete snížit nebo zvýšit pomocí operátorů = nebo -= se součtem na pravé straně. To může pracovat s řetězci a dalšími datovými typy. Můžete také použít více proměnných na jednom řádku.

    Datové typy v Pythonu

    Nyní se podíváme na datové typy. Python je založen na datových strukturách – slovníky (diktáty), n-tice (n-tice) a seznamy (seznamy). Sady lze nalézt v knihovně sad, které jsou dostupné ve všech verzích Pythonu. Seznamy jsou podobné jednorozměrným polím, i když můžete mít i seznamy jiných seznamů. Slovníky jsou v podstatě asociativní pole nebo hashovací tabulky. N-tice jsou jednorozměrná pole. Nyní mohou být pole v Pythonu libovolného typu a ypes je vždy nula. Záporná čísla začínají od konce k začátku a -1 je poslední prvek. Proměnné mohou také ukazovat na funkce.

    Řetězce v Pythonu

    Řetězce Pythonu mohou používat jednoduché nebo dvojité uvozovky a jeden druh uvozovek můžete použít v řetězci pomocí jiného druhu. Víceřádkové řetězce jsou uzavřeny v jednoduchých nebo trojitých dvojitých uvozovkách. Chcete-li vyplnit řetězce hodnotami, můžete použít operátor modulo(%) následovaný n-ticí. Každé % je nahrazeno prvkem n-tice zleva doprava a můžete také použít slovníkové substituce. Příkazy řízení toku Pythonu: „zatímco“, „pro“ a „pokud“. Pro větvení musíte použít „if“. Chcete-li provést výčet prostřednictvím seznamu, použijte „pro“. Chcete-li získat seznam čísel, použijte rozsah.

    Funkce v Pythonu

    Klíčové slovo „def“ se používá k deklaraci funkcí. Vazba jiného objektu na proměnnou odstraní ten starý a nahradí neměnné typy. Volitelné argumenty mohou být specifikovány v deklaraci funkce za požadovanými argumenty, které jim dávají výchozí hodnoty. V případě pojmenovaných argumentů je názvu argumentu přiřazena hodnota. Funkce mohou vracet n-tici a vy můžete efektivně vracet více hodnot pomocí rozbalení n-tice. Parametry jsou předávány odkazem, ale n-tice, ints, řetězce a další neměnné typy jsou neměnné, protože se předává pouze paměťové umístění prvku.

    Právě jste se s jazykem začali seznamovat, takže se nebojte chyb a využijte dostupné zdroje, abyste se mohli dále učit tento zajímavý a užitečný programovací jazyk.

    Jaké programy jsou napsány v Pythonu?

    Aplikační software pro normální lidi

    Pojďme si nejprve projít programy, které používají běžní lidé, kteří nejsou specialisty v oblasti informačních technologií.

    BitTorrent

    Všechny verze až do 6 tohoto torrentového klienta byly napsány v Pythonu. Verze 6 byla přepsána v C++.

    Softwarové centrum Ubuntu

    Citace z Wikipedie:
    Centrum aplikací Ubuntu(Angličtina) Softwarové centrum Ubuntu) je bezplatný software pro vyhledávání, instalaci a odstraňování balíčků v systému Ubuntu Linux. v nejnovějších verzích je možné zakoupit časopisy o Linuxu a Ubuntu, lze zakoupit i placené hry a software. Aplikace je vyvinuta v Pythonu + Vala pomocí knihoven GTK+ a je grafickým shellem pro Advanced Packaging Tool.

    Mixér

    Citace z Wikipedie:
    Mixér- bezplatný profesionální balíček pro tvorbu trojrozměrné počítačové grafiky, včetně nástrojů pro modelování, animaci, renderování, následné zpracování videa a vytváření interaktivních her. V současné době je nejoblíbenější mezi bezplatnými 3D editory díky rychlému a stabilnímu vývoji, který je podporován profesionálním vývojovým týmem.

    Python se používá jako nástroj pro vytváření nástrojů a prototypů, logických systémů ve hrách, jako prostředek pro import/export souborů (například COLLADA) a automatizaci úloh.

    Zde jsou některé stránky s dokumentací:

    GIMP

    Citace z Wikipedie:
    Python se používá k psaní dalších modulů, jako jsou filtry.
    Zde je několik stránek, které jdou hlouběji do tématu:

    Hry

    Civilizace IV

    Většina hry je napsána v Pythonu().

    Bojiště 2

    Na internetu je mnoho návodů a jednoduchých receptů na změnu různých objektů a jejich chování.

    World of Tanks

    Citace z článku "GUI ve hře World of Tanks":
    V projektu je jako skriptovací jazyk použit Python. Veškerou krásu, kterou jsme vytvořili ve Flashi, je třeba ve hře propojit, naplnit daty, zpracovat a převést do skutečných akcí ve hře. To vše se děje v Pythonu.
    Podrobnější seznam her, které používají Python, lze nalézt na Wikipedii a v dokumentaci k Pythonu.

    Jaké společnosti používají Python?

    Seznam společností, které používají Python, je dlouhý. Mezi ně patří Google, Facebook, Yahoo, NASA, Red Hat , IBM , Instagram , Dropbox, Pinterest, Quora, Yandex, Mail.Ru.

    Yandex

    Tady to je, zpráva „Python v jádru Yandex.Disk“. Sergej Ivaščenko (přednášející):
    Budu mluvit o tom, jak používáme Python v Yandex.Disk, jaké používáme knihovny a frameworky, jaké úkoly řešíme a s jakými problémy se setkáváme. Dotknu se také tématu logování a zpracování asynchronních operací.
    V jednom z videí na kanálu Yandex zaměstnanci hovořili o svých oblíbených jazycích.

    A na blogu společnosti Yandex je záznam „Jaké programovací jazyky jsou napsány v Yandexu“ ze dne 19. března 2014. Takže 13 % zaměstnanců Yandexu píše většinu své pracovní doby v Pythonu.

    Mail.ru

    Zaměstnanci Mail.ru také používají Python. Oficiální blog Mail.ru na Habré obsahuje několik článků o Pythonu:

    Google

    Google aktivně používá Python od svého založení. Existují zvěsti, že většina YouTube a Disku Google je napsána v Pythonu. Google vyvinul celou cloudovou platformu Google App Engine, aby vývojáři mohli spouštět kód Pythonu v cloudu Google. Mnoho jazykových vývojářů pracovalo a pracuje ve společnosti Google.

    DropBox

    Služba je vyvinuta v Pythonu. Není náhodou, že autor jazyka Python Guido van Rossum pracuje v DropBoxu.

    Jiné společnosti

    Organizace, které používají Python

    V jakých oblastech se Python používá?

    Vývoj webu

    Python je v této oblasti možná nejpoužívanější. Webový rámec Django stále nabírá na síle a rozšiřuje svou armádu fanoušků. Mnoho začínajících programátorů si dokonce myslí, že Python se nikde jinde nepoužívá. Ale mnoho dalších webových frameworků je napsáno v Pythonu: Pylons TurboGears , CherryPy, Flask, Pyramid a další. Můžete najít úplnější seznam.
    Existuje také CMS založený na Django, nazývá se DjangoCMS.
    Velmi často jsou analyzátory webových stránek napsány v Pythonu. Obvykle se k tomu používají Requests, aiohttp, BeautifulSoup, html5lib. Existují také nástroje vyšší úrovně pro analýzu webových stránek: Zatracený, Grab.

    Správa systému

    Python je skvělý jazyk pro automatizaci práce systémového administrátora. Ve výchozím nastavení je nainstalován na všech serverech Linux. Je to jednoduché a srozumitelné. Kód Pythonu je snadno čitelný. Někteří lidé milují Perl, já ho miluji také pro jeho pohodlnou práci s regulárními výrazy, ale nesnáším Perl pro jeho syntaxi. Bash je užitečný pro relativně malé až středně velké skripty, ale Python je výkonnější a v některých případech umožňuje psát mnohem méně kódu.
    Jediný balíček, o kterém vím, je Fabric. Možná existuje něco jiného, ​​pokud víte, napište mi do komentářů.

    Další informace

    Python pro systémové administrátory (IBM developerWorks)
    Dokumentace tkaniny. Správa systémů.

    Vestavěné systémy

    Python se velmi často používá pro programování vestavěných systémů. Nejznámějším projektem, který používá Python, je Raspberry Pi. Ale není jediný:
    Vestavěný Python
    Raspberry Pi
    Vestavěné nástroje Pythonu
    Systém Owl Embedded Python

    Vývoj aplikačního softwaru, včetně her

    Python se často používá jako podpůrný jazyk při vývoji aplikačního softwaru. Příklady jsem již uvedl výše, nebudu je opakovat.

    Vědecký výzkum

    Fyzici a matematici milují Python pro jeho jednoduchost. Navíc pro Python existuje obrovské množství knihoven, které vědci usnadňují život. Například:
    1. SciPy je otevřená knihovna vysoce kvalitních vědeckých nástrojů pro programovací jazyk Python. SciPy obsahuje moduly pro optimalizaci, integraci, speciální funkce, zpracování signálu, zpracování obrazu, genetické algoritmy, řešení obyčejných diferenciálních rovnic a další problémy běžně řešené ve vědě a inženýrství.
    2. Matplotlib- knihovna v programovacím jazyce Python pro vizualizaci dat pomocí dvourozměrné (2D) grafiky (podporována je i 3D grafika). Výsledné obrázky lze použít jako ilustrace v publikacích.
    3. NumPy je rozšíření jazyka Python, které přidává podporu pro velká vícerozměrná pole a matice spolu s velkou knihovnou matematických funkcí na vysoké úrovni pro práci s těmito poli.
    Podrobnější seznam knihoven pro vědecké výpočty v Pythonu lze nalézt na Wikipedii.

    Školství

    Python je často doporučován jako první programovací jazyk.
    Některé ruské školy mají úspěšné zkušenosti s výukou programování školáků v Pythonu.
    Mimochodem, Guido van Rossum byl ohromen jazykem ABC, když psal Python. A jazyk ABC byl určen pro školení a prototypování.

    Kritika jazyka Python

    Python je jeden z nejpomalejších programovacích jazyků

    Na internetu můžete najít mnoho různých testů rychlosti pro programy napsané v různých programovacích jazycích. Python je obvykle na konci seznamů.
    Python obvykle odkazuje na CPython, referenční implementaci jazyka. Existují další implementace jazyka Python, jako je PyPy. PyPy je rychlejší než CPython a mnoho dalších skriptovacích programovacích jazyků a rychlostí se velmi blíží Javě. Je tu ale jeden problém – PyPy plně neimplementuje jazyk Python, kvůli tomu na něm mnoho programů Python nefunguje.
    Mnoho programátorů píše inserty v C/C++ pro urychlení práce v úzkých hrdlech. Python není určen pro výpočetní úlohy, pro úlohy vyžadující hodně paměti (paměťově vázané) a podobně. Musíte být schopni vybrat si správné nástroje pro úkoly, kterým čelíte. Guido van Rossum o tom mluví v rozhovoru.

    GIL zabraňuje současnému spuštění více vláken

    Global Interpreter Lock zabraňuje současnému spuštění více vláken Pythonu. Toto jsou vlastnosti CPythonu. Je to ale nevýhoda? Musíte pochopit, že vše závisí na úkolu. Pokud vaše úloha závisí na rychlosti I/O (úloha vázaná na vstup/výstup), pak je efektivnější použít několik procesů, které budou pracovat asynchronně s externími zdroji. A vlákna sdílené paměti jsou dobrá pro výpočetní úlohy (vázáno na CPU). Ale i když potřebujete pracovat s vlákny, můžete GIL na chvíli zakázat, protože se to dělá v matematickém balíčku NumPy.

    Žádné dobré distribuční nástroje

    Bohužel kód Pythonu, který má mnoho závislostí na systémových knihovnách, je obtížné přenést do jiných systémů. Tento problém je vyřešen pomocí virtualenv. ale tento nástroj je systémovými administrátory hodně kritizován.

    Další informace

    Příběhy úspěšných Pythonu
    Použili jste Python k psaní CO?
    K čemu se Python používá?
    Další důkaz, že je to svět Pythonu a my v něm prostě žijeme
    PRŮMĚRNÁ PLATBA ZA PRÁCE VYŽADUJÍCÍ PYTHON
    Seznam softwaru Python


     Nahoru