Programovanie

Čo je to Python? Výkonné a intuitívne programovanie

Programovací jazyk Python, ktorý sa datuje rokom 1991, bol považovaný za vyplňovač medzier, spôsob písania skriptov, ktoré „automatizujú nudné veci“ (ako sa uvádza v jednej populárnej knihe o učení jazyka Python), alebo rýchle prototypy aplikácií, ktoré budú implementované v iných jazykoch. .

Za posledných pár rokov sa však Python ukázal ako prvotriedny občan v oblasti vývoja moderného softvéru, správy infraštruktúry a analýzy údajov. Už to nie je obslužný jazyk v pozadí, ale je to hlavná sila vo vytváraní webových aplikácií a správe systémov a kľúčová hnacia sila v oblasti analýzy veľkých dát a strojovej inteligencie.

Súvisiace video: Ako Python uľahčuje programovanie

Python, perfektný pre IT, zjednodušuje mnoho druhov práce, od automatizácie systému až po prácu v špičkových oblastiach, ako je strojové učenie.

Kľúčové výhody Pythonu

Úspech Pythonu sa točí okolo niekoľkých výhod, ktoré poskytuje začiatočníkom aj expertom.

Python sa ľahko učí a používa

Počet funkcií v samotnom jazyku je skromný a vyžaduje relatívne malú investíciu času a úsilia do výroby vašich prvých programov. Syntax Pythonu je navrhnutá tak, aby bola čitateľná a jednoduchá. Táto jednoduchosť robí z Pythonu ideálny vyučovací jazyk a umožňuje nováčikom rýchlo si ho osvojiť. Výsledkom je, že vývojári trávia viac času premýšľaním o probléme, ktorý sa snažia vyriešiť, a menej času premýšľaním o jazykových zložitostiach alebo dešifrovaní kódu, ktorý zanechajú ostatní.

Python je všeobecne prijímaný a podporovaný

Python je populárny aj široko používaný, pretože vysoké hodnotenie v prieskumoch ako Tiobe Index a veľké množstvo projektov GitHub využívajúcich Python potvrdzuje. Python beží na každom väčšom operačnom systéme a platforme, a tiež na väčšine menších. Mnoho hlavných knižníc a služieb využívajúcich API má väzby alebo obálky Pythonu, ktoré umožňujú slobodné rozhranie Pythonu s týmito službami alebo tieto knižnice priamo používajú.

Python nie je jazyk „hračky“

Aj keď skriptovanie a automatizácia pokrývajú veľkú časť prípadov použitia Pythonu (viac o tom neskôr), Python sa tiež používa na vytváranie softvéru v profesionálnej kvalite, a to ako samostatné aplikácie, tak aj ako webové služby. Python nemusí byť najrýchlejší jazyk, ale čo mu chýba v rýchlosti, vynahradzuje to všestrannosťou.

Python ide stále vpred

Každá revízia jazyka Python pridáva užitočné nové funkcie, ktoré držia krok s modernými postupmi vývoja softvéru. Napríklad asynchrónne operácie a korutíny sú dnes štandardnou súčasťou jazyka, čo uľahčuje písanie aplikácií v jazyku Python, ktoré vykonávajú súbežné spracovanie.

Na čo sa používa Python

Najzákladnejším prípadom použitia pre Python je ako skriptovací a automatizačný jazyk. Python nie je iba náhradou za skripty shellu alebo dávkové súbory; Používa sa tiež na automatizáciu interakcií s webovými prehľadávačmi alebo grafickými používateľskými rozhraniami aplikácií alebo na vykonávanie a konfiguráciu systému v nástrojoch ako Ansible a Salt. Ale skriptovanie a automatizácia sú iba špičkou ľadovca s Pythonom.

Gprogramovanie enerálnej aplikácie s Pythonom

Pomocou Pythonu môžete vytvárať aplikácie GUI z príkazového aj multiplatformového rozhrania a nasadiť ich ako samostatné spustiteľné súbory. Python nemá natívnu schopnosť generovať samostatný binárny kód zo skriptu, ale na to je možné použiť balíčky tretích strán, ako sú cx_Freeze a PyInstaller.

Dátová veda a strojové učenie s Pythonom

Sofistikovaná analýza dát sa stala jednou z najrýchlejšie sa rozvíjajúcich oblastí IT a jedným z hviezdnych prípadov použitia Pythonu. Prevažná väčšina knižníc používaných na dátovú vedu alebo strojové učenie má rozhranie Python, vďaka čomu je jazyk najpopulárnejším príkazovým rozhraním na vysokej úrovni pre knižnice strojového učenia a ďalšie numerické algoritmy.

Webové služby a RESTful API v Pythone

Natívne knižnice Pythonu a webové rámce tretích strán poskytujú rýchle a pohodlné spôsoby, ako vytvoriť všetko, od jednoduchých rozhraní REST API v niekoľkých riadkoch kódu až po plnohodnotné weby založené na dátach. Posledné verzie Pythonu majú silnú podporu pre asynchrónne operácie a umožňujú webovým serverom vybavovať desiatky tisíc požiadaviek za sekundu pomocou správnych knižníc.

Metaprogramovanie a generovanie kódu v Pythone

V Pythone je všetko v jazyku objekt, vrátane samotných modulov a knižníc Pythonu. To umožňuje Pythonu pracovať ako vysoko efektívny generátor kódu, ktorý umožňuje písať aplikácie, ktoré manipulujú so svojimi vlastnými funkciami a majú takú rozšíriteľnosť, ktorú by bolo ťažké alebo nemožné presadiť v iných jazykoch.

Python možno tiež použiť na pohon systémov na generovanie kódu, ako je LLVM, na efektívne vytváranie kódu v iných jazykoch.

„Lepiaci kód“ v Pythone

Python sa často označuje ako „lepiaci jazyk“, čo znamená, že umožňuje vzájomnú spoluprácu rôznorodého kódu (zvyčajne knižníc s rozhraniami jazyka C). Jeho použitie v oblasti dátovej vedy a strojového učenia je v tomto duchu, ale to je len jedno stelesnenie všeobecnej myšlienky. Ak máte aplikácie alebo programové domény, ktoré by ste chceli zapojiť, ale nemôžete spolu hovoriť priamo, môžete ich spojiť pomocou Pythonu.

Kde Python zaostáva

Za zmienku tiež stojí druh úloh, ktoré Python má nie vhodný pre.

Python je jazyk na vysokej úrovni, takže nie je vhodný na programovanie na systémovej úrovni - ovládače zariadení alebo jadrá OS nie sú v obraze.

Nie je to ani ideálne riešenie pre situácie, ktoré si to vyžadujú cross-platform samostatné binárne súbory. Môžete si vytvoriť samostatnú aplikáciu Python pre Windows, MacOS a Linux, ale nie elegantne alebo jednoducho.

Nakoniec, Python nie je najlepšou voľbou, keď rýchlosť je absolútnou prioritou vo všetkých aspektoch aplikácie. Preto vám bude lepšie C / C ++ alebo iný jazyk tohto kalibru.

Ako Python zjednodušuje programovanie

Pythonova syntax má byť čitateľná a čistá, s minimom pretvárky. Štandardný „ahoj svet“ v Pythone 3.x nie je nič iné ako:

tlač („Ahoj svet!“)

Python poskytuje mnoho syntaktických prvkov na výstižné vyjadrenie mnohých bežných tokov programov. Zvážte ukážkový program na čítanie riadkov z textového súboru do objektu zoznamu, pričom každý riadok zbavíte zakončovacieho znaku nového riadku takto:

s otvoreným („myfile.txt“) ako my_file:

file_lines = [x.rstrip (‘\ n’) pre x v mojom_súbore]

The s / ako stavba je a kontextový manažér, ktorý poskytuje efektívny spôsob vytvorenia inštancie objektu pre blok kódu a jeho následného zneškodnenia mimo tohto bloku. V tomto prípade je objekt my_file, inštancovaný s otvorené() funkcie. Toto nahradí niekoľko riadkov štandardného disku, aby sa súbor otvoril, prečítali sa z neho jednotlivé riadky a potom sa zavrel.

The [x… pre x v mojom_súbore] konštrukcia je ďalšou zvláštnosťou Pythonu, zoznam s porozumením. Umožňuje položke, ktorá obsahuje ďalšie položky (tu my_file a riadky, ktoré obsahuje), ktoré sa majú iterovať, a umožňuje každému iterovanému prvku (to znamená každému) X) budú spracované a automaticky pripojené k zoznamu.

Vy mohol napíš také veci ako formálne pre ... slučka v Pythone, podobne ako v inom jazyku. Jedná sa o to, že Python má spôsob, ako ekonomicky vyjadrovať veci, ako sú slučky, ktoré iterujú nad viacerými objektmi a vykonávajú jednoduchú operáciu s každým prvkom v slučke, alebo ako pracovať s vecami, ktoré si vyžadujú explicitnú inštanciu a likvidáciu.

Takéto konštrukcie umožňujú vývojárom Pythonu vyvážiť strohosť a čitateľnosť.

Ostatné jazykové funkcie Pythonu majú doplniť bežné prípady použitia. Väčšina moderných typov objektov - napríklad reťazce Unicode - je zabudovaná priamo do jazyka. Dátové štruktúry - ako sú zoznamy, slovníky (t. J. Hashmapy alebo úložiská kľúč - hodnota), n-tice (na ukladanie nemenných zbierok objektov) a množiny (na ukladanie zbierok jedinečných objektov) - sú k dispozícii ako položky štandardného vydania.

Python 2 vs. Python 3

Python je k dispozícii v dvoch verziách, ktoré sú dosť odlišné na to, aby oslovili veľa nových používateľov. Python 2.x, staršia „staršia“ vetva, bude naďalej podporovaný (to znamená dostávať oficiálne aktualizácie) až do roku 2020, a potom môže neoficiálne pretrvávať. Python 3.x, súčasná a budúca inkarnácia jazyka, má mnoho užitočných a dôležitých funkcií, ktoré Python 2.x nenájde, napríklad nové syntaxové funkcie (napr. „Operátor mrože“), lepšie kontroly súbežnosti a viac efektívny tlmočník.

Prijatie Pythonu 3 najdlhšie spomalil relatívny nedostatok podpory knižníc tretích strán. Mnoho knižníc Pythonu podporovalo iba Python 2, takže bolo ťažké ho prepnúť. Ale za posledných pár rokov sa počet knižníc podporujúcich iba Python 2 zmenšil; všetky najobľúbenejšie knižnice sú teraz kompatibilné s programami Python 2 aj Python 3. V súčasnosti je program Python 3 najlepšou voľbou pre nové projekty; nie je dôvod zvoliť si Python 2, pokiaľ nemáte na výber. Ak sa vám program Python 2 zasekol, máte k dispozícii rôzne stratégie.

Pythonove knižnice

Úspech Pythonu spočíva na bohatom ekosystéme softvéru prvej a tretej strany. Python ťaží zo silnej štandardnej knižnice aj z bohatého sortimentu ľahko získaných a ľahko použiteľných knižníc od vývojárov tretích strán. Python bol obohatený o desaťročia rozširovania a prispievania.

Štandardná knižnica Pythonu poskytuje moduly pre bežné programovacie úlohy - matematiku, prácu s reťazcami, prístup k súborom a adresárom, prácu v sieti, asynchrónne operácie, vytváranie vlákien, správu viacerých procesov atď. Zahŕňa však aj moduly, ktoré spravujú bežné programovacie úlohy na vysokej úrovni potrebné pre moderné aplikácie: čítanie a zápis štruktúrovaných formátov súborov, ako sú JSON a XML, manipulácia s komprimovanými súbormi, práca s internetovými protokolmi a formátmi údajov (webové stránky, adresy URL, e-mail). Väčšina všetkých externých kódov, ktoré sprístupňujú rozhranie cudzej funkcie kompatibilné s C, je prístupné pomocou Pythonu typy modul.

Predvolená distribúcia Pythonu tiež poskytuje rudimentárnu, ale užitočnú medziplatformovú knižnicu grafického používateľského rozhrania prostredníctvom Tkintera a vloženú kópiu databázy SQLite 3.

Tisíce knižníc tretích strán, ktoré sú k dispozícii prostredníctvom Python Package Index (PyPI), tvoria najsilnejšiu ukážku popularity a všestrannosti Pythonu.

Napríklad:

  • Knižnica BeautifulSoup poskytuje súbor nástrojov „všetko v jednom“ na zošrotovanie kódu HTML - a to aj zložitého a nefunkčného - a na extrakciu dát z neho.
  • Vďaka požiadavkám je práca s požiadavkami HTTP v mierke bezproblémová a jednoduchá.
  • Rámec ako Flask a Django umožňuje rýchly vývoj webových služieb, ktoré zahŕňajú jednoduché aj pokročilé prípady použitia.
  • Viacero cloudových služieb je možné spravovať prostredníctvom objektového modelu Pythonu pomocou servera Apache Libcloud.
  • NumPy, Pandas a Matplotlib urýchľujú matematické a štatistické operácie a uľahčujú vytváranie vizualizácií údajov.

Pythonove kompromisy

Rovnako ako C #, Java a Go, aj Python má správu pamäte nazhromaždenú v odpadkoch, čo znamená, že programátor nemusí implementovať kód na sledovanie a uvoľňovanie objektov. Zber odpadu sa zvyčajne deje automaticky na pozadí, ale ak to predstavuje problém s výkonom, môžete ho spustiť manuálne alebo ho úplne vypnúť alebo vyhlásiť celé oblasti objektov vyňatých z odvozu odpadu ako vylepšenie výkonu.

Dôležitým aspektom Pythonu je jeho dynamika. So všetkým v jazyku, vrátane funkcií a samotných modulov, sa zaobchádza ako s objektmi. To sa deje na úkor rýchlosti (o tom neskôr), ale oveľa ľahšie sa tak píše na vysokej úrovni. Vývojári môžu vykonávať zložité manipulácie s objektmi iba pomocou niekoľkých pokynov a dokonca môžu považovať časti aplikácie za abstrakcie, ktoré je možné v prípade potreby zmeniť.

Python používa významné medzery bol citovaný ako jeden z najlepších a najhorších atribútov Pythonu. Odsadenie v druhom riadku nižšie slúži nielen na čitateľnosť; je to súčasť Pythonovej syntaxe. Tlmočníci Pythonu odmietnu programy, ktoré nepoužívajú správne odsadenie na indikáciu toku riadenia.

s otvoreným („myfile.txt“) ako my_file:

file_lines = [x.rstrip („\ n“) pre x v mojom_súbore]

Syntaktický biely priestor môže spôsobiť zvrásnenie nosov. Niektorí ľudia preto odmietajú Python. Ale prísne pravidlá odsadenia sú v praxi oveľa menej dotieravé, ako by sa teoreticky mohlo zdať, a to aj pri najmenšom počte editorov kódu. Výsledkom je kód, ktorý je čistejší a čitateľnejší.

Ďalším potenciálnym odbočením, najmä pre tých, ktorí prichádzajú z jazykov ako C alebo Java, je to, ako Python narába s písaním premenných. V predvolenom nastavení používa Python dynamické alebo „kačacie“ písanie - skvelé na rýchle kódovanie, ale potenciálne problematické vo veľkých kódových základniach. To znamená, že Python nedávno pridal podporu voliteľného tipovania na typ kompilácie, takže projekty, ktoré by mohli ťažiť zo statického písania, ju môžu používať.

Je Python pomalý? Nie nevyhnutne

Jednou z bežných výhrad o Pythone je, že je pomalý. Objektívne je to pravda. Programy Python všeobecne bežia oveľa pomalšie ako zodpovedajúce programy v C / C ++ alebo Java. Niektoré programy v jazyku Python budú pomalšie o rádovo i viac.

$config[zx-auto] not found$config[zx-overlay] not found