Programovací jazyk Python pre začiatočníkov. Univerzálny jazyk na vysokej úrovni. Reťazcové operácie

  • 02.08.2019

Programovanie v Pythone

Časť 1. Vlastnosti jazyka a základy syntaxe

Obsahová séria:

Mali by ste sa naučiť Python?

Python je jedným z najpopulárnejších moderných programovacích jazykov. Je vhodný pre rôzne úlohy a ponúka rovnaké možnosti ako iné programovacie jazyky: dynamiku, podporu OOP a multiplatformový. Vývoj Pythonu odštartoval Guido Van Rossum v polovici 90-tych rokov 20. storočia, takže v súčasnosti je možné zbaviť sa štandardných „detských“ chorôb, výrazne rozvinúť najlepšie aspekty jazyka a prilákať mnoho programátorov, ktorí používajú Python na implementáciu ich projekty.

Mnoho programátorov sa domnieva, že je potrebné sa naučiť iba „klasické“ programovacie jazyky ako Java alebo C++, keďže iné jazyky stále nedokážu poskytnúť rovnaké možnosti. V poslednej dobe sa však objavuje presvedčenie, že je žiaduce, aby programátor ovládal viacero jazykov, pretože si tak rozširuje obzory, umožňuje kreatívnejšie riešiť úlohy a zvyšovať konkurencieschopnosť na trhu práce.

Naučiť sa zdokonaliť dva jazyky, ako sú Java a C ++, je ťažké a časovo náročné; okrem toho si mnohé aspekty týchto jazykov navzájom odporujú. Zároveň je Python ideálny pre úlohu druhého jazyka, pretože je okamžite asimilovaný vďaka už existujúcim znalostiam v OOP a skutočnosti, že jeho schopnosti nie sú v rozpore, ale dopĺňajú skúsenosti získané pri práci s iným programovaním. Jazyk.

Ak programátor len začína svoju cestu v oblasti vývoja softvéru, potom bude Python ideálnym „úvodným“ programovacím jazykom. Vďaka svojej stručnosti vám umožní rýchlo zvládnuť syntax jazyka a absencia „dedenia“ v podobe rokmi formovaných axióm vám pomôže rýchlo zvládnuť OOP. Kvôli týmto faktorom bude krivka učenia Pythonu pomerne krátka a programátor bude môcť prejsť od prípadových štúdií ku komerčným projektom.

Či už je teda čitateľ tohto článku skúsený programátor alebo nováčik v oblasti vývoja softvéru, odpoveď na otázku, ktorá je aj názvom tejto časti, by mala byť presvedčivé „áno“.

Táto séria článkov je navrhnutá tak, aby vám pomohla úspešne prekonať krivku učenia poskytovaním konzistentných informácií od najzákladnejších princípov jazyka až po jeho pokročilé možnosti z hľadiska integrácie s inými technológiami. Prvý článok sa bude zaoberať základnými funkciami a syntaxou Pythonu. V budúcnosti sa pozrieme na zložitejšie aspekty práce s týmto populárnym jazykom, najmä na objektovo orientované programovanie v Pythone.

Architektúra Pythonu

Každý jazyk, bez ohľadu na programovanie alebo komunikáciu, pozostáva minimálne z dvoch častí – slovnej zásoby a syntaxe. Jazyk Python je organizovaný rovnakým spôsobom a poskytuje syntax na vytváranie výrazov, ktoré tvoria spustiteľné programy, a slovník - súbor funkcií vo forme štandardnej knižnice a doplnkov.

Ako už bolo spomenuté, syntax Pythonu je pomerne stručná, najmä v porovnaní s Java alebo C ++. Na jednej strane je to dobré, pretože čím je syntax jednoduchšia, tým sa ľahšie učí a tým menej chýb môžete pri jej používaní robiť. Takéto jazyky však majú nevýhodu - s ich pomocou môžete sprostredkovať najjednoduchšie informácie a nemôžete vyjadriť zložité štruktúry.

To neplatí pre Python, pretože je to jednoduchý, ale zjednodušený jazyk. Faktom je, že Python je jazyk s vyššou úrovňou abstrakcie, vyššou napríklad ako Java a C ++, a umožňuje prenášať rovnaké množstvo informácií v menšom množstve zdrojového kódu.

Python je tiež univerzálny jazyk, takže ho možno použiť takmer v akejkoľvek oblasti vývoja softvéru (samostatný, klient-server, webové aplikácie) a v akejkoľvek oblasti. Okrem toho sa Python hladko integruje s existujúcimi komponentmi, čo umožňuje vloženie Pythonu do existujúcich aplikácií.

Ďalšou súčasťou úspechu Pythonu sú jeho pluginy, štandardné aj špecifické. Štandardné pluginy Pythonu sú dobre navrhnuté a osvedčené funkcie na riešenie problémov, ktoré vznikajú pri každom projekte vývoja softvéru, pri spracovaní reťazcov a textov, interakcii s operačným systémom, podpore webových aplikácií. Aj tieto moduly sú napísané v Pythone, takže majú svoju najdôležitejšiu vlastnosť – multiplatformnosť, ktorá umožňuje bezbolestne a rýchlo prenášať projekty z jedného operačného systému do druhého.

Ak sa požadovaná funkcionalita nenachádza v štandardnej knižnici Pythonu, môžete si vytvoriť svoj vlastný zásuvný modul na neskoršie opätovné použitie. Tu stojí za zmienku, že pluginy Pythonu je možné vytvárať nielen v samotnom Pythone, ale aj pomocou iných programovacích jazykov. V tomto prípade je možné efektívnejšie implementovať úlohy náročné na zdroje, napríklad komplexné vedecké výpočty, ale výhoda multiplatformového prístupu sa stratí, ak jazyk zásuvného modulu nie je sám o sebe multiplatformový, ako je Python.

Python Runtime

Ako viete, všetky multiplatformové programovacie jazyky sú postavené na rovnakom modeli: sú skutočne prenosným zdrojovým kódom a runtime prostredím, ktoré nie je prenosné a je špecifické pre platformu. Tento runtime zvyčajne obsahuje tlmočníka, ktorý spúšťa zdrojový kód a rôzne nástroje potrebné na údržbu aplikácie – debugger, reverzný assembler atď.

Runtime Java obsahuje aj kompilátor, pretože zdrojový kód je potrebné skompilovať do bajtového kódu pre virtuálny stroj Java. Runtime Pythonu obsahuje iba tlmočníka, ktorý je zároveň kompilátorom, no kompiluje zdrojový kód Pythonu priamo do strojového kódu cieľovej platformy.

V súčasnosti sú známe tri implementácie runtime pre Python: CPython, Jython a Python.NET. Ako už názov napovedá, prvý rámec je implementovaný v jazyku C, druhý v jazyku Java a posledný v platforme .NET.

Runtime CPythonu sa zvyčajne nazýva iba Python a keď ľudia hovoria o Pythone, najčastejšie sa hovorí o implementácii. Táto implementácia pozostáva z tlmočníka a zásuvných modulov napísaných v jazyku C a je možné ju použiť na akejkoľvek platforme, pre ktorú je dostupný štandardný kompilátor jazyka C. Okrem toho už existujú skompilované verzie runtime pre rôzne operačné systémy, vrátane rôznych verzií Windows OC a rôzne distribúcie.Linux. V tomto a nasledujúcich článkoch sa bude brať do úvahy CPython, pokiaľ nie je osobitne uvedené inak.

Runtime Jythonu je implementácia Pythonu na prácu s Java Virtual Machine (JVM). Je podporovaná akákoľvek verzia JVM, počnúc verziou 1.2.2 (aktuálna verzia Java je 1.6). Jython vyžaduje nainštalovaný Java stroj (Java runtime) a určitú znalosť programovacieho jazyka Java. Nie je nutné vedieť písať zdrojový kód v Jave, ale budete si musieť poradiť so súbormi JAR a Java appletmi, ako aj s dokumentáciou vo formáte JavaDOC.

Ktorú verziu prostredia si vybrať, závisí výlučne od preferencií programátora, vo všeobecnosti sa odporúča ponechať na počítači CPython aj Jython, keďže spolu nekolidujú, ale dopĺňajú sa. CPython je rýchlejší, pretože neexistuje žiadny middleware JVM; okrem toho sú aktualizované verzie Pythonu prvýkrát vydané ako prostredie CPython. Jython však môže použiť akúkoľvek triedu Java ako rozšírenie a spustiť na akejkoľvek platforme, pre ktorú existuje implementácia JVM.

Obidve runtime prostredia sú vydané pod licenciou kompatibilnou so známou licenciou GPL, takže ich možno použiť na vývoj komerčného aj slobodného či slobodného softvéru. Väčšina Python pluginov je tiež licencovaná GPL a môže byť voľne použitá v akomkoľvek projekte, existujú však komerčné rozšírenia alebo rozšírenia s prísnejšími licenciami. Preto si pri používaní Pythonu v komerčnom projekte musíte byť vedomí obmedzení licencií zásuvných modulov.

Začíname s Pythonom

Skôr ako začnete používať Python, musíte si nainštalovať jeho runtime prostredie – v tomto článku je to CPython a teda aj interpret pythonu. Existujú rôzne spôsoby inštalácie: pokročilí používatelia si môžu sami skompilovať Python z jeho verejného zdrojového kódu, vopred zostavené binárne súbory pre konkrétny operačný systém si možno stiahnuť aj z www.python.org a napokon mnohé distribúcie Linuxu sa dodávajú s predinštalovaným Pythonový tlmočník. Tento článok používa verziu Pythonu 2.x pre Windows, ale uvedené príklady je možné spustiť na ľubovoľnej verzii Pythonu.

Keď inštalačný program nasadí binárne súbory Pythonu do určeného adresára, musíte skontrolovať hodnoty nasledujúcich systémových premenných:

  • PATH. Táto premenná musí obsahovať cestu k adresáru, kde je nainštalovaný Python, aby ju operačný systém mohol nájsť.
  • PYTHONHOME. Táto premenná by mala obsahovať iba cestu k adresáru, kde je nainštalovaný Python. Tento adresár by mal obsahovať aj podadresár lib, ktorý bude hľadať štandardné moduly Pythonu.
  • PYTHONPATH. Premenná so zoznamom adresárov obsahujúcich rozširujúce moduly, ktoré sa budú pripájať k Pythonu (položky zoznamu musia byť oddelené systémovým oddeľovačom).
  • PYTHONSTARTUP. Voliteľná premenná, ktorá určuje cestu k skriptu Python, ktorý sa má spustiť pri každom spustení relácie interaktívneho tlmočníka Pythonu.

Príkazový riadok pre prácu s tlmočníkom má nasledujúcu štruktúru.

PYTHONHOME \ python (možnosti) [-с príkaz | súbor skriptu | -] (argumenty)

Interaktívny režim Python

Ak spustíte prekladač bez zadania príkazu alebo súboru skriptu, spustí sa v interaktívnom režime. V tomto režime sa spustí špeciálny shell Pythonu, do ktorého možno zadávať jednotlivé príkazy alebo výrazy a okamžite sa vyhodnotí ich hodnota. To je veľmi výhodné pri učení Pythonu, pretože môžete okamžite skontrolovať správnosť jednej alebo druhej konštrukcie.

Hodnota hodnoteného výrazu je uložená v špeciálnej premennej s názvom Single Underscore (_), aby sa dala použiť v nasledujúcich výrazoch. Interaktívnu reláciu môžete ukončiť stlačením Ctrl – Z v systéme Windows alebo Ctrl – D v systéme Linux.

Možnosti sú voliteľné hodnoty reťazca, ktoré môžu zmeniť správanie tlmočníka počas relácie; o ich význame sa bude diskutovať v tomto a nasledujúcich článkoch. Po možnostiach nasleduje buď jeden príkaz, ktorý musí interpret vykonať, alebo cesta k súboru, ktorý obsahuje skript, ktorý sa má vykonať. Stojí za zmienku, že príkaz môže pozostávať z niekoľkých výrazov oddelených bodkočiarkou a musí byť uzavretý v úvodzovkách, aby ho operačný systém mohol správne odovzdať interpretovi. Argumenty - tie parametre, ktoré sú odovzdané na ďalšie spracovanie spustiteľnému skriptu; sú odovzdané programu ako reťazce a oddelené medzerami.

Ak chcete overiť, či je Python nainštalovaný a funguje správne, môžete spustiť nasledujúce príkazy:

c: \> python- v
c: \> python –c “čas importu; print time.asctime () "

Voľba –v zobrazí používanú verziu implementácie Pythonu a ukončí sa, zatiaľ čo druhý príkaz vypíše na obrazovku systémový čas.

Python skripty môžete písať v akomkoľvek textovom editore, keďže ide o obyčajné textové súbory, no existujú aj špeciálne vývojové prostredia určené na prácu s Pythonom.

Základy syntaxe Pythonu

Python zdrojové skripty sú zložené z tzv logické línie, z ktorých každá pozostáva postupne z fyzické línie... Symbol # sa používa na označenie komentárov. Tlmočník ignoruje komentáre a prázdne riadky.

Nasleduje veľmi dôležitý aspekt, ktorý sa programátorom, ktorí sa učia Python ako druhý programovací jazyk, môže zdať zvláštny. Faktom je, že v Pythone neexistuje žiadny symbol, ktorý by bol zodpovedný za oddelenie výrazov od seba v zdrojovom kóde, ako napríklad bodkočiarka (;) v C ++ alebo Java. Bodkočiarka vám umožňuje oddeliť viacero príkazov, ak sú na rovnakom fyzickom riadku. Neexistuje ani taká konštrukcia ako zložené zátvorky (), ktorá vám umožňuje skombinovať skupinu pokynov do jedného bloku.

Fyzické riadky sú oddelené samotným znakom konca riadka, ale ak je výraz príliš dlhý na jeden riadok, potom je možné tieto dva fyzické riadky zlúčiť do jedného logického riadku. Ak to chcete urobiť, musíte na koniec prvého riadku zadať znak spätnej lomky (\) a nasledujúci riadok bude interpretátor interpretovať ako pokračovanie prvého, ale na prvom riadku po znak \, napríklad komentár s #. Na zvýraznenie blokov kódu sa používa iba odsadenie. Rovnako odsadené logické čiary tvoria blok a blok končí, keď sa objaví menšia odsadená logická čiara. To je dôvod, prečo by prvý riadok v skripte Python nemal byť odsadený. Osvojenie si týchto jednoduchých pravidiel vám pomôže vyhnúť sa väčšine chýb spojených s učením sa nového jazyka.

V syntaxi Pythonu nie sú žiadne ďalšie radikálne rozdiely od iných programovacích jazykov. Existuje štandardná sada operátorov a kľúčových slov, z ktorých väčšina je už programátorom známa, a tými špecifickými pre Python sa budeme zaoberať v tomto a nasledujúcich článkoch. Používajú sa aj štandardné pravidlá pre špecifikáciu identifikátorov premenných, metód a tried - názov musí začínať podčiarkovníkom alebo latinkou, nesmie obsahovať znaky @, $,%. Ako identifikátor tiež nemožno použiť iba jeden znak podčiarknutia (pozri poznámku pod čiarou o interaktívnom režime).

Dátové typy používané v Pythone

Dátové typy používané v Pythone sú tiež rovnaké ako v iných jazykoch — celočíselné a reálne dátové typy; navyše je podporovaný komplexný dátový typ - s reálnou a imaginárnou časťou (príkladom takéhoto čísla je 1,5J alebo 2j, kde J je druhá odmocnina z -1). Python podporuje reťazce, ktoré môžu byť uzavreté v jednoduchých, dvojitých alebo trojitých úvodzovkách a reťazce, ako napríklad Java, sú nemenné objekty, t.j. po vytvorení nemôžu zmeniť svoju hodnotu.

V Pythone je tiež booleovský dátový typ s dvoma hodnotami - True a False. Staršie verzie Pythonu však tento typ údajov nemali a navyše každý typ údajov mohol byť pretypovaný na booleovskú hodnotu True alebo False. Všetky nenulové čísla a neprázdne reťazce alebo zbierky údajov sa považovali za pravdivé, zatiaľ čo prázdne a nulové hodnoty sa považovali za nepravdivé. Táto vlastnosť zostala zachovaná aj v nových verziách Pythonu, avšak pre zvýšenie čitateľnosti kódu sa odporúča použiť pre boolovské premenné typ bool. Zároveň, ak potrebujete zachovať spätnú kompatibilitu so starými implementáciami Pythonu, mali by ste použiť 1 (pravda) alebo 0 (nepravda) ako boolovské hodnoty.

Funkcionalita pre prácu s datasetmi

Python definuje tri typy kolekcií na ukladanie množín údajov:

  • násobný;
  • zoznam (zoznam);
  • slovník (slovník).

N-tica je nemenná, usporiadaná sekvencia údajov. Môže obsahovať prvky rôznych typov, napríklad iné n-tice. N-tica je definovaná v zátvorkách a jej prvky sú oddelené čiarkami. Špeciálna vstavaná funkcia tuple () vám umožňuje vytvárať n-tice z danej sekvencie údajov.

Zoznam je meniteľná, usporiadaná postupnosť položiek. Položky zoznamu sú tiež oddelené čiarkami, ale sú uvedené v hranatých zátvorkách. Funkcia zoznam () sa navrhuje na vytváranie zoznamov.

Slovník je hašovacia tabuľka, ktorá ukladá prvok spolu s jeho kľúčovým identifikátorom. Následný prístup k prvkom je tiež vykonávaný kľúčom, takže pamäťovou jednotkou v slovníku je pár objekt-kľúč a jemu priradený objekt hodnoty. Slovník je meniteľná, ale nie usporiadaná kolekcia, takže poradie prvkov v slovníku sa môže časom meniť. Slovník je uvedený v zložených zátvorkách, kľúč je oddelený od hodnoty dvojbodkou a samotné páry kľúč / hodnota sú oddelené čiarkami. Na vytváranie slovníkov je k dispozícii funkcia dict ().

Výpis 1 ukazuje príklady rôznych kolekcií dostupných v Pythone.

Výpis 1. Typy kolekcií dostupné v Pythone
('w', 'o', 'r', 'l', 'd') # n-tica piatich prvkov (2,62,) # n-tica jedného prvku [“test“, „ja“] # zoznam dva prvky # prázdny zoznam (5: 'a', 6: 'b', 7: 'c') # 3-prvkový slovník s kľúčmi typu int

Definovanie funkcií v Pythone

Hoci Python podporuje OOP, mnohé z jeho funkcií sú implementované ako samostatné funkcie; okrem toho sa rozširujúce moduly najčastejšie vyrábajú vo forme knižnice funkcií. Funkcie sa používajú aj v triedach, kde sa tradične nazývajú metódy.

Syntax na definovanie funkcií v Pythone je mimoriadne jednoduchá; berúc do úvahy vyššie uvedené požiadavky:

def FUNCTION_NAME (parametre): výraz # 1 výraz # 2 ...

Ako vidíte, musíte použiť kľúčové slovo def, dvojbodku a odsadenie. Volanie funkcie je tiež veľmi jednoduché:

FUNCTION_NAME (parametre)

Je potrebné zvážiť len niekoľko bodov špecifických pre Python. Rovnako ako v jazyku Java sa primitívne hodnoty odovzdávajú hodnotou (kópia parametra sa odovzdá funkcii a nemôže zmeniť hodnotu nastavenú pred volaním funkcie) a komplexné typy objektov sa odovzdávajú odkazom (odovzdáva sa odkaz na funkciu a môže dobre zmeniť objekt).

Parametre je možné odovzdávať buď jednoducho v poradí podľa enumerácie alebo podľa názvu, v tomto prípade nie je potrebné pri volaní uvádzať tie parametre, pre ktoré existujú predvolené hodnoty, ale odovzdávať iba povinné alebo meniť poradie parametrov pri volaní funkcia:

# funkcia, ktorá vykonáva celočíselné delenie pomocou operátora // def foo (delimoe, delitel): return delimoe // delitel print split (50,5) # výsledok práce: 10 print division (delitel = 5, delimoe = 50) # výsledok práce: 10

Funkcia Pythonu musí vrátiť hodnotu – buď explicitne s príkazom return, za ktorým nasleduje návratová hodnota, alebo v prípade absencie príkazu return sa po dosiahnutí konca funkcie vráti konštanta None. Ako môžete vidieť z príkladov deklarácií funkcií, v Pythone nie je potrebné uvádzať, či je niečo vrátené z funkcie alebo nie, avšak ak má funkcia jeden návratový príkaz, ktorý vracia hodnotu, potom ostatné návratové príkazy v tejto funkcii musí vrátiť hodnoty, a ak takáto hodnota nie, potom musíte explicitne napísať návrat Žiadne.

Ak je funkcia veľmi jednoduchá a pozostáva z jedného riadku, tak ju možno definovať priamo na mieste použitia, v Pythone sa takáto konštrukcia nazýva lambda funkcia. Funkcia lambda je anonymná funkcia (bez vlastného názvu), ktorej telom je návratový príkaz, ktorý vracia hodnotu nejakého výrazu. Tento prístup môže byť v niektorých situáciách pohodlný, ale treba poznamenať, že opätovné použitie takýchto funkcií je nemožné („kde som sa narodil, tam som sa hodil“).

Tiež stojí za to opísať vzťah Pythonu k rekurzii. Štandardne je hĺbka rekurzie obmedzená na 1000 úrovní a po prejdení tejto úrovne sa vyvolá výnimka a program sa zastaví. V prípade potreby je však možné hodnotu tohto limitu zmeniť.

Funkcie v Pythone majú ďalšie zaujímavé funkcie, ako je dokumentácia alebo schopnosť definovať vnorené funkcie, ale tie budú preskúmané v budúcich článkoch série s komplexnejšími príkladmi.

Program je súbor algoritmov, ktoré zabezpečujú vykonanie potrebných akcií. Obyčajne rovnakým spôsobom môžete naprogramovať bežného človeka napísaním presných príkazov, aby si napríklad pripravil čaj. Ak druhá možnosť používa prirodzenú reč (ruštinu, ukrajinčinu, angličtinu, kórejčinu atď.), Potom bude pre počítač potrebný špeciálny programovací jazyk. Python je jedným z nich. Programovacie prostredie následne preloží príkazy a splní sa účel osoby, pre ktorú bol algoritmus vytvorený. Python má svoju vlastnú syntax, o ktorej sa bude diskutovať nižšie.

História jazyka

Vývoj začal v 80. rokoch a skončil v roku 1991. Jazyk Python vytvoril Guido van Rossum. Hoci hlavným symbolom "Python" je had, bol pomenovaný podľa americkej komediálnej show.

Pri vytváraní jazyka vývojár použil niektoré príkazy požičané z existujúcich jazykov Pascal, C a C ++. Po tom, čo bola prvá oficiálna verzia online, sa pridala celá skupina programátorov, aby ju vylepšili a vylepšili.

Jedným z faktorov, vďaka ktorým sa Python stal celkom známym, je dizajn. Mnoho úspešných odborníkov ho uznáva ako jedného z najlepších.

Vlastnosti "Pythonu"

Programovací jazyk Python pre začiatočníkov je skvelým učiteľom. Má pomerne jednoduchú syntax. Bude ľahké porozumieť kódu, pretože neobsahuje veľa pomocných prvkov a špeciálna štruktúra jazyka vás naučí, ako odsadiť. Samozrejme, dobre navrhnutý program s niekoľkými príkazmi bude okamžite zrozumiteľný.

Mnoho systémov syntaxe bolo vybudovaných na objektovo orientovanom programovaní. Python nie je výnimkou. Pre čo presne sa narodil? Uľahčí zaškolenie začiatočníkov, pomôže zapamätať si niektoré prvky už kvalifikovaných zamestnancov.

Syntax jazyka

Ako už bolo spomenuté, kód je ľahko čitateľný. "Python" má sekvenčné príkazy, ktoré sa vyznačujú prehľadnosťou vykonávania. V zásade sa použité operátory nebudú zdať zložité ani pre začiatočníkov. To je to, čo robí Python odlišným. Jeho syntax je ľahká a jednoduchá.

Tradiční operátori:

  • Pri nastavovaní podmienky použite konštrukciu if-else. Ak je takýchto riadkov príliš veľa, môžete zadať príkaz elif.
  • Trieda je na pochopenie triedy.
  • Jedným z jednoduchších operátorov je pass. Nič nerobí, hodí sa na prázdne bloky.
  • Príkazy slučky sú while a for.
  • Funkcia, metóda a generátor sú definované vďaka def.

Okrem jednotlivých slov vám programovací jazyk Python umožňuje používať výrazy ako operátory. Použitím reťazenia reťazcov môžete znížiť počet jednotlivých príkazov a zátvoriek. Používajú sa aj takzvané lenivé výpočty, teda také, ktoré sa vykonávajú len vtedy, keď si to stav vyžaduje. Patria sem a a alebo.

Proces písania programov

Tlmočník funguje na jedinom mechanizme: pri písaní riadku (po ktorom sa umiestni "Enter") sa okamžite vykoná a človek už vidí nejaký výsledok. To je dostatočne užitočné a pohodlné pre začiatočníkov alebo tých, ktorí chcú otestovať malý kúsok kódu. V kompilovaných prostrediach by ste museli najprv napísať celý program, až potom ho spustiť a skontrolovať chyby.

Programovací jazyk Python (pre začiatočníkov, ako sa už ukázalo, je ideálny) v operačnom systéme Linux umožňuje prácu priamo v samotnej konzole. Do príkazového riadku by ste mali napísať názov kódu „Python“ v angličtine. Vytvoriť svoj prvý program nebude ťažké. V prvom rade treba mať na pamäti, že tlmočník tu môžete použiť ako kalkulačku. Keďže mladí a začínajúci špecialisti často nie sú priateľskí so syntaxou, algoritmus možno napísať takto:

Po každom riadku je potrebné zadať "Enter". Odpoveď sa zobrazí ihneď po kliknutí na ňu.

Údaje používané Pythonom

Existuje niekoľko typov údajov, ktoré používajú počítače (a programovacie jazyky), a to je celkom zrejmé. Čísla môžu byť zlomkové, celé, môžu pozostávať z mnohých číslic alebo môžu byť dosť veľké kvôli zlomkovej časti. Aby sa s nimi tlmočníkovi ľahšie pracovalo a pochopil, o čo ide, mal by byť nastavený konkrétny typ. Okrem toho je potrebné, aby sa čísla zmestili do pridelenej pamäťovej bunky.

Najbežnejšie dátové typy používané programovacím jazykom Python sú:

  • Celé číslo. Hovoríme o celých číslach, ktoré majú záporné aj kladné hodnoty. V tomto type je zahrnutá aj nula.
  • Aby interpret pochopil, že pracuje so zlomkovými časťami, typ by mal byť nastavený na plávajúcu desatinnú čiarku. Spravidla sa používa v prípade použitia čísel s premenlivým bodom. Malo by sa pamätať na to, že pri písaní programu musíte dodržiavať označenie "3.25" a nepoužívať čiarku "3.25".
  • V prípade pridávania reťazcov vám programovací jazyk Python umožňuje pridať typ reťazca. Často sú slová alebo frázy uzavreté v jednoduchých alebo

Nevýhody a výhody

V posledných desaťročiach sa ľudia viac zaujímali o to, ako stráviť viac času ovládaním údajov a menej času ich spracovaním počítačom. Jazyk, o ktorom existujú len pozitíva, je najvyšší kód.

V Pythone nie sú prakticky žiadne chyby. Jedinou vážnou nevýhodou je pomalosť vykonávania algoritmu. Áno, ak ho porovnáte s „C“ alebo „Java“, je to, úprimne povedané, korytnačka. Vysvetľuje sa to tým, že toto

Vývojár sa postaral o pridanie toho najlepšieho v Pythone. Preto si pri jeho používaní všimnete, že absorboval tie najlepšie vlastnosti iných vyšších programovacích jazykov.

V prípade, že myšlienka implementovaná tlmočníkom nie je pôsobivá, potom to bude možné pochopiť takmer okamžite po napísaní niekoľkých desiatok riadkov. Ak je program dobrý, kritickú časť možno kedykoľvek vylepšiť.

V súčasnosti viac ako jedna skupina programátorov pracuje na zlepšovaní "Pythonu", takže nie je pravda, že kód napísaný v C++ bude lepší ako kód vytvorený pomocou Pythonu.

S ktorou verziou je najlepšie pracovať?

Teraz sú dve verzie takého syntaktického systému ako jazyk Python široko používané naraz. Pre začiatočníkov bude výber medzi nimi dosť ťažký. Treba poznamenať, že 3.x je stále vo vývoji (hoci je uvoľnený pre masy), zatiaľ čo 2.x je plne dokončená verzia. Mnoho ľudí odporúča používať 2.7.8, pretože prakticky nezaostáva a nezmätený. Vo verzii 3.x nie sú žiadne radikálne zmeny, takže váš kód je možné kedykoľvek preniesť do programovacieho prostredia pomocou aktualizácie. Ak chcete stiahnuť požadovaný program, mali by ste prejsť na oficiálnu webovú stránku, vybrať operačný systém a počkať, kým sa sťahovanie nedokončí.

V ktorej v stručnej forme
hovoriť o základoch jazyka Python. Ponúkam vám preklad tohto článku. Preklad nie je doslovný. Pokúsil som sa podrobnejšie vysvetliť niektoré body, ktoré môžu byť nezrozumiteľné.

Ak sa chcete naučiť Python, ale nemôžete nájsť vhodného sprievodcu, potom toto
článok bude pre vás veľmi užitočný! V krátkom čase sa môžete zoznámiť
základy jazyka Python. Aj keď sa tento článok často spolieha na
že už máte skúsenosti s programovaním, ale dúfam, že aj pre začiatočníkov
tieto veci budú užitočné. Pozorne si prečítajte každý odsek. V spojení s
stručnosť materiálu, niektoré témy sú posúdené povrchne, ale obsahujú celok
požadovaný materiál.

Základné vlastnosti

Python nevyžaduje explicitnú deklaráciu premenných, je to objektovo orientovaný jazyk, v ktorom sa rozlišujú malé a veľké písmená (var nie je ekvivalentné s Var alebo VAR sú tri rôzne premenné).

Syntax

Po prvé, stojí za zmienku zaujímavú vlastnosť Pythonu. Namiesto toho neobsahuje zátvorky operátora (začiatok..koniec v pascal alebo (..) v C). bloky sú odsadené: medzerami alebo tabulátormi a zadávanie bloku príkazov sa vykonáva s dvojbodkou. Jednoriadkové komentáre začínajú znakom libry "#", viacriadkové komentáre začínajú a končia tromi dvojitými úvodzovkami "" "" ".
Ak chcete premennej priradiť hodnotu, použite znak "=" a na porovnanie -
"==". Ak chcete zvýšiť hodnotu premennej alebo pridať do riadku, použite operátor "+ =" a na zníženie - "- =". Všetky tieto operácie môžu interagovať s väčšinou typov vrátane reťazcov. Napríklad


>>> myvar = 3
>>> myvar + = 2
>>> myvar - = 1
"" "Toto je viacriadkový komentár
Riadky v troch dvojitých úvodzovkách sa ignorujú "" "

>>> mystring = "Dobrý deň"
>>> mystring + = "svet."
>>> vytlačiť mystring
Ahoj svet.
# Ďalší riadok sa zmení
miestami premenlivé hodnoty. (Len jeden riadok!)

>>> myvar, mystring = mystring, myvar

Dátové štruktúry

Python obsahuje dátové štruktúry ako napr zoznamy, n-tice a slovníky). Zoznamy sú ako jednorozmerné polia (môžete však použiť Including lists – viacrozmerné pole), n-tice sú nemenné zoznamy, slovníky sú tiež zoznamy, ale indexy môžu byť akéhokoľvek typu, nielen číselné. "Polia" v Pythone môžu obsahovať údaje akéhokoľvek typu, to znamená, že jedno pole môže obsahovať číselné, reťazcové a iné typy údajov. Polia začínajú na indexe 0 a posledný prvok možno získať na indexe -1. Premenným môžete priradiť funkcie a podľa toho ich použiť.


>>> vzorka =, ("a", "n-tice")] # Zoznam pozostáva z celého čísla, ďalšieho zoznamu a n-tice
>>> # Tento zoznam obsahuje reťazec, celé číslo a zlomok
>>> mylist = "Znova uviesť položku 1" # Zmeňte prvý (nulový) prvok zoznamu hárku
>>> mylist [-1] = 3 ,14 # Zmeňte posledný prvok hárka
>>> mydict = ("Kľúč 1": "Hodnota 1", 2: 3, "pi": 3 .14) # Vytvorte slovník s číselnými a celočíselnými indexmi
>>> mydict ["pi"] = 3 ,15 # Zmeňte prvok slovníka pod indexom "pi".
>>> mytuple = (1, 2, 3) # Set a tuple
>>> myfunction = len #Python vám umožňuje deklarovať synonymá funkcií týmto spôsobom
>>> vytlačiť moja funkcia (zoznam)
3

Časť poľa môžete použiť zadaním prvého a posledného indexu oddelených dvojbodkou „:“. V tomto prípade dostanete časť poľa, od prvého indexu po druhý, nezahrnutú. Ak nie je zadaný prvý prvok, počítanie sa začne od začiatku poľa a ak posledný nie je zadaný, pole sa načíta až po posledný prvok. Záporné hodnoty definujú koncovú polohu prvku. Napríklad:


>>> môj zoznam = ["Položka zoznamu 1", 2, 3 .14]
>>> vytlačiť môj zoznam [:] # Všetky prvky poľa sa čítajú
["Položka zoznamu 1", 2, 3 0,1400000000000001]
>>> vytlačiť mylist # Načíta sa nula a prvý prvok poľa.
["Položka zoznamu 1", 2]
>>> vytlačiť môj zoznam [-3: -1] # Čítanie položiek od nuly (-3) po sekundu (-1) (nezahrnuté)
["Položka zoznamu 1", 2]
>>> vytlačiť mylist # Prvky sa čítajú od prvého po posledný

Struny

Reťazce v Pythone oddelené dvojitými úvodzovkami "" "alebo jednoduchým" ""... Jednoduché úvodzovky môžu byť v dvojitých úvodzovkách alebo naopak. Napríklad riadok "Povedal ahoj!" sa zobrazí ako "Povedal ahoj!" Ak potrebujete použiť reťazec niekoľkých riadkov, potom tento riadok musí začínať a končiť tromi dvojitými úvodzovkami "" "" ". Do šablóny reťazca môžete nahradiť prvky z n-tice alebo zo slovníka. Znak percenta"% "medzi reťazec a n-tica nahrádza v prvku n-tice znaky v reťazci „% S.“ Slovníky umožňujú vložiť do reťazca prvok s daným indexom.


>>>vytlačiť "Názov: % s \ nČíslo: % s \ nReťazec: % s"% (moja trieda.name, 3, 3 * "-")
Názov: Poromenos
Číslo: 3
Reťazec: -
strString = "" "Tento text sa nachádza
na viacerých riadkoch "" "

>>> vytlačiť"Toto% (sloveso) s a% (podstatné meno) s." % ("podstatné meno": "test", "sloveso": "je")
Toto je test.

Operátori

Zatiaľ čo vyhlásenia, ak, pre tvoria operátori ťahu. Neexistuje žiadny analóg príkazu select, takže to musíte obísť ak... V operátorovi pre dochádza k porovnávaniu premenná a zoznam... Ak chcete získať zoznam číslic až po číslo - použite rozsah funkcií ( ). Tu je príklad použitia operátorov


zoznam rozsahov = rozsah (10) # Získajte zoznam desiatich číslic (0 až 9)
>>> vytlačiť rangelist
prečíslo v zozname rozsahov: # Zatiaľ čo číslo premennej (ktoré sa zakaždým zvyšuje) je zahrnuté v zozname ...
# Skontrolujte, či je premenná zahrnutá
# čísla na n-ticu čísel(3 , 4 , 7 , 9 )
akčíslo v (3, 4, 7, 9): # Ak je číslo premennej v n-tici (3, 4, 7, 9) ...
#operácia" prestávka»Poskytuje
# opustiť slučku kedykoľvek
prestávka
inak :
# « ďalej"Vykonáva" rolovanie "
# slučka. Toto sa tu nevyžaduje, pretože po tejto operácii
# v každom prípade sa program vráti k spracovaniu cyklu
ďalej
inak :
# « inak»Je voliteľné. Podmienka je splnená
# ak slučka nebola prerušená s " prestávka».
prejsť # Nerobiť nič

ak zoznam rozsahov == 2:
vytlačiť "Druhá položka (zoznamy sú založené na 0) je 2"
elif zoznam rozsahov == 3:
vytlačiť "Druhá položka (zoznamy sú založené na 0) je 3"
inak :
vytlačiť"Neviem"

zatiaľ čo zoznam rozsahov == 1:
prejsť

Funkcie

Ak chcete deklarovať funkciu, použite kľúčové slovo " def» ... Argumenty funkcie sú uvedené v zátvorkách za názvom funkcie. Môžete zadať voliteľné argumenty a dať im predvolenú hodnotu. Funkcie môžu vracať n-tice, v takom prípade musia byť vrátené hodnoty oddelené čiarkami. kľúčové slovo " lambda„Slúži na deklarovanie elementárnych funkcií.


# arg2 a arg3 sú voliteľné argumenty, majú predvolenú hodnotu,
# pokiaľ im pri volaní funkcie nedáte inú hodnotu.
def moja funkcia (arg1, arg2 = 100, arg3 = "test"):
vrátiť arg3, arg2, arg1
# Funkcia sa volá s hodnotou prvého argumentu - "Argument 1", druhého - štandardne a tretieho - "Pomenovaný argument".
>>> ret1, ret2, ret3 = moja funkcia ("Argument 1", arg3 = "Pomenovaný argument")
# ret1, ret2 a ret3 nadobúdajú hodnoty „Pomenovaný argument“, 100, „Argument 1“ v tomto poradí
>>> vytlačiť ret1, ret2, ret3
Pomenovaný argument 100 Argument 1

# Nasledujúca položka je ekvivalentná def f (x): vrátiť x + 1
functionvar = lambda x: x + 1
>>> vytlačiť functionvar (1)
2

triedy

Jazyk Python je v triedach obmedzený na viacnásobnú dedičnosť. Interné premenné a metódy interných tried začínajú dvoma podčiarkovníkmi "__" (napríklad "__myprivatevar"). Hodnotu môžeme premennej triedy priradiť aj externe. Príklad:


trieda môj trieda:
bežné = 10
def __init __ (ja):
self .moja premenná = 3
def moja funkcia (self, arg1, arg2):
vrátiť seba .moja premenná

# Tu sme vyhlásili triedu My trieda... Funkcia __init__ sa volá automaticky pri inicializácii tried.
>>> classinstance = My trieda() # Inicializovali sme triedu a moja premenná je nastavená na 3, ako je uvedené v metóde inicializácie
>>> # Metóda myfunkcia triedy My trieda vráti hodnotu premennej myvariable
3
# Spoločná premenná je deklarovaná vo všetkých triedach
>>> classinstance2 = Moja trieda()
>>> classinstance.common
10
>>> classinstance2.common
10
# Ak teda zmeníme jeho hodnotu v triede My trieda zmení sa
# a jeho hodnoty v objektoch inicializovaných triedou My trieda
>>> Myclass.common = 30
>>> classinstance.common
30
>>> classinstance2.common
30
# A tu neupravujeme premennú triedy. Namiesto tohto
# deklarujeme ho v objekte a priradíme mu novú hodnotu
>>> classinstance.common = 10
>>> classinstance.common
10
>>> classinstance2.common
30
>>> Myclass.common = 50
# Teraz sa zmena premennej triedy nedotkne
# premenných objektov tejto triedy
>>> classinstance.common
10
>>> classinstance2.common
50

# Nasledujúca trieda dedí z triedy Moja trieda
# dedí jeho vlastnosti a metódy, okrem triedy môže
# dedí z niekoľkých tried, v tomto prípade napíšte
# Páči sa ti to: trieda Iná trieda (Myclass1, Myclass2, MyclassN)
trieda Iná trieda (Moja trieda):
def __init __ (self, arg1):
self .moja premenná = 3
vytlačiť arg1

>>> classinstance = Otherclass ("ahoj")
Ahoj
>>> classinstance.myfunction (1, 2)
3
# Táto trieda nemá vlastnosť test, ale môžeme
# deklarovať takúto premennú pre objekt. A
# táto premenná bude iba členom trieda príklad.
>>> classinstance.test = 10
>>> classinstance.test
10

Výnimky

Výnimky Pythonu sú štruktúrované skúste-okrem [okrem ionname]:


def nejaká funkcia ():
skúste :
# Delenie nulou vyvoláva chybu
10 / 0
okrem ZeroDivisionError:
# Program však „nevykonáva nelegálnu operáciu“
# A spracováva blok výnimky zodpovedajúci „ZeroDivisionError“
vytlačiť"Ojoj, neplatné."

>>> fn okrem()
Ojoj, neplatné.

Importovať

Externé knižnice je možné pripojiť pomocou postupu " importovať", Kde je názov pripojenej knižnice. Môžete tiež použiť príkaz " od importovať„Aby ste mohli použiť funkciu z knižnice


importovať náhodný # Import „náhodnej“ knižnice
odčas importovať hodiny # A zároveň funkcia „hodiny“ z knižnice „času“.

Randomint = random .randint (1, 100)
>>> vytlačiť randomint
64

Práca so súborovým systémom

Python má veľa vstavaných knižníc. V tomto príklade sa pokúsime uložiť štruktúru zoznamu do binárneho súboru, prečítať ho a uložiť reťazec do textového súboru. Na transformáciu dátovej štruktúry použijeme štandardnú knižnicu „pickle“


importovať kyslá uhorka
mylist = ["Toto", "je", 4, 13327]
# Otvorte súbor C: \ binary.dat na zápis. Symbol "r".
# zabraňuje nahradeniu špeciálnych znakov (napríklad \ n, \ t, \ b atď.).
myfile = súbor (r "C: \ binary.dat", "w")
pickle .dump (mylist, myfile)
myfile.close ()

Myfile = súbor (r "C: \ text.txt", "w")
myfile.write ("Toto je vzorový reťazec")
myfile.close ()

Myfile = súbor (r "C: \ text.txt")
>>> vytlačiť myfile.read ()
"Toto je vzorový reťazec"
myfile.close ()

# Otvorte súbor na čítanie
myfile = súbor (r "C: \ binary.dat")
loadlist = pickle .load (myfile)
myfile.close ()
>>> vytlačiť načítaný zoznam
["Toto", "je", 4, 13327]

Zvláštnosti

  • Podmienky je možné kombinovať. 1 < a < 3 выполняется тогда, когда а больше 1, но меньше 3.
  • Použite operáciu " del"do vymazať premenné alebo prvky poľa.
  • Python ponúka skvelé príležitosti pre pracovať so zoznamami... Na deklarovanie štruktúry zoznamu môžete použiť operátory. Operátor pre umožňuje špecifikovať prvky zoznamu v špecifickom poradí a ak- umožňuje vybrať položky podľa stavu.
>>> lst1 =
>>> lst2 =
>>> vytlačiť
>>> vytlačiť
# Operátor "any" vráti hodnotu true, ak aspoň
# by bola splnená jedna z podmienok v ňom obsiahnutých.
>>> ľubovoľné (i% 3 pre som v)
Pravda
# Nasledujúci postup vypočíta počet
# zodpovedajúcich položiek v zozname
>>> súčet (1 pre som v ak ja == 3)
3
>>> del lst1
>>> vytlačiť lst1
>>> del lst1
  • Globálne premenné sú deklarované mimo funkcií a možno ich čítať bez akýchkoľvek deklarácií. Ak však potrebujete zmeniť hodnotu globálnej premennej z funkcie, musíte ju deklarovať na začiatku funkcie pomocou kľúčového slova „ globálne", Ak to neurobíte, Python deklaruje premennú, ktorá je dostupná len pre túto funkciu.
číslo = 5

def myfunc ():
# výtlačkov 5
vytlačiťčíslo

def iná funkcia ():
# Toto vyvolá výnimku, pretože globálna premenná
# nebolo volané z funkcie. Python v tomto prípade vytvára
# premenná s rovnakým názvom v rámci tejto funkcie a dostupná
# len pre operátorov tejto funkcie.
vytlačiťčíslo
číslo = 3

def ešte ďalšia funkcia ():
globálnečíslo
# A až od tejto funkcie sa zmení hodnota premennej.
číslo = 3

Epilóg

Samozrejme, tento článok nepokrýva všetky funkcie Pythonu. Dúfam, že vám tento článok pomôže, ak sa chcete ďalej učiť tento programovací jazyk.

Výhody Pythonu

  • Rýchlosť vykonávania programov napísaných v Pythone je veľmi vysoká. Je to spôsobené tým, že hlavné knižnice Pythonu
    sú napísané v C++ a dokončenie úloh zaberie menej času ako iné jazyky na vysokej úrovni.
  • Vďaka tomu môžete písať svoje vlastné moduly pre Python v C alebo C ++
  • V štandardných knižniciach Pythonu nájdete nástroje na prácu s emailom, protokolmi
    Internet, FTP, HTTP, databázy atď.
  • Python skripty bežia na väčšine moderných operačných systémov. Táto prenosnosť umožňuje používať Python v širokej škále oblastí.
  • Python je vhodný pre akékoľvek programovacie riešenie, či už ide o kancelárske programy, webové aplikácie, GUI aplikácie atď.
  • Na vývoji Pythonu pracovali tisíce nadšencov z celého sveta. Podporu moderných technológií v štandardných knižniciach možno pripísať tomu, že Python bol otvorený pre každého.

Štítky: Pridať štítky

Pred pár desaťročiami sa programátori javili ako nejakí šamani, ktorí vedia, čo je pre ostatných nedostupné. Niekedy sa ľudia učili programovať „na kolene“, čmárali kód na papier, pretože „koncentrácia počítačových zariadení na obyvateľa“ bola extrémne nízka. Teraz je ťažké nájsť osobu, ktorá nemá doma stacionárny počítač alebo notebook. Vpred sa posúvajú aj vzdelávacie technológie.

Trochu histórie

Programovací jazyk Python začal vyvíjať Guido van Rossum koncom osemdesiatych rokov. Guido bol v tom čase členom holandskej CWI. Napísal tento jazyk vo svojom voľnom čase, pričom vložil niekoľko myšlienok o jazyku ABC, na ktorom sa podieľal.

Názov jazyka vôbec nebol na počesť plaza. Myšlienkou názvu bola v skutočnosti populárna britská komediálna show zo 70. rokov s názvom Monty Python's Flying Circus, hoci Python je stále oveľa častejšie porovnávaný s hadom, ako hovorí aj emblém na oficiálnej webovej stránke (zobrazuje dve hadie hlavy).

Nie je to len van Rossumova dizajnérska intuícia, ktorá sa považuje za dôvod, prečo je programovací jazyk Python taký populárny. Učenie sa od nuly sa stáva príjemným a jednoduchým, keď vezmete do úvahy prítomnosť priateľskej komunity používateľov.

Nie je to tak dávno, v roku 2008, bola vydaná prvá verzia Pythonu 3000 (3.0), ktorá bola dlho testovaná, kde bolo odstránených veľa architektonických nedostatkov. Vývojári sa zároveň snažili zachovať kompatibilitu s predchádzajúcimi verziami jazyka. Hoci existuje novšia verzia, sú podporované obe vetvy (2.xa 3.x).

Stručný programovací jazyk

Python má oproti iným jazykom niekoľko výhod. Je zrozumiteľný takmer intuitívne, má „transparentnú“ syntax. To znamená, že programový kód v tomto jazyku je oveľa ľahšie čitateľný, čo skracuje čas nielen na jeho písanie, ale aj na rôzne úpravy a kontroly.

Samozrejme, programátor zo „starej školy“ povie, že určite potrebujete vedieť niekoľko jazykov, prípadne môžete začať aj s učením strojového kódu. Po absolvovaní kurzu programovania v jazyku Python však človek získa nielen špecifické znalosti, ale aj príležitosť realizovať svoju tvorivú povahu, vytvárať aplikácie a užitočné programy pre seba. Možno čoskoro bude potrebné programovanie a znalosť cudzieho jazyka.

Sebapochybnosť

Stojí za to zbaviť sa mylnej predstavy, že programovanie je ťažké. Nie, programovanie je oveľa zaujímavejšie, ako sa zdá; iné aktivity a takzvaný „nedostatok času“ či lenivosť môžu prekážať.

Základná literatúra vám pomôže rýchlo sa naučiť programovanie v Pythone. Učebné osnovy by mali začať prečítaním dvoch kníh, z ktorých sa môžete naučiť základy. Prvým je Python Programming od Marka Lutza a druhým je Python 3 Programming od Marka Summerfielda. Lutzova kniha podrobne, niekedy až príliš, popisuje všetky základné princípy, na ktorých je jazyk postavený. Niektorí odporúčajú čítať Marka Lutza nie na zvládnutie, ale na prehĺbenie základných vedomostí. Summerfieldova kniha vysvetľuje všetko stručnejšie, autor čitateľa nestraší žiadnymi ťažkosťami. Existuje aj iná literatúra, ale tieto učebnice sú najužitočnejšie a najinformatívnejšie.

Úvodný kurz

Spomeňme si na základnú školu. Spravidla aj dieťa prichádza do prvého ročníka s minimálnymi vedomosťami: jeho rodičia s niekým pracovali, niekto išiel na nulu. To isté platí pre školenie v programovacom jazyku Python. Je to naozaj pohodlné a „transparentné“, no bez minimálnej znalosti základných princípov programov bude tréning náročný. Je to ako učiť sa noty bez toho, aby ste počuli hudbu. Kto sa teda s programovaním vôbec nestretol, mal by sa zoznámiť s „úvodným minimom“.

Prednášky CS50 budú užitočné. Ide o kurz programovania v Java Script na Harvardskej univerzite, ale prvé prednášky vysvetľujú interakciu počítača a programov vo všeobecnosti prístupným a zrozumiteľným spôsobom. Rusky hovoriaci používateľ má prístup k videozáznamom tohto kurzu s prekladom, doplnkovým materiálom, textovým verziám prednášok a praktickým cvičeniam. Video možno nájsť takmer kdekoľvek, napríklad na YouTube, ale celý materiál je na stránke Java Script.

Na internete

Programovací jazyk Python si získava na obľube, preto už dlhšiu dobu existuje niekoľko portálov, na ktorých je množstvo materiálov na samoštúdium. Napríklad „Python 3 pre začiatočníkov“. Táto stránka má veľa materiálov pre začiatočníkov, môžete ich použiť ako cheat sheet. Veľké množstvo informácií o tejto téme s voľným prístupom je aj na stránke Codecademy.

Dôležitá je aj komunikácia na fórach. Samotné učenie je vždy ťažšie, takže nezanedbávajte rôzne komunity.

Platené kurzy

Vždy môžete použiť platené kurzy, ale niekedy to stojí veľa peňazí a výsledok môže byť neuspokojivý. Preto je samozrejme vhodné vyberať si kurzy, ktoré ponúkajú bezplatné orientačné zadanie. Napríklad v GeekBrains existuje intenzívny kurz „Základy programovania v Pythone“. Lekcia je bezplatná, koná sa každých desať dní. Ak sa chcete zaregistrovať, musíte sa prihlásiť na stránku.

Tip: nech si vyberiete ktorýkoľvek kurz, najprv sa oboznámte so základmi jazyka, aby ste nestrácali čas tým, čo sa môžete ľahko naučiť sami. Bude stačiť prečítať si vyššie uvedené knihy.

Samozrejme, keď je teória zvládnutá, chcete cvičiť. Tu treba spomenúť prednášky Nicka Parlanteho. Sú v angličtine, aj keď vo všeobecnosti existuje veľa dobrej vzdelávacej literatúry v angličtine, a to by nemalo byť prekvapujúce. Nick na svojich prednáškach nielen vyučuje programovací jazyk Python, ale dáva aj vynikajúce praktické problémy.

Použitie

Programovací jazyk Python bol použitý na vytvorenie mnohých aplikácií, ktoré mnohí ľudia používajú na dennej báze. Toto je napríklad šiesta verzia torrent klienta BitTorrent. Tiež "Python" ("Python") sa používa v rastrovom grafickom editore Gimp. Pomocou neho sa vytvárajú napríklad ďalšie moduly, filtre. Veľká časť Civilizácie IV a Batterfield 2 je napísaná v tomto jazyku.

Python používajú spoločnosti ako Google, Facebook, Instagram, Dropbox a Pinterest. Tiež beží v jadre aplikácie Yandex Disk. Približne 10 % zamestnancov spoločnosti píše v jazyku Python a mnohí programátori ho označujú za svoj obľúbený jazyk.

Ako začať

Žiadny kód nemôže fungovať „vo vzduchu“, programovací jazyk Python sa tiež riadi týmto pravidlom. Hoci školenie od začiatku začína teóriou, v skutočnosti by sa dalo povedať, že začína inštaláciou pracovného prostredia na osobný počítač. Ako to spraviť? Je to jednoduché: musíte prejsť na odkaz na oficiálnej webovej stránke Pythonu, stiahnuť a spustiť inštalačný program a potom pozorne postupovať podľa krokov, ktoré navrhuje.

Upozorňujeme, že si musíte stiahnuť súbor vhodný pre operačný systém nainštalovaný na vašom počítači!

Ak bola inštalácia úspešná, otvorte konzolu (spravidla je to možné vykonať pomocou klávesovej skratky "ctrl + alt + T"). Teraz môžete napísať svoj prvý program. Zadajte napríklad „python3“. Ak sa na konzole zobrazí "pozdrav", kde je uvedená verzia programu (napríklad 3.4.0), potom je všetko v poriadku, ak nie, musíte nainštalovať tretiu verziu "Python" príkazom: " sudo apt-get install python3".
Toto sa však nevyžaduje. Kód môžete napísať v akomkoľvek pohodlnom textovom editore a potom ho spustiť cez konzolu, alebo môžete použiť vývojové prostredie IDLE, ktoré je súčasťou distribučnej súpravy.

Spustite NEČINNOSŤ. Na vytvorenie malého programu stačí jeden riadok kódu.

vytlačiť ("Ahoj svet!")

Zadajte tento kód do okna IDLE a stlačte Enter. Prostredie okamžite zareaguje akciou – na obrazovke zobrazí požadovaný text. Prvý program je pripravený.

V ktorej v stručnej forme
hovoriť o základoch jazyka Python. Ponúkam vám preklad tohto článku. Preklad nie je doslovný. Pokúsil som sa podrobnejšie vysvetliť niektoré body, ktoré môžu byť nezrozumiteľné.

Ak sa chcete naučiť Python, ale nemôžete nájsť vhodného sprievodcu, potom toto
článok bude pre vás veľmi užitočný! V krátkom čase sa môžete zoznámiť
základy jazyka Python. Aj keď sa tento článok často spolieha na
že už máte skúsenosti s programovaním, ale dúfam, že aj pre začiatočníkov
tieto veci budú užitočné. Pozorne si prečítajte každý odsek. V spojení s
stručnosť materiálu, niektoré témy sú posúdené povrchne, ale obsahujú celok
požadovaný materiál.

Základné vlastnosti

Python nevyžaduje explicitnú deklaráciu premenných, je to objektovo orientovaný jazyk, v ktorom sa rozlišujú malé a veľké písmená (var nie je ekvivalentné s Var alebo VAR sú tri rôzne premenné).

Syntax

Po prvé, stojí za zmienku zaujímavú vlastnosť Pythonu. Namiesto toho neobsahuje zátvorky operátora (začiatok..koniec v pascal alebo (..) v C). bloky sú odsadené: medzerami alebo tabulátormi a zadávanie bloku príkazov sa vykonáva s dvojbodkou. Jednoriadkové komentáre začínajú znakom libry "#", viacriadkové komentáre začínajú a končia tromi dvojitými úvodzovkami "" "" ".
Ak chcete premennej priradiť hodnotu, použite znak "=" a na porovnanie -
"==". Ak chcete zvýšiť hodnotu premennej alebo pridať do riadku, použite operátor "+ =" a na zníženie - "- =". Všetky tieto operácie môžu interagovať s väčšinou typov vrátane reťazcov. Napríklad


>>> myvar = 3
>>> myvar + = 2
>>> myvar - = 1
"" "Toto je viacriadkový komentár
Riadky v troch dvojitých úvodzovkách sa ignorujú "" "

>>> mystring = "Dobrý deň"
>>> mystring + = "svet."
>>> vytlačiť mystring
Ahoj svet.
# Ďalší riadok sa zmení
miestami premenlivé hodnoty. (Len jeden riadok!)

>>> myvar, mystring = mystring, myvar

Dátové štruktúry

Python obsahuje dátové štruktúry ako napr zoznamy, n-tice a slovníky). Zoznamy sú ako jednorozmerné polia (môžete však použiť Including lists – viacrozmerné pole), n-tice sú nemenné zoznamy, slovníky sú tiež zoznamy, ale indexy môžu byť akéhokoľvek typu, nielen číselné. "Polia" v Pythone môžu obsahovať údaje akéhokoľvek typu, to znamená, že jedno pole môže obsahovať číselné, reťazcové a iné typy údajov. Polia začínajú na indexe 0 a posledný prvok možno získať na indexe -1. Premenným môžete priradiť funkcie a podľa toho ich použiť.


>>> vzorka =, ("a", "n-tice")] # Zoznam pozostáva z celého čísla, ďalšieho zoznamu a n-tice
>>> # Tento zoznam obsahuje reťazec, celé číslo a zlomok
>>> mylist = "Znova uviesť položku 1" # Zmeňte prvý (nulový) prvok zoznamu hárku
>>> mylist [-1] = 3 ,14 # Zmeňte posledný prvok hárka
>>> mydict = ("Kľúč 1": "Hodnota 1", 2: 3, "pi": 3 .14) # Vytvorte slovník s číselnými a celočíselnými indexmi
>>> mydict ["pi"] = 3 ,15 # Zmeňte prvok slovníka pod indexom "pi".
>>> mytuple = (1, 2, 3) # Set a tuple
>>> myfunction = len #Python vám umožňuje deklarovať synonymá funkcií týmto spôsobom
>>> vytlačiť moja funkcia (zoznam)
3

Časť poľa môžete použiť zadaním prvého a posledného indexu oddelených dvojbodkou „:“. V tomto prípade dostanete časť poľa, od prvého indexu po druhý, nezahrnutú. Ak nie je zadaný prvý prvok, počítanie sa začne od začiatku poľa a ak posledný nie je zadaný, pole sa načíta až po posledný prvok. Záporné hodnoty definujú koncovú polohu prvku. Napríklad:


>>> môj zoznam = ["Položka zoznamu 1", 2, 3 .14]
>>> vytlačiť môj zoznam [:] # Všetky prvky poľa sa čítajú
["Položka zoznamu 1", 2, 3 0,1400000000000001]
>>> vytlačiť mylist # Načíta sa nula a prvý prvok poľa.
["Položka zoznamu 1", 2]
>>> vytlačiť môj zoznam [-3: -1] # Čítanie položiek od nuly (-3) po sekundu (-1) (nezahrnuté)
["Položka zoznamu 1", 2]
>>> vytlačiť mylist # Prvky sa čítajú od prvého po posledný

Struny

Reťazce v Pythone oddelené dvojitými úvodzovkami "" "alebo jednoduchým" ""... Jednoduché úvodzovky môžu byť v dvojitých úvodzovkách alebo naopak. Napríklad riadok "Povedal ahoj!" sa zobrazí ako "Povedal ahoj!" Ak potrebujete použiť reťazec niekoľkých riadkov, potom tento riadok musí začínať a končiť tromi dvojitými úvodzovkami "" "" ". Do šablóny reťazca môžete nahradiť prvky z n-tice alebo zo slovníka. Znak percenta"% "medzi reťazec a n-tica nahrádza v prvku n-tice znaky v reťazci „% S.“ Slovníky umožňujú vložiť do reťazca prvok s daným indexom.


>>>vytlačiť "Názov: % s \ nČíslo: % s \ nReťazec: % s"% (moja trieda.name, 3, 3 * "-")
Názov: Poromenos
Číslo: 3
Reťazec: -
strString = "" "Tento text sa nachádza
na viacerých riadkoch "" "

>>> vytlačiť"Toto% (sloveso) s a% (podstatné meno) s." % ("podstatné meno": "test", "sloveso": "je")
Toto je test.

Operátori

Zatiaľ čo vyhlásenia, ak, pre tvoria operátori ťahu. Neexistuje žiadny analóg príkazu select, takže to musíte obísť ak... V operátorovi pre dochádza k porovnávaniu premenná a zoznam... Ak chcete získať zoznam číslic až po číslo - použite rozsah funkcií ( ). Tu je príklad použitia operátorov


zoznam rozsahov = rozsah (10) # Získajte zoznam desiatich číslic (0 až 9)
>>> vytlačiť rangelist
prečíslo v zozname rozsahov: # Zatiaľ čo číslo premennej (ktoré sa zakaždým zvyšuje) je zahrnuté v zozname ...
# Skontrolujte, či je premenná zahrnutá
# čísla na n-ticu čísel(3 , 4 , 7 , 9 )
akčíslo v (3, 4, 7, 9): # Ak je číslo premennej v n-tici (3, 4, 7, 9) ...
#operácia" prestávka»Poskytuje
# opustiť slučku kedykoľvek
prestávka
inak :
# « ďalej"Vykonáva" rolovanie "
# slučka. Toto sa tu nevyžaduje, pretože po tejto operácii
# v každom prípade sa program vráti k spracovaniu cyklu
ďalej
inak :
# « inak»Je voliteľné. Podmienka je splnená
# ak slučka nebola prerušená s " prestávka».
prejsť # Nerobiť nič

ak zoznam rozsahov == 2:
vytlačiť "Druhá položka (zoznamy sú založené na 0) je 2"
elif zoznam rozsahov == 3:
vytlačiť "Druhá položka (zoznamy sú založené na 0) je 3"
inak :
vytlačiť"Neviem"

zatiaľ čo zoznam rozsahov == 1:
prejsť

Funkcie

Ak chcete deklarovať funkciu, použite kľúčové slovo " def» ... Argumenty funkcie sú uvedené v zátvorkách za názvom funkcie. Môžete zadať voliteľné argumenty a dať im predvolenú hodnotu. Funkcie môžu vracať n-tice, v takom prípade musia byť vrátené hodnoty oddelené čiarkami. kľúčové slovo " lambda„Slúži na deklarovanie elementárnych funkcií.


# arg2 a arg3 sú voliteľné argumenty, majú predvolenú hodnotu,
# pokiaľ im pri volaní funkcie nedáte inú hodnotu.
def moja funkcia (arg1, arg2 = 100, arg3 = "test"):
vrátiť arg3, arg2, arg1
# Funkcia sa volá s hodnotou prvého argumentu - "Argument 1", druhého - štandardne a tretieho - "Pomenovaný argument".
>>> ret1, ret2, ret3 = moja funkcia ("Argument 1", arg3 = "Pomenovaný argument")
# ret1, ret2 a ret3 nadobúdajú hodnoty „Pomenovaný argument“, 100, „Argument 1“ v tomto poradí
>>> vytlačiť ret1, ret2, ret3
Pomenovaný argument 100 Argument 1

# Nasledujúca položka je ekvivalentná def f (x): vrátiť x + 1
functionvar = lambda x: x + 1
>>> vytlačiť functionvar (1)
2

triedy

Jazyk Python je v triedach obmedzený na viacnásobnú dedičnosť. Interné premenné a metódy interných tried začínajú dvoma podčiarkovníkmi "__" (napríklad "__myprivatevar"). Hodnotu môžeme premennej triedy priradiť aj externe. Príklad:


trieda môj trieda:
bežné = 10
def __init __ (ja):
self .moja premenná = 3
def moja funkcia (self, arg1, arg2):
vrátiť seba .moja premenná

# Tu sme vyhlásili triedu My trieda... Funkcia __init__ sa volá automaticky pri inicializácii tried.
>>> classinstance = My trieda() # Inicializovali sme triedu a moja premenná je nastavená na 3, ako je uvedené v metóde inicializácie
>>> # Metóda myfunkcia triedy My trieda vráti hodnotu premennej myvariable
3
# Spoločná premenná je deklarovaná vo všetkých triedach
>>> classinstance2 = Moja trieda()
>>> classinstance.common
10
>>> classinstance2.common
10
# Ak teda zmeníme jeho hodnotu v triede My trieda zmení sa
# a jeho hodnoty v objektoch inicializovaných triedou My trieda
>>> Myclass.common = 30
>>> classinstance.common
30
>>> classinstance2.common
30
# A tu neupravujeme premennú triedy. Namiesto tohto
# deklarujeme ho v objekte a priradíme mu novú hodnotu
>>> classinstance.common = 10
>>> classinstance.common
10
>>> classinstance2.common
30
>>> Myclass.common = 50
# Teraz sa zmena premennej triedy nedotkne
# premenných objektov tejto triedy
>>> classinstance.common
10
>>> classinstance2.common
50

# Nasledujúca trieda dedí z triedy Moja trieda
# dedí jeho vlastnosti a metódy, okrem triedy môže
# dedí z niekoľkých tried, v tomto prípade napíšte
# Páči sa ti to: trieda Iná trieda (Myclass1, Myclass2, MyclassN)
trieda Iná trieda (Moja trieda):
def __init __ (self, arg1):
self .moja premenná = 3
vytlačiť arg1

>>> classinstance = Otherclass ("ahoj")
Ahoj
>>> classinstance.myfunction (1, 2)
3
# Táto trieda nemá vlastnosť test, ale môžeme
# deklarovať takúto premennú pre objekt. A
# táto premenná bude iba členom trieda príklad.
>>> classinstance.test = 10
>>> classinstance.test
10

Výnimky

Výnimky Pythonu sú štruktúrované skúste-okrem [okrem ionname]:


def nejaká funkcia ():
skúste :
# Delenie nulou vyvoláva chybu
10 / 0
okrem ZeroDivisionError:
# Program však „nevykonáva nelegálnu operáciu“
# A spracováva blok výnimky zodpovedajúci „ZeroDivisionError“
vytlačiť"Ojoj, neplatné."

>>> fn okrem()
Ojoj, neplatné.

Importovať

Externé knižnice je možné pripojiť pomocou postupu " importovať", Kde je názov pripojenej knižnice. Môžete tiež použiť príkaz " od importovať„Aby ste mohli použiť funkciu z knižnice


importovať náhodný # Import „náhodnej“ knižnice
odčas importovať hodiny # A zároveň funkcia „hodiny“ z knižnice „času“.

Randomint = random .randint (1, 100)
>>> vytlačiť randomint
64

Práca so súborovým systémom

Python má veľa vstavaných knižníc. V tomto príklade sa pokúsime uložiť štruktúru zoznamu do binárneho súboru, prečítať ho a uložiť reťazec do textového súboru. Na transformáciu dátovej štruktúry použijeme štandardnú knižnicu „pickle“


importovať kyslá uhorka
mylist = ["Toto", "je", 4, 13327]
# Otvorte súbor C: \ binary.dat na zápis. Symbol "r".
# zabraňuje nahradeniu špeciálnych znakov (napríklad \ n, \ t, \ b atď.).
myfile = súbor (r "C: \ binary.dat", "w")
pickle .dump (mylist, myfile)
myfile.close ()

Myfile = súbor (r "C: \ text.txt", "w")
myfile.write ("Toto je vzorový reťazec")
myfile.close ()

Myfile = súbor (r "C: \ text.txt")
>>> vytlačiť myfile.read ()
"Toto je vzorový reťazec"
myfile.close ()

# Otvorte súbor na čítanie
myfile = súbor (r "C: \ binary.dat")
loadlist = pickle .load (myfile)
myfile.close ()
>>> vytlačiť načítaný zoznam
["Toto", "je", 4, 13327]

Zvláštnosti

  • Podmienky je možné kombinovať. 1 < a < 3 выполняется тогда, когда а больше 1, но меньше 3.
  • Použite operáciu " del"do vymazať premenné alebo prvky poľa.
  • Python ponúka skvelé príležitosti pre pracovať so zoznamami... Na deklarovanie štruktúry zoznamu môžete použiť operátory. Operátor pre umožňuje špecifikovať prvky zoznamu v špecifickom poradí a ak- umožňuje vybrať položky podľa stavu.
>>> lst1 =
>>> lst2 =
>>> vytlačiť
>>> vytlačiť
# Operátor "any" vráti hodnotu true, ak aspoň
# by bola splnená jedna z podmienok v ňom obsiahnutých.
>>> ľubovoľné (i% 3 pre som v)
Pravda
# Nasledujúci postup vypočíta počet
# zodpovedajúcich položiek v zozname
>>> súčet (1 pre som v ak ja == 3)
3
>>> del lst1
>>> vytlačiť lst1
>>> del lst1
  • Globálne premenné sú deklarované mimo funkcií a možno ich čítať bez akýchkoľvek deklarácií. Ak však potrebujete zmeniť hodnotu globálnej premennej z funkcie, musíte ju deklarovať na začiatku funkcie pomocou kľúčového slova „ globálne", Ak to neurobíte, Python deklaruje premennú, ktorá je dostupná len pre túto funkciu.
číslo = 5

def myfunc ():
# výtlačkov 5
vytlačiťčíslo

def iná funkcia ():
# Toto vyvolá výnimku, pretože globálna premenná
# nebolo volané z funkcie. Python v tomto prípade vytvára
# premenná s rovnakým názvom v rámci tejto funkcie a dostupná
# len pre operátorov tejto funkcie.
vytlačiťčíslo
číslo = 3

def ešte ďalšia funkcia ():
globálnečíslo
# A až od tejto funkcie sa zmení hodnota premennej.
číslo = 3

Epilóg

Samozrejme, tento článok nepokrýva všetky funkcie Pythonu. Dúfam, že vám tento článok pomôže, ak sa chcete ďalej učiť tento programovací jazyk.

Výhody Pythonu

  • Rýchlosť vykonávania programov napísaných v Pythone je veľmi vysoká. Je to spôsobené tým, že hlavné knižnice Pythonu
    sú napísané v C++ a dokončenie úloh zaberie menej času ako iné jazyky na vysokej úrovni.
  • Vďaka tomu môžete písať svoje vlastné moduly pre Python v C alebo C ++
  • V štandardných knižniciach Pythonu nájdete nástroje na prácu s emailom, protokolmi
    Internet, FTP, HTTP, databázy atď.
  • Python skripty bežia na väčšine moderných operačných systémov. Táto prenosnosť umožňuje používať Python v širokej škále oblastí.
  • Python je vhodný pre akékoľvek programovacie riešenie, či už ide o kancelárske programy, webové aplikácie, GUI aplikácie atď.
  • Na vývoji Pythonu pracovali tisíce nadšencov z celého sveta. Podporu moderných technológií v štandardných knižniciach možno pripísať tomu, že Python bol otvorený pre každého.

Značky:

  • Python
  • programovanie
  • lekciu
Pridať značky