Поддерживать
www.wikidata.ru-ru.nina.az
U etogo termina sushestvuyut i drugie znacheniya sm Python znacheniya Python MFA ˈpʌɪ8 e n v russkom yazyke vstrechayutsya nazvaniya pito n ili pa jton vysokourovnevyj yazyk programmirovaniya obshego naznacheniya s dinamicheskoj strogoj tipizaciej i avtomaticheskim upravleniem pamyatyu orientirovannyj na povyshenie proizvoditelnosti razrabotchika chitaemosti koda i ego kachestva a takzhe na obespechenie perenosimosti napisannyh na nyom programm Yazyk yavlyaetsya polnostyu obektno orientirovannym v tom plane chto vsyo yavlyaetsya obektami Neobychnoj osobennostyu yazyka yavlyaetsya vydelenie blokov koda otstupami Sintaksis yadra yazyka minimalistichen za schyot chego na praktike redko voznikaet neobhodimost obrashatsya k dokumentacii Sam zhe yazyk izvesten kak interpretiruemyj i ispolzuetsya v tom chisle dlya napisaniya skriptov Nedostatkami yazyka yavlyayutsya zachastuyu bolee nizkaya skorost raboty i bolee vysokoe potreblenie pamyati napisannyh na nyom programm po sravneniyu s analogichnym kodom napisannym na kompiliruemyh yazykah takih kak C ili C PythonKlass yazyka obektno orientirovannyjPoyavilsya v 20 fevralya 1991Avtor Gvido van RossumRazrabotchik Python Software Foundation i Gvido van RossumVypusk 3 12 4 6 iyunya 2024 Ispytal vliyanie Algol 68 ABC Modula 3 Si C Perl Java Lisp Haskell APL Klu Dylan Icon i SMLLicenziya Python Software Foundation LicenseSajt python org angl OS krossplatformennost Mediafajly na Vikisklade Python yavlyaetsya multiparadigmennym yazykom programmirovaniya podderzhivayushim imperativnoe procedurnoe strukturnoe obektno orientirovannoe programmirovanie metaprogrammirovanie funkcionalnoe programmirovanie i asinhronnoe programmirovanie Zadachi obobshyonnogo programmirovaniya reshayutsya za schyot dinamicheskoj tipizacii Aspektno orientirovannoe programmirovanie chastichno podderzhivaetsya cherez dekoratory bolee polnocennaya podderzhka obespechivaetsya dopolnitelnymi frejmvorkami Takie metodiki kak kontraktnoe i logicheskoe programmirovanie mozhno realizovat s pomoshyu bibliotek ili rasshirenij Osnovnye arhitekturnye cherty dinamicheskaya tipizaciya avtomaticheskoe upravlenie pamyatyu polnaya introspekciya mehanizm obrabotki isklyuchenij podderzhka mnogopotochnyh vychislenij s globalnoj blokirovkoj interpretatora GIL vysokourovnevye struktury dannyh Podderzhivaetsya razbienie programm na moduli kotorye v svoyu ochered mogut obedinyatsya v pakety Etalonnoj realizaciej Python yavlyaetsya interpretator CPython kotoryj podderzhivaet bolshinstvo aktivno ispolzuemyh platform yavlyayushijsya standartom de fakto yazyka On rasprostranyaetsya pod svobodnoj licenziej Python Software Foundation License pozvolyayushej ispolzovat ego bez ogranichenij v lyubyh prilozheniyah vklyuchaya proprietarnye CPython kompiliruet ishodnye teksty v vysokourovnevyj bajt kod kotoryj ispolnyaetsya v stekovoj virtualnoj mashine K drugim tryom osnovnym realizaciyam yazyka otnosyatsya Jython dlya JVM IronPython dlya CLR NET i PyPy PyPy napisan na podmnozhestve yazyka Python RPython i razrabatyvalsya kak alternativa CPython s celyu povysheniya skorosti ispolneniya programm v tom chisle za schyot ispolzovaniya JIT kompilyacii Podderzhka versii Python 2 zakonchilas v 2020 godu Na tekushij moment aktivno razvivaetsya versiya yazyka Python 3 Razrabotka yazyka vedyotsya cherez predlozheniya po rasshireniyu yazyka PEP angl Python Enhancement Proposal v kotoryh opisyvayutsya novovvedeniya delayutsya korrektirovki soglasno obratnoj svyazi ot soobshestva i dokumentiruyutsya itogovye resheniya Standartnaya biblioteka vklyuchaet bolshoj nabor poleznyh perenosimyh funkcij nachinaya s vozmozhnostej dlya raboty s tekstom i zakanchivaya sredstvami dlya napisaniya setevyh prilozhenij Dopolnitelnye vozmozhnosti takie kak matematicheskoe modelirovanie rabota s oborudovaniem napisanie veb prilozhenij ili razrabotka igr mogut realizovyvatsya posredstvom obshirnogo kolichestva storonnih bibliotek a takzhe integraciej bibliotek napisannyh na Si ili C pri etom i sam interpretator Python mozhet integrirovatsya v proekty napisannye na etih yazykah Sushestvuet i specializirovannyj repozitorij programmnogo obespecheniya napisannogo na Python PyPI Dannyj repozitorij predostavlyaet sredstva dlya prostoj ustanovki paketov v operacionnuyu sistemu i stal standartom de fakto dlya Python Po sostoyaniyu na 2019 god v nyom soderzhalos bolee 175 tysyach paketov Python stal odnim iz samyh populyarnyh yazykov on ispolzuetsya v analize dannyh mashinnom obuchenii DevOps i veb razrabotke a takzhe v drugih sferah vklyuchaya razrabotku igr Za schyot chitabelnosti prostogo sintaksisa i otsutstviya neobhodimosti v kompilyacii yazyk horosho podhodit dlya obucheniya programmirovaniyu pozvolyaya koncentrirovatsya na izuchenii algoritmov konceptov i paradigm Otladka zhe i eksperimentirovanie v znachitelnoj stepeni oblegchayutsya tem faktom chto yazyk yavlyaetsya interpretiruemym Primenyaetsya yazyk mnogimi krupnymi kompaniyami takimi kak Google ili Facebook IstoriyaOsnovnaya statya Istoriya yazyka programmirovaniya Python Logotip ispolzovavshijsya s 1990 h do 2006 godaGvido van Rossum v 2006 godu na OSCON v Portlende shtat Oregon Zadumka po realizacii yazyka poyavilas v konce 1980 h godov a razrabotka ego realizacii nachalas v 1989 godu sotrudnikom gollandskogo instituta CWI Gvido van Rossumom Dlya raspredelyonnoj operacionnoj sistemy Amoeba trebovalsya rasshiryaemyj skriptovyj yazyk i Gvido nachal razrabatyvat Python na dosuge pozaimstvovav nekotorye narabotki dlya yazyka ABC Gvido uchastvoval v razrabotke etogo yazyka orientirovannogo na obuchenie programmirovaniyu V fevrale 1991 goda Gvido opublikoval ishodnyj tekst v gruppe novostej alt sources S samogo nachala Python proektirovalsya kak obektno orientirovannyj yazyk Gvido van Rossum nazval yazyk v chest populyarnogo britanskogo komedijnogo teleshou 1970 h Letayushij cirk Monti Pajtona poskolku avtor byl poklonnikom etogo teleshou kak i mnogie drugie razrabotchiki togo vremeni a v samom shou proslezhivalas nekaya parallel s mirom kompyuternoj tehniki Nalichie druzhelyubnogo otzyvchivogo soobshestva polzovatelej schitaetsya naryadu s dizajnerskoj intuiciej Gvido odnim iz faktorov uspeha Python Razvitie yazyka proishodit soglasno chyotko reglamentirovannomu processu sozdaniya obsuzhdeniya otbora i realizacii dokumentov PEP angl Python Enhancement Proposal predlozhenij po razvitiyu Python 3 dekabrya 2008 goda posle dlitelnogo testirovaniya vyshla pervaya versiya Python 3000 ili Python 3 0 takzhe ispolzuetsya sokrashenie Py3k V Python 3 ustraneny mnogie nedostatki arhitektury s maksimalno vozmozhnym no ne polnym sohraneniem sovmestimosti so starymi versiyami Python Data okonchaniya sroka podderzhki Python 2 7 pervonachalno byla ustanovlena na 2015 god a zatem perenesena na 2020 god iz opaseniya chto bolshaya chast sushestvuyushego koda ne mozhet byt legko perenesena na Python 3 Podderzhka Python 2 byla napravlena lish na uzhe sushestvuyushie proekty novye proekty dolzhny byli ispolzovat Python 3 Oficialno Python 2 7 ne podderzhivaetsya s 1 yanvarya 2020 goda hotya poslednee obnovlenie vyshlo v aprele 2020 Bolshe nikakih ispravlenij bezopasnosti ili drugih uluchshenij dlya Python 2 7 ne budet vypusheno S okonchaniem sroka sluzhby Python 2 x podderzhivayutsya tolko Python 3 6 x i bolee pozdnie versii Koncepciya i filosofiyaOsnovnaya statya Dzen Pajtona Piktogramma dlya fajlov py Yazyk ispolzuet dinamicheskuyu tipizaciyu vmeste s podschyotom ssylok i ciklicheskij sborshik musora dlya menedzhmenta pamyati Takzhe est dinamicheskie dinamicheskoe svyazyvanie kotorye svyazyvayut imena metodov i peremennyh vo vremya vypolneniya programmy Python predlagaet podderzhku funkcionalnogo programmirovaniya v tradiciyah Lispa Tak v Python est funkcii filter map i reduce Nachinaya s python 3 nahoditsya v biblioteke itertools takzhe iz Lispa byli zaimstvovany ponyatiya associativnyh massivov slovarej mnozhestv i generatorov spiskov Standartnaya biblioteka soderzhit dva modulya itertools i functools realizuyushie instrumenty zaimstvovannye iz Haskell i Standard ML Razrabotchiki yazyka Python priderzhivayutsya opredelyonnoj filosofii programmirovaniya nazyvaemoj The Zen of Python Dzen Pito na ili Dzen Pa jtona Eyo tekst vydayotsya interpretatorom Python po komande import this rabotaet odin raz za sessiyu Avtorom etoj filosofii schitaetsya Tim Peters Tim Peters Filosofiya nachinaetsya tak Krasivoe luchshe chem urodlivoe Yavnoe luchshe chem neyavnoe Prostoe luchshe chem slozhnoe Slozhnoe luchshe chem zaputannoe Originalnyj tekst angl Beautiful is better than ugly Explicit is better than implicit Simple is better than complex Complex is better than complicated Vmesto togo chtoby vstroit v yadro Python vsyu funkcionalnost yazyka on byl sproektirovan takim obrazom chtoby byt legko rasshiryaemym Eto sdelalo yazyk populyarnym sredstvom dobavleniya programmiruemyh interfejsov k sushestvuyushim prilozheniyam Videnie Gvido van Rossuma malenkogo yadra s bolshoj standartnoj bibliotekoj i legko rasshiryaemym interpretatorom proistekalo iz negativnogo opyta razrabotki yazyka ABC kotoryj priderzhivalsya protivopolozhnogo podhoda Python stremitsya k bolee prostomu menee gromozdkomu sintaksisu i grammatike predostavlyaya razrabotchikam vybor v ih metodologii kodirovaniya V otlichie ot deviza Perl est neskolko sposobov sdelat eto Python priderzhivaetsya filosofii dolzhen sushestvovat odin i zhelatelno tolko odin ochevidnyj sposob sdelat eto angl chlen Python Software Foundation i avtor knig po Python pishet chto Opisyvat chto to kak umnoe ne schitaetsya komplimentom v kulture Python Razrabotchiki Python stremyatsya izbezhat prezhdevremennoj optimizacii i otvergayut patchi k nekriticheskim chastyam etalonnoj realizacii CPython kotorye mogli by predlozhit neznachitelnoe uvelichenie skorosti za schyot ponyatnosti koda Odnako est sposoby povysheniya proizvoditelnosti Esli v programme est uzkie mesta svyazannye s vypolneniem resursoyomkih operacij na centralnom processore no ne svyazannye s ispolzovaniem operacij vvoda vyvoda to povysit proizvoditelnost vozmozhno za schyot translyacii programmy pri pomoshi Cython v yazyk Si i posleduyushej kompilyacii Trebovatelnye k vychislitelnym resursam chasti programmy takzhe mozhno perepisyvat na yazyk Si i podklyuchat kak otdelnye biblioteki s privyazkami k Python Vazhnaya cel razrabotchikov Python delat ego zabavnym dlya ispolzovaniya Eto bylo otrazheno v nazvanii yazyka dannom v chest Monti Pajtona Takzhe eto otrazheno v inogda igrivom podhode k obuchayushim programmam i spravochnym materialam takim kak primery programm iz dokumentacij kotorye ispolzuyut nazvaniya spam i eggs vmesto ispolzuyushihsya v dokumentacii mnozhestva drugih yazykov foo i bar PortiruemostPython portirovan i rabotaet pochti na vseh izvestnyh platformah ot KPK do mejnfrejmov Sushestvuyut porty pod Microsoft Windows prakticheski pod vse varianty UNIX vklyuchaya FreeBSD i Linux Android Plan 9 Mac OS i macOS iPhone OS iOS 2 0 i vyshe iPadOS Palm OS OS 2 Amiga HaikuOS AS 400 OS 390 Windows Mobile i Symbian Po mere ustarevaniya platformy eyo podderzhka v osnovnoj vetvi yazyka prekrashaetsya Naprimer s versii 2 6 prekrashena podderzhka Windows 95 Windows 98 i Windows ME V versii 3 5 perestala podderzhivatsya Windows XP V versii 3 9 perestala podderzhivatsya Windows Vista i Windows 7 Pri etom v otlichie ot mnogih portiruemyh sistem dlya vseh osnovnyh platform Python imeet podderzhku harakternyh dlya dannoj platformy tehnologij naprimer Microsoft COM DCOM Bolee togo sushestvuet specialnaya versiya Python dlya virtualnoj mashiny Java Jython chto pozvolyaet interpretatoru vypolnyatsya na lyuboj sisteme podderzhivayushej Java pri etom klassy Java mogut neposredstvenno ispolzovatsya iz Python i dazhe byt napisannymi na Python Takzhe neskolko proektov obespechivayut integraciyu s platformoj Microsoft NET osnovnye iz kotoryh IronPython i Python NET Tipy i struktury dannyhPython podderzhivaet dinamicheskuyu tipizaciyu to est tip peremennoj opredelyaetsya tolko vo vremya ispolneniya Poetomu vmesto prisvaivaniya znacheniya peremennoj luchshe govorit o svyazyvanii znacheniya s nekotorym imenem Takzhe Python podderzhivaet podskazki tipov s pomoshyu annotacij dobavlyayushie podderzhku posledovatelnoj tipizacii i pozvolyayushie ispolzovat staticheskij analiz koda Podskazki tipov ne ispolzuyutsya vo vremya kompilyacii i ispolneniya koda neposredstvenno CPython no mogut ispolzovatsya nekotorymi bibliotekami naprimer FastAPI K primitivnym tipam v Python otnosyatsya bulevyj celoe chislo proizvolnoj dliny chislo s plavayushej zapyatoj i kompleksnoe chislo Iz kontejnernyh tipov v Python vstroeny stroka spisok kortezh slovar i mnozhestvo Vse znacheniya yavlyayutsya obektami v tom chisle funkcii metody moduli klassy Dobavit novyj tip mozhno libo napisav klass class libo opredeliv novyj tip v module rasshireniya naprimer napisannom na yazyke C Sistema klassov podderzhivaet nasledovanie odinochnoe i mnozhestvennoe i metaprogrammirovanie Vozmozhno nasledovanie ot bolshinstva vstroennyh tipov i tipov rasshirenij Tipy ispolzuemye v Python Tip Izmenyaemost Opisanie Primerybool Neizmenyaemyj Logicheskij tip span class kc True span span class kc False span bytearray Izmenyaemyj Massiv bajtov span class nb bytearray span span class p span span class sa b span span class s1 Some ASCII span span class p span span class nb bytearray span span class p span span class sa b span span class s2 Some ASCII span span class p span span class nb bytearray span span class p span span class mi 119 span span class p span span class mi 105 span span class p span span class mi 107 span span class p span span class mi 105 span span class p span bytes Neizmenyaemyj Massiv bajtov span class sa b span span class s1 Some ASCII span span class sa b span span class s2 Some ASCII span span class nb bytes span span class p span span class mi 119 span span class p span span class mi 105 span span class p span span class mi 107 span span class p span span class mi 105 span span class p span complex Neizmenyaemyj Kompleksnoe chislo span class mi 3 span span class o span span class mf 2 7 span span class n j span dict Izmenyaemyj Slovar associativnyj massiv predstavlyaet soboj kollekciyu par klyuch znachenie znachenie mozhet byt lyubogo tipa klyuch dolzhen imet heshiruemyj tip span class p span span class s1 key1 span span class p span span class mf 1 0 span span class p span span class mi 3 span span class p span span class kc False span span class p span span class p span types EllipsisType Neizmenyaemyj angl ellipsis Ispolzuetsya v osnovnom v NumPy dlya sokrashyonnogo zadaniya sreza mnogomernogo massiva V samom Python prisutstvuet dlya podderzhki polzovatelskih tipov i takih rasshirenij kak NumPy span class o span span class bp Ellipsis span Dlya NumPy span class n x span span class p span span class n i span span class p span span class o span span class p span span class n j span span class p span chto ekvivalentno span class n x span span class p span span class n i span span class p span span class p span span class p span span class n j span span class p span float Neizmenyaemyj Chislo s plavayushej zapyatoj Stepen tochnosti zavisit ot platformy no na praktike obychno realizuetsya v vide 64 bitnogo 53 razryadnogo chisla span class mf 1 414 span frozenset Neizmenyaemyj Neuporyadochnoe mnozhestvo ne soderzhit dublikatov mozhet soderzhat vnutri sebya razlichnye heshiruemye tipy dannyh span class nb frozenset span span class p span span class mf 4 0 span span class p span span class s1 string span span class p span span class kc True span span class p span int Neizmenyaemyj Celoe chislo neogranichennogo razmera span class mi 42 span list Izmenyaemyj Spisok mozhet soderzhat vnutri sebya razlichnye tipy dannyh span class p span span class mf 4 0 span span class p span span class s1 string span span class p span span class kc True span span class p span span class p span NoneType Neizmenyaemyj Obekt predstavlyayushij soboj otsutstvie znacheniya chasto nazyvaemyj angl v drugih yazykah span class kc None span NotImplementedType Neizmenyaemyj Obekt kotoryj vozvrashaetsya pri peregruzke operatorov kogda tipy operandov ne podderzhivayutsya span class bp NotImplemented span range Neizmenyaemyj Posledovatelnost celyh chisel ot kakogo to odnogo znacheniya do drugogo obychno ispolzuetsya dlya povtoreniya operacii neskolko raz pri pomoshi for span class nb range span span class p span span class mi 1 span span class p span span class mi 10 span span class p span span class nb range span span class p span span class mi 10 span span class p span span class o span span class mi 5 span span class p span span class o span span class mi 2 span span class p span set Izmenyaemyj Neuporyadochnoe mnozhestvo ne soderzhit dublikatov mozhet soderzhat vnutri sebya razlichnye heshiruemye tipy dannyh span class p span span class mf 4 0 span span class p span span class s1 string span span class p span span class kc True span span class p span span class nb set span span class p span str Neizmenyaemyj Strokovyj tip span class s1 Wikipedia span span class s2 Wikipedia span Spanning multiple lines tuple Neizmenyaemyj Kortezh Mozhet soderzhat vnutri sebya razlichnye tipy dannyh Mozhet ispolzovatsya v kachestve neizmenyaemogo spiska i v kachestve zapisej s neimenovannymi polyami V kachestve neizmenyaemogo spiska span class p span span class mf 4 0 span span class p span span class s1 string span span class p span span class kc True span span class p span span class p span span class s1 single element span span class p span span class p span V kachestve zapisej span class n lax coordinates span span class o span span class p span span class mf 33 9425 span span class p span span class o span span class mf 118 408056 span span class p span span class n city span span class p span span class n year span span class p span span class n pop span span class p span span class n chg span span class p span span class n area span span class o span span class p span span class s1 Tokyo span span class p span span class mi 2003 span span class p span span class mi 32450 span span class p span span class mf 0 66 span span class p span span class mi 8014 span span class p span Sintaksis i semantikaOsnovnaya statya Operatory Nabor operatorov dostatochno tradicionen Uslovnyj operator if esli Pri nalichii neskolkih uslovij i alternativ primenyaetsya neobyazatelnyj blok elif sokrashenie ot else if kotoryj mozhet povtoryatsya v kode neogranichennoe chislo raz Esli ni odno iz uslovij ne bylo soblyudeno to vypolnyaetsya neobyazatelnyj blok else inache Operator cikla while Operator iteracii for Operatory obrabotki isklyuchenij try except else finally Operator opredeleniya klassa class Operator opredeleniya funkcii metoda ili generatora def Vnutri vozmozhno primenenie return vozvrat dlya vozvrata iz funkcii ili metoda a v sluchae generatora yield davat Operator sopostavleniya s obrazcom nachinaya s Python 3 10 match case Operatory vyzova isklyuchenij raise i assert Operator pass nichego ne delaet Ispolzuetsya dlya pustyh blokov koda Sistema otstupov Odnoj iz interesnyh sintaksicheskih osobennostej yazyka yavlyaetsya vydelenie blokov koda s pomoshyu otstupov probelov ili tabulyacij poetomu v Python otsutstvuyut operatornye skobki begin end kak v yazyke Paskal ili figurnye skobki kak v Si Takoj tryuk pozvolyaet sokratit kolichestvo strok i simvolov v programme i priuchaet k horoshemu stilyu programmirovaniya S drugoj storony povedenie i dazhe korrektnost programmy mozhet zaviset ot nachalnyh probelov v tekste Tem kto privyk programmirovat na yazykah s yavnym vydeleniem nachala i konca blokov takoe povedenie ponachalu mozhet pokazatsya neintuitivnym i neudobnym Sam Gvido pisal Navernoe samoj spornoj osobennostyu Python yavlyaetsya ispolzovanie otstupov dlya gruppirovki operatorov chto vzyato neposredstvenno iz ABC Eto odna iz osobennostej yazyka kotoraya doroga moemu serdcu Eto delaet kod Python bolee chitabelnym dvumya sposobami Vo pervyh ispolzovanie otstupov umenshaet vizualnoe nagromozhdenie i delaet programmy koroche tem samym sokrashaya obyom vnimaniya neobhodimogo dlya vospriyatiya bazovoj edinicy koda Vo vtoryh eto dayot programmistu menshe svobody v formatirovanii tem samym delaya vozmozhnym bolee edinoobraznyj stil chto oblegchaet chtenie chuzhogo koda Sravnite naprimer tri ili chetyre razlichnyh soglasheniya o razmeshenii figurnyh skobok v Si kazhdoe iz kotoryh imeet silnyh storonnikov Originalnyj tekst angl Perhaps Python s most controversial feature is its use of indentation for statement grouping which derives directly from ABC It is one of the language s features that is dearest to my heart It makes Python code more readable in two ways First the use of indentation reduces visual clutter and makes programs shorter thus reducing the attention span needed to take in a basic unit of code Second it allows the programmer less freedom in formatting thereby enabling a more uniform style which makes it easier to read someone else s code Compare for instance the three or four different conventions for the placement of braces in C each with strong proponents Vyrazheniya Sostav sintaksis associativnost i prioritet operacij dostatochno privychny dlya yazykov programmirovaniya i prizvany minimizirovat upotreblenie skobok Esli sravnivat s matematikoj to prioritety operatorov zerkaliruyut sootvetstvuyushie v matematike pri etom operator prisvoeniya znacheniya sootvetstvuet tipografskomu Hotya prioritety operacij pozvolyayut ne ispolzovat skobki vo mnogih sluchayah na analiz bolshih vyrazhenij mozhet tratitsya lishnee vremya v rezultate chego v takih sluchayah vygodnee yavno rasstavlyat skobki Otdelno stoit upomyanut operaciyu formatirovaniya dlya strok rabotaet po analogii s funkciej printf iz Si kotoraya ispolzuet tot zhe simvol chto i vzyatie ostatka ot deleniya gt gt gt str var world gt gt gt print Hello s str var Hello world V versii 3 6 byli dobavleny formatirovannye strokovye literaly ili f stroki kotorye delayut kod bolee chitaemym i lakonichnym gt gt gt str var world gt gt gt print f Hello str var vyvod s ispolzovaniem f stroki Hello world Python imeet udobnye cepochechnye sravneniya 1 lt a lt 10 and 1 lt b lt 20 Krome togo logicheskie operacii or i and yavlyayutsya lenivymi esli dlya vychisleniya znacheniya operacii dostatochno pervogo operanda etot operand i yavlyaetsya rezultatom v protivnom sluchae vychislyaetsya vtoroj operand logicheskoj operacii Eto osnovyvaetsya na svojstvah algebry logiki naprimer esli odin argument operacii ILI or yavlyaetsya istinoj to i rezultat etoj operacii vsegda yavlyaetsya istinoj V sluchae esli vtoroj operand yavlyaetsya slozhnym vyrazheniem eto pozvolyaet sokratit izderzhki na ego vychislenie Etot fakt shiroko ispolzovalsya do versii 2 5 vmesto uslovnoj konstrukcii a lt b and menshe or bolshe ili ravno Vstroennye tipy dannyh kak pravilo imeyut osobyj sintaksis dlya svoih literalov zapisannyh v ishodnom kode konstant stroka i Yunikod stroka odnovremenno stroka i Yunikod stroka odnovremenno tozhe stroka i Yunikod stroka odnovremenno True or False bulevy literaly 3 14 chislo s plavayushej zapyatoj 0b1010 0o12 0xA chisla v dvoichnoj vosmerichnoj i shestnadcaterichnoj sistemah schisleniya 1 2 j kompleksnoe chislo 1 2 a spisok 1 2 a kortezh a 1 b B slovar a 6 8 8 mnozhestvo lambda x x 2 anonimnaya funkciya i for i in range 10 generator Dlya spiskov i drugih posledovatelnostej Python predlagaet nabor operacij nad srezami Osobennostyu yavlyaetsya indeksaciya kotoraya mozhet pokazatsya novichku strannoj no raskryvaet svoyu soglasovannost po mere ispolzovaniya Indeksy elementov spiska nachinayutsya s nulya Zapis sreza s N M oznachaet chto v srez popadayut vse elementy ot N vklyuchitelno do M ne vklyuchaya Pri etom indeks mozhno ne ukazyvat Naprimer zapis s M oznachaet chto v srez popadayut vse elementy s samogo nachala zapis s N oznachaet chto popadayut vse elementy do konca sreza zapis s oznachaet chto popadayut vse elementy s nachala i do konca Imena Imya identifikator mozhet nachinatsya s bukvy lyubogo alfavita v Yunikode lyubogo registra ili podchyorkivaniya posle chego v imeni mozhno ispolzovat i cifry V kachestve imeni nelzya ispolzovat klyuchevye slova ih spisok mozhno uznat po import keyword print keyword kwlist i nezhelatelno pereopredelyat vstroennye imena Imena nachinayushiesya s simvola podchyorkivaniya imeyut specialnoe znachenie V kazhdoj tochke programmy interpretator imeet dostup k tryom prostranstvam imyon to est otobrazheniyam imyon v obekty lokalnomu globalnomu i vstroennomu Oblasti vidimosti imyon mogut byt vlozhennymi drug v druga vnutri opredelyaemoj funkcii vidny imena iz okruzhayushego bloka koda Na praktike s oblastyami vidimosti i svyazyvaniem imyon svyazano neskolko pravil horoshego tona o kotoryh mozhno podrobnee uznat iz dokumentacii Stroki dokumentacii Python predlagaet mehanizm dokumentirovaniya koda pydoc V nachalo kazhdogo modulya klassa funkcii vstavlyaetsya stroka dokumentacii angl Stroki dokumentacii ostayutsya v kode na moment vremeni ispolneniya i v yazyk vstroen dostup k dokumentacii peremennaya doc chto ispolzuetsya sovremennymi IDE Integrirovannaya sreda razrabotki naprimer Eclipse V interaktivnom rezhime mozhno poluchit pomosh sgenerirovat gipertekstovuyu dokumentaciyu po celomu modulyu ili dazhe primenit angl dlya avtomaticheskogo testirovaniya modulya Paradigmy programmirovaniyaPython multiparadigmennyj yazyk programmirovaniya Polnostyu podderzhivayutsya obektno orientirovannoe strukturnoe obobshyonnoe funkcionalnoe programmirovanie i metaprogrammirovanie Bazovaya podderzhka aspektno orientirovannogo programmirovaniya realizuetsya za schyot metaprogrammirovaniya Mnozhestvo drugih metodik v tom chisle kontraktnoe i logicheskoe programmirovanie mozhno realizovat s pomoshyu rasshirenij Obektno orientirovannoe programmirovanie Dizajn yazyka Python postroen vokrug obektno orientirovannoj modeli programmirovaniya Realizaciya OOP v Python yavlyaetsya horosho produmannoj no vmeste s tem dostatochno specificheskoj po sravneniyu s drugimi obektno orientirovannymi yazykami V yazyke vsyo yavlyaetsya obektami libo ekzemplyarami klassov libo ekzemplyarami metaklassov Isklyucheniem yavlyaetsya bazovyj vstroennyj metaklass b type b Takim obrazom klassy na samom dele yavlyayutsya ekzemplyarami metaklassov a proizvodnye metaklassy yavlyayutsya ekzemplyarami metaklassa b type b Metaklassy yavlyayutsya chastyu koncepcii metaprogrammirovaniya i predostavlyayut vozmozhnost upravleniya nasledovaniem klassov chto pozvolyaet sozdavat abstraktnye klassy registrirovat klassy ili dobavlyat v nih kakoj libo programmnyj interfejs v ramkah biblioteki ili frejmvorka Klassy po svoej suti predstavlyayut plan ili opisanie togo kak sozdat obekt i hranyat v sebe opisanie atributov obekta i metodov dlya raboty s nim Paradigma OOP osnovyvaetsya na inkapsulyacii nasledovanii i polimorfizme Inkapsulyaciya v Python predstavlena vozmozhnostyu hraneniya publichnyh i skrytyh atributov polej v obekte s predostavleniem metodov dlya raboty s nimi pri etom na samom dele vse atributy yavlyayutsya publichnymi no dlya pometki skrytyh atributov sushestvuet soglashenie ob imenovanii Nasledovanie pozvolyaet sozdavat proizvodnye obekty bez neobhodimosti povtornogo napisaniya koda a polimorfizm zaklyuchaetsya v vozmozhnosti pereopredeleniya lyubyh metodov obekta v Python vse metody yavlyayutsya virtualnymi a takzhe v peregruzke metodov i operatorov Peregruzka metodov v Python realizuetsya za schyot vozmozhnosti vyzova odnogo i togo zhe metoda s raznym naborom argumentov Osobennostyu Python yavlyaetsya vozmozhnost modificirovat klassy posle ih obyavleniya dobavlyaya v nih novye atributy i metody takzhe mozhno modificirovat i sami obekty v rezultate chego klassy mogut ispolzovatsya kak struktury dlya hraneniya proizvolnyh dannyh V Python podderzhivaetsya mnozhestvennoe nasledovanie Samo po sebe mnozhestvennoe nasledovanie yavlyaetsya slozhnym i ego realizacii stalkivayutsya s problemami razresheniya kollizij imyon mezhdu roditelskimi klassami i s vozmozhnym povtornym nasledovaniem ot odnogo i togo zhe klassa v ierarhii V Python metody vyzyvayutsya soglasno poryadku razresheniya metodov MRO kotoryj osnovan na algoritme C3 linearizacii v obychnyh sluchayah pri napisanii programm ne trebuetsya znat princip raboty dannogo algoritma ponimanie zhe mozhet potrebovatsya pri sozdanii netrivialnyh ierarhij klassov Vozmozhnosti i osobennosti specifichnye dlya Python Specialnye metody upravlyayushie zhiznennym ciklom obekta konstruktory destruktory Peregruzka operatorov vseh krome is i simvolnyh logicheskih Svojstva imitaciya polya s pomoshyu funkcij Upravlenie dostupom k polyam emulyaciya polej i metodov chastichnyj dostup i t p Metody dlya upravleniya naibolee rasprostranyonnymi operaciyami istinnostnoe znachenie len glubokoe kopirovanie serializaciya iteraciya po obektu Polnaya introspekciya Klassovye i staticheskie metody klassovye polya Klassy vlozhennye v funkcii i klassy Vozmozhnost modificirovat obekty vo vremya ispolneniya programmy Obobshyonnoe programmirovanie Yazyki s podderzhkoj dinamicheskoj tipizacii i obektno orientirovannogo programmirovaniya obychno ne rassmatrivayutsya v ramkah obobshyonnogo programmirovaniya poskolku zadachi obobshyonnogo programmirovaniya reshayutsya za schyot otsutstviya ogranichenij na tipy dannyh V Python obobshyonnoe programmirovanie so strogoj tipizaciej dostigaetsya ispolzovaniem sredstv yazyka sovmestno so vneshnimi analizatorami koda takimi kak Mypy Funkcionalnoe programmirovanie Nesmotrya na to chto Python iznachalno ne zadumyvalsya kak yazyk funkcionalnogo programmirovaniya on podderzhivaet funkcionalnyj stil programmirovaniya v chastnosti funkciya yavlyaetsya obektom pervogo klassa funkcii vysshih poryadkov rekursiya fokus na rabotu so spiskami analog zamykanij chastichnoe primenenie funkcii s pomoshyu metoda partial vozmozhnost realizacii drugih sredstv na samom yazyke naprimer karring Odnako v otlichie ot bolshinstva yazykov neposredstvenno orientirovannyh na funkcionalnoe programmirovanie Python ne yavlyaetsya chistym yazykom programmirovaniya i kod ne zashishyon ot pobochnyh effektov V standartnoj biblioteke Python sushestvuyut specialnye pakety operator i functools dlya funkcionalnogo programmirovaniya Metaprogrammirovanie Etot razdel stati eshyo ne napisan Zdes mozhet raspolagatsya otdelnyj razdel Pomogite Vikipedii napisav ego 8 fevralya 2023 Python podderzhivaet metaprogrammirovanie Asinhronnoe programmirovanie Etot razdel ne zavershyon Vy pomozhete proektu ispraviv i dopolniv ego sleduyushej informaciej Asinhronnoe programmirovanie na Python Python nachinaya s 3 5 stal podderzhivat asinhronnoe programmirovanie Poyavilis operatory async i await a takzhe biblioteka asyncioimport asyncio async def main print Hello await asyncio sleep 1 print World asyncio run main async yavlyaetsya atributom kotoryj sozdaet asinhronnuyu funkciyu await pozvolyaet vypolnyat asinhronnye generatoryVozmozhnostiModuli i pakety Programmnoe obespechenie prilozhenie ili biblioteka na Python oformlyaetsya v vide modulej kotorye v svoyu ochered mogut byt sobrany v pakety Moduli mogut raspolagatsya kak v katalogah tak i v ZIP arhivah Moduli mogut byt dvuh tipov po svoemu proishozhdeniyu moduli napisannye na chistom Python i moduli rasshireniya extension modules napisannye na drugih yazykah programmirovaniya Naprimer v standartnoj biblioteke est chistyj modul pickle i ego analog na Si cPickle Modul oformlyaetsya v vide otdelnogo fajla a paket v vide otdelnogo kataloga Podklyuchenie modulya k programme osushestvlyaetsya operatorom import Posle importa modul predstavlen otdelnym obektom dayushim dostup k prostranstvu imyon modulya V hode vypolneniya programmy modul mozhno perezagruzit funkciej reload Introspekciya Python podderzhivaet polnuyu introspekciyu vremeni ispolneniya Eto oznachaet chto dlya lyubogo obekta mozhno poluchit vsyu informaciyu o ego vnutrennej strukture Primenenie introspekcii yavlyaetsya vazhnoj chastyu togo chto nazyvayut Pythonic style i shiroko primenyaetsya v bibliotekah i frejmvorkah Python takih kak PLY Cherry Django i dr znachitelno ekonomya vremya ispolzuyushego ih programmista Neobhodimye dlya introspekcii dannye hranyatsya v specialnyh atributah Tak naprimer poluchit vse polzovatelskie atributy bolshinstva obektov mozhno iz specialnogo atributa slovarya ili drugogo obekta predostavlyayushego interfejs dict dict gt gt gt class x object pass gt gt gt f x gt gt gt f attr 12 gt gt gt print f dict attr 12 gt gt gt print x dict t k klassy tozhe yavlyayutsya ekzemplyarami obekta type to i oni podderzhivayut etot tip introspekcii dict lt attribute dict of x objects gt module Est takzhe drugie atributy imena i naznachenie kotoryh zavisyat ot obekta gt gt gt def f pass gt gt gt f func code co code poluchenie bajtokoda funkcii d x00 x00 S gt gt gt f class specialnyj atribut ssylka na klass dannogo obekta lt type function gt Podavlyayushee bolshinstvo atributov podderzhivayushih introspekciyu yavlyaetsya klassovym i ih v svoyu ochered mozhno poluchit iz obj class dict Chast informacii unasledovannuyu ot bazovogo klassa vse obekty ispolzuyut sovmestno chto pozvolyaet ekonomit pamyat Dlya udobstva polucheniya introspektivnoj informacii v Python est modul inspect gt gt gt def f x y 10 mp pass gt gt gt inspect getargspec f x y None mp 10 S pomoshyu modulya new vozmozhen obratnyj process postroeniya obekta iz sostavnyh chastej na etape ispolneniya gt gt gt def f i return j i gt gt gt j 2 gt gt gt f 1 3 gt gt gt import new gt gt gt g new function f func code j 23 gt gt gt g 1 24 Obrabotka isklyuchenij Obrabotka isklyuchenij podderzhivaetsya v Python posredstvom operatorov try except else finally raise obrazuyushih blok obrabotki isklyucheniya V obshem sluchae blok vyglyadit sleduyushim obrazom try Zdes kod kotoryj mozhet vyzvat isklyuchenie raise Exception message Exception eto odin iz standartnyh tipov isklyucheniya vsego lish klass mozhet ispolzovatsya lyuboj drugoj v tom chisle svoj except Tip isklyucheniya1 Tip isklyucheniya2 as Peremennaya Kod v bloke vypolnyaetsya esli tip isklyucheniya sovpadaet s odnim iz tipov Tip isklyucheniya1 Tip isklyucheniya2 ili yavlyaetsya naslednikom odnogo iz etih tipov Poluchennoe isklyuchenie dostupno v neobyazatelnoj Peremennoj except Tip isklyucheniya3 Tip isklyucheniya4 as Peremennaya Kolichestvo blokov except ne ogranicheno raise Sgenerirovat isklyuchenie poverh poluchennogo bez parametrov povtorno sgenerirovat poluchennoe except Budet vypolneno pri lyubom isklyuchenii ne obrabotannom tipizirovannymi blokami except else Kod bloka vypolnyaetsya esli ne bylo pojmano isklyuchenij finally Budet ispolneno v lyubom sluchae vozmozhno posle sootvetstvuyushego bloka except ili else Sovmestnoe ispolzovanie else except i finally stalo vozmozhno tolko nachinaya s Python 2 5 Informaciya o tekushem isklyuchenii vsegda dostupna cherez sys exc info Krome znacheniya isklyucheniya Python takzhe sohranyaet sostoyanie steka vplot do tochki vozbuzhdeniya isklyucheniya tak nazyvaemyj traceback V otlichie ot kompiliruemyh yazykov programmirovaniya v Python ispolzovanie isklyucheniya ne privodit k znachitelnym nakladnym rashodam a zachastuyu dazhe pozvolyaet uskorit ispolnenie programm i ochen shiroko ispolzuetsya Isklyucheniya soglasuyutsya s filosofiej Python 10 j punkt dzena Python Oshibki nikogda ne dolzhny umalchivatsya i yavlyayutsya odnim iz sredstv podderzhki utinoj tipizacii Inogda vmesto yavnoj obrabotki isklyuchenij udobnee ispolzovat blok with dostupen nachinaya s Python 2 5 Iteratory V programmah na Python shiroko ispolzuyutsya iteratory Cikl for mozhet rabotat kak s posledovatelnostyu tak i s iteratorom Bolshinstvo kollekcij predostavlyayut iteratory iteratory mogut takzhe opredelyatsya polzovatelem dlya sobstvennyh obektov Modul itertools standartnoj biblioteki soderzhit sredstva raboty s iteratorami Generatory Odnoj iz interesnyh vozmozhnostej yazyka yavlyayutsya generatory funkcii sohranyayushie vnutrennee sostoyanie znacheniya lokalnyh peremennyh i tekushuyu instrukciyu sm takzhe soprogrammy Generatory mogut ispolzovatsya kak iteratory dlya struktur dannyh i dlya lenivyh vychislenij Pri vyzove generatora funkciya nemedlenno vozvrashaet obekt iterator kotoryj hranit tekushuyu tochku ispolneniya i sostoyanie lokalnyh peremennyh funkcii Pri zaprose sleduyushego znacheniya posredstvom metoda next neyavno vyzyvaemogo v cikle for generator prodolzhaet ispolnenie funkcii ot predydushej tochki ostanovki do sleduyushego operatora yield ili return V Python 2 4 poyavilis generatornye vyrazheniya vyrazheniya dayushie v rezultate generator Generatornye vyrazheniya pozvolyayut sekonomit pamyat tam gde inache trebovalos by ispolzovat spisok s promezhutochnymi rezultatami gt gt gt sum i for i in range 1 100 if i 2 0 2500 V etom primere summiruyutsya vse nechyotnye chisla ot 1 do 99 Nachinaya s versii 2 5 Python podderzhivaet polnocennye soprocedury teper v generator mozhno peredavat znacheniya s pomoshyu metoda send i vozbuzhdat v ego kontekste isklyucheniya s pomoshyu metoda throw Takzhe Python podderzhivaet vlozhennye generatory Naprimer dlya sozdaniya dvumernogo massiva nuzhno razmestit generator spiska yavlyayushegosya strokoj vnutri generatora vseh strok 0 for j in range m for i in range n Upravlenie kontekstom vypolneniya V Python 2 5 poyavilis sredstva dlya upravleniya kontekstom vypolneniya bloka koda operator with i modul contextlib Sm primer Operator mozhet primenyatsya v teh sluchayah kogda do i posle nekotoryh dejstvij dolzhny obyazatelno vypolnyatsya nekotorye drugie dejstviya nezavisimo ot vozbuzhdyonnyh v bloke isklyuchenij ili operatorov return fajly dolzhny byt zakryty resursy osvobozhdeny perenapravlenie standartnogo vvoda vyvoda zakoncheno i t p Operator uluchshaet chitaemost koda a znachit pomogaet predotvrashat oshibki Dekoratory Ne sleduet putat s odnoimyonnym shablonom proektirovaniya Etot razdel stati eshyo ne napisan Zdes mozhet raspolagatsya otdelnyj razdel Pomogite Vikipedii napisav ego 8 fevralya 2023 Dekoratory funkcij vyzyvaemye obekty kotorye prinimayut druguyu funkciyu v kachestve argumenta Dekoratory funkcij mogut proizvodit operacii s funkciej i vozvrashayut libo samu funkciyu libo druguyu zamenyayushuyu eyo funkciyu ili vyzyvaemyj obekt To est esli v kode ranee byl propisan dekorator nazvannyj decorate to sleduyushij kod decorate def target print running target ekvivalenten etomu def target print running target target decorate target Eto pozvolyaet sokratit ispolzovanie koda Primer ispolzovaniya dekoratora funkcii gt gt gt def deco func def inner print running inner return inner gt gt gt deco def target print running target gt gt gt target running inner gt gt gt target lt function deco lt locals gt inner at 0 10063b598 gt Sushestvuyut dekoratory klassov Regulyarnye vyrazheniya Format regulyarnyh vyrazhenij unasledovan iz Perl s nekotorymi otlichiyami Dlya ih ispolzovaniya trebuetsya importirovat modul re yavlyayushijsya chastyu standartnoj biblioteki Standartnaya bibliotekaPython postavlyaetsya Takuyu metaforu ispolzovali razrabotchiki chtoby podcherknut bogatuyu standartnuyu biblioteku yazyka Bogataya standartnaya biblioteka yavlyaetsya odnoj iz privlekatelnyh storon Python Zdes imeyutsya sredstva dlya raboty so mnogimi setevymi protokolami i formatami Interneta naprimer moduli dlya napisaniya HTTP serverov i klientov dlya razbora i sozdaniya pochtovyh soobshenij dlya raboty s XML i t p Nabor modulej dlya raboty s operacionnoj sistemoj pozvolyaet pisat kross platformennye prilozheniya Sushestvuyut moduli dlya raboty s regulyarnymi vyrazheniyami tekstovymi kodirovkami multimedijnymi formatami kriptograficheskimi protokolami arhivami serializacii dannyh podderzhka yunit testirovaniya i dr Esli modulej standartnoj biblioteki ne hvataet to est vozmozhnost ispolzovat drugie kanaly polucheniya bibliotek Odnim iz kanalov rasprostraneniya i obnovleniya paketov dlya Python yavlyaetsya PyPI angl Python Package Index Storonnie bibliotekiOsnovnaya statya Storonnie biblioteki Python Zdes perechisleny samye populyarnye biblioteki Python Iskusstvennyj intellekt TensorFlow Rabota s bazami dannyh Biblioteki dlya raboty s bazami dannyh Matematicheskie vychisleniya NumPy Veb vychisleniya Django Sozdanie igr PygamePrimery programmV state Primery programm na yazyke Python Vikiversiteta sobrany primery nebolshih programm demonstriruyushih nekotorye vozmozhnosti yazyka Python i ego standartnoj biblioteki Programma Hello World mozhet byt napisana odnoj strokoj print Hello World Vychislenie faktoriala chisla 10 10 def factorial n if n lt 0 raise ArithmeticError Faktorial otricatelnogo chisla f 1 for i in range 2 n 1 f i return f print factorial 10 3628800 Realizaciya s pomoshyu rekursii def factorial n if n lt 0 raise ArithmeticError Faktorial otricatelnogo chisla if n 0 or n 1 return 1 else return factorial n 1 n print factorial 10 Profilirovanie i optimizaciya kodaV standartnoj biblioteke Python imeetsya profajler modul profile kotoryj mozhno ispolzovat dlya sbora statistiki o vremeni raboty otdelnyh funkcij Dlya resheniya voprosa o tom kakoj variant koda rabotaet bystree mozhno ispolzovat modul timeit Proizvodimye v sleduyushej programme izmereniya pozvolyayut vyyasnit kakoj iz variantov konkatenacii strok bolee effektiven from timeit import Timer tmp Python 3 2 2 default Jun 12 2011 15 08 59 MSC v 1500 32 bit Intel on win32 def case1 A inkrementalnye konkatenacii v cikle s for i in range 10000 s tmp def case2 B cherez promezhutochnyj spisok i metod join s for i in range 10000 s append tmp s join s def case3 V spiskovoe vyrazhenie i metod join return join tmp for i in range 10000 def case4 G generatornoe vyrazhenie i metod join return join tmp for i in range 10000 for v in range 1 5 print Timer func from main import case s as func v timeit 200 Kak i v lyubom yazyke programmirovaniya v Python imeyutsya svoi priyomy optimizacii koda Optimizirovat kod mozhno ishodya iz razlichnyh chasto konkuriruyushih drug s drugom kriteriev uvelichenie bystrodejstviya umenshenie obyoma trebuemoj operativnoj pamyati kompaktnost ishodnogo koda i t d Chashe vsego programmy optimiziruyut po vremeni ispolneniya Zdes est neskolko ochevidnyh dlya opytnyh programmistov pravil Ne nuzhno optimizirovat programmu esli skorost eyo vypolneniya dostatochna Ispolzuemyj algoritm imeet opredelyonnuyu vremennuyu slozhnost poetomu pered optimizaciej koda programmy stoit snachala peresmotret algoritm Stoit ispolzovat gotovye i otlazhennye funkcii i moduli dazhe esli dlya etogo nuzhno nemnogo obrabotat dannye Naprimer v Python est vstroennaya funkciya sorted Profilirovanie pomozhet vyyasnit uzkie mesta Optimizaciyu nuzhno nachinat s nih Python imeet sleduyushie osobennosti i svyazannye s nimi pravila optimizacii Vyzov funkcij yavlyaetsya dostatochno dorogostoyashej operaciej poetomu vnutri vlozhennyh ciklov nuzhno staratsya izbegat vyzova funkcij ili naprimer perenosit cikl v funkcii Funkciya obrabatyvayushaya posledovatelnost effektivnee chem obrabotka toj zhe posledovatelnosti v cikle vyzovom funkcii Starajtes vynesti iz gluboko vlozhennogo cikla vsyo chto mozhno vychislit vo vneshnih ciklah Dostup k lokalnym peremennym bolee bystryj chem k globalnym ili chem dostup k polyam Optimizator psyco mozhet pomoch uskorit rabotu modulya programmy pri uslovii chto modul ne ispolzuet dinamicheskih svojstv yazyka Python V sluchae esli modul provodit massirovannuyu obrabotku dannyh i optimizaciya algoritma i koda ne pomogaet mozhno perepisat kriticheskie uchastki skazhem na yazyke Si ili Pyrex Instrument pod nazvaniem Pychecker pomozhet proanalizirovat ishodnyj kod na Python i vydat rekomendacii po najdennym problemam naprimer neispolzuemye imena izmenenie signatury metoda pri ego peregruzke i t p V hode takogo staticheskogo analiza ishodnogo koda mogut byt vyyavleny i oshibki Pylint prizvan reshat blizkie zadachi no imeet uklon v storonu proverki stilya koda poiska koda s zapashkom Sravnenie s drugimi yazykamiVybor yazyka obychno zavisit ot reshaemyh zadach osobennostej yazykov i nalichiya bibliotek trebuemyh dlya resheniya zadachi Odna i ta zhe zadacha napisannaya na raznyh yazykah mozhet silno raznitsya po effektivnosti ispolneniya v tom chisle razlichiya mogut byt i pri ispolnenii v raznyh operacionnyh sistemah ili pri ispolzovanii raznyh kompilyatorov V obshem sluchae yazyki mozhno podelit na interpretiruemye skriptovye kompiliruemye v promezhutochnoe predstavlenie i kompiliruemye chto vliyaet na proizvoditelnost i potreblenie pamyati Python prinyato otnosit k interpretiruemym Takzhe otdelnye yazyki mogut imet svoi silnye storony v sluchae Python vydelyaetsya lyogkost v napisanii programm C i Java Python sravnivaetsya s C Java s tochki zreniya lakonichnosti prostoty i gibkosti Python Mozhno sravnit Hello world programmy zapisannye na kazhdom iz yazykov Sravnenie programm Hello world C Java Python include lt iostream gt int main std cout lt lt Hello world lt lt std endl return 0 public class HelloClass public static void main String args System out println Hello world print Hello world Kasatelno OOP v Python v otlichie ot C i Java otsutstvuyut modifikatory dostupa k polyam i metodam klassa atributy i polya u obektov mogut sozdavatsya na letu v hode ispolneniya programmy a vse metody yavlyayutsya virtualnymi Po sravneniyu s Java Python pozvolyaet takzhe peregruzhat operatory chto dayot vozmozhnost ispolzovat vyrazheniya blizkie k estestvennym V sovokupnosti podhod k OOP v Python uproshaet programmirovanie delaet kod bolee ponyatnym i odnovremenno dobavlyaet gibkosti yazyku S drugoj storony skorost vypolneniya koda na Python kak i drugih interpretiruemyh yazykov znachitelno nizhe chem skorost vypolneniya analogichnogo koda na C i obychno ozhidaetsya nizhe chem v Java Kod na C poluchaetsya proizvoditelnee Python pri etom zanimaet bolshe strok Soglasno issledovaniyam algoritmov primenyaemyh v bioinformatike Python pokazal sebya bolee gibkim chem C a Java okazalas kompromissnym resheniem mezhdu proizvoditelnostyu C i gibkostyu Python V Java i Python vse obekty sozdayutsya v kuche v to vremya kak C pozvolyaet sozdavat obekty kak v kuche tak i na steke v zavisimosti ot ispolzuemogo sintaksisa Na proizvoditelnost takzhe vliyaet sposob dostupa k dannym v pamyati V C i Java dostup k dannym proishodit po postoyannym smesheniyam v pamyati v to vremya kak v Python cherez hesh tablicy Ispolzovanie ukazatelej v C mozhet byt dovolno slozhnym dlya ponimaniya sredi novichkov i ovladenie navykami pravilnogo ispolzovaniya ukazatelej mozhet zanyat nekotoroe vremya Go Etot razdel slishkom korotkij Pozhalujsta uluchshite i dopolnite ego Go i Python kardinalno razlichayushiesya yazyki tem ne menee oni chasto sravnivayutsya odin s drugim iz za obshej nishi bekenda veb prilozhenij Po vyrazheniyu Dzhejsona Kinkejda Go obedinyaet proizvoditelnost i bezopasnost kompiliruemyh yazykov takih kak C so skorostyu razrabotki na dinamicheskih yazykah takih kak Python V kakoj to mere eto dejstvitelno tak Go iznachalno razrabotan kak strogo staticheski tipizirovannyj kompiliruemyj yazyk podderzhivayushij maksimum vozmozhnostej dinamicheskih yazykov pri kotorom eshyo mozhno obespechit effektivnuyu kompilyaciyu i sohranit proizvoditelnost kompiliruemyh programm Obshimi dlya oboih yazykov yavlyaetsya ispolzovanie avtomaticheskogo upravleniya pamyatyu nalichie vstroennyh dinamicheskih kollekcij massivov i slovarej podderzhka srezov razvityj mehanizm modulej prostoj i minimalistichnyj sintaksis Razlichij gorazdo bolshe i ne vsegda mozhno odnoznachno ukazat v polzu kakogo iz yazykov oni govoryat Dinamicheskie vozmozhnosti Esli Python yavlyaetsya polnostyu dinamicheskim yazykom i prakticheski lyubye elementy programmy mogut menyatsya vo vremya ispolneniya vklyuchaya konstruirovanie na letu novyh tipov i modifikaciyu sushestvuyushih to Go staticheskij yazyk s dostatochno ogranichennymi vozmozhnostyami refleksii rabotayushej tolko v otnoshenii sozdannyh pri razrabotke tipov dannyh V nekotoroj mere zamenoj dinamicheskih vozmozhnostej v Go yavlyaetsya kodogeneraciya obespechivaemaya prostotoj sintaksisa i nalichiem neobhodimyh instrumentov i sistemnyh bibliotek Takzhe v Go 1 18 dobavili podderzhku sredstv obobshyonnogo programmirovaniya generics Perl Oba yazyka yavlyayutsya interpretiruemymi kompiliruyutsya v promezhutochnoe predstavlenie kotoroe zatem otpravlyaetsya na ispolnenie V sluchae Python generiruetsya promezhutochnyj bajt kod a kompilyator Perl generiruet sintaksicheskoe derevo Upravlenie pamyatyu v oboih yazykah avtomaticheskoe a sami yazyki ispolzuyutsya kak skriptovye i horosho podhodyat dlya napisaniya veb prilozhenij Podhod v napisaniya koda Python predpolagaet luchshee ponimanie listinga programmy v usherb proizvoditelnosti togda kak v Perl bolshe svobody v sintaksise chto mozhet privesti k tomu chto programmy na Perl stanovyatsya nechitabelny dlya programmistov ne rabotayushih s dannym yazykom MATLAB i R Etot razdel stati eshyo ne napisan Zdes mozhet raspolagatsya otdelnyj razdel Pomogite Vikipedii napisav ego 8 fevralya 2023 Python MATLAB i R ispolzuyutsya v obrabotke dannyh i v obuchenii studentov osnovam matematiki i statistiki R yavlyaetsya yazykom dlya vypolneniya statisticheskih raschyotov v to vremya kak MATLAB mozhet schitatsya yazykom programmirovaniya naryadu s Python Yazyki na kotorye povliyal Python Python kak vesma populyarnyj yazyk programmirovaniya povliyal na sleduyushie yazyki CoffeeScript imeet sintaksis vdohnovlyonnyj Python ECMAScript JavaScript zaimstvoval iteratory i generatory iz Python Go pri silnejshih ideologicheskih razlichiyah zaimstvoval u dinamicheskih yazykov takih kak Python vstroennye slovari dinamicheskie massivy srezy Groovy byl sozdan s motivaciej privnesti filosofiyu Python na Java Julia byla zadumana kak takaya zhe prigodnaya dlya obshego programmirovaniya kak i Python Nim ispolzuet sistemu otstupov i analogichnyj sintaksis Ruby Yukihiro Macumoto sozdatel yazyka skazal Ya hotel skriptovyj yazyk kotoryj byl by bolee moshnym chem Perl i bolee obektno orientirovannym chem Python Vot pochemu ya reshil sozdat svoj sobstvennyj yazyk Swift vo vremya razrabotki bral idei struktury yazyka iz Python a takzhe iz Objective C Rust Haskell Ruby C CLU KritikaNizkoe bystrodejstvie Klassicheskij Python imeet obshij so mnogimi drugimi interpretiruemymi yazykami nedostatok sravnitelno nevysokuyu skorost vypolneniya programm V nekotoroj stepeni situaciyu uluchshaet keshirovanie bajt koda rasshireniya pyc i do versii 3 5 pyo kotoroe pozvolyaet interpretatoru ne tratit vremya na sintaksicheskij razbor teksta modulej pri kazhdom zapuske Sushestvuyut realizacii yazyka Python vvodyashie vysokoproizvoditelnye virtualnye mashiny v kachestve bekenda kompilyatora Primerami takih realizacij mozhet sluzhit PyPy baziruyushijsya na RPython bolee rannej iniciativoj yavlyaetsya proekt Parrot Ozhidaetsya chto ispolzovanie virtualnoj mashiny tipa LLVM privedyot k tem zhe rezultatam chto i ispolzovanie analogichnyh podhodov dlya realizacij yazyka Java gde nizkaya vychislitelnaya proizvoditelnost v osnovnom preodolena Odnako nelzya zabyvat chto dinamicheskij harakter Python delaet neizbezhnymi dopolnitelnye nakladnye rashody pri ispolnenii programm chto ogranichivaet proizvoditelnost Python sistem nezavisimo ot primenyaemyh tehnologij Vsledstvie etogo dlya napisaniya kriticheskih uchastkov koda ispolzuyutsya nizkourovnevye yazyki integraciya s kotorymi obespechivaetsya mnozhestvom programm i bibliotek Tem ne menee Python portirovan na nekotorye otnositelno maloproizvoditelnye platformy Globalnaya blokirovka interpretatora GIL Shematichnoe izobrazhenie raboty potokov pod GIL Zelyonyj potok uderzhivayushij GIL krasnye blokirovannye potokiOsnovnaya statya Global Interpreter Lock Interpretator Python v CPython a takzhe Stackless i PyPy ispolzuet potoko nebezopasnye dannye vo izbezhanie razrusheniya kotoryh pri sovmestnoj modifikacii iz raznyh potokov primenyaetsya globalnaya blokirovka interpretatora GIL Global Interpreter Lock v hode ispolneniya koda potok interpretatora blokiruet GIL vypolnyaet v techenie fiksirovannogo vremeni po umolchaniyu 5 millisekund nekotoroe kolichestvo instrukcij posle chego osvobozhdaet blokirovku i priostanavlivaetsya davaya vozmozhnost rabotat drugim potokam GIL takzhe osvobozhdaetsya vo vremya vvoda vyvoda izmeneniya i proverki sostoyaniya sinhroniziruyushih primitivov pri ispolnenii koda rasshirenij ne obrashayushihsya k dannym interpretatora naprimer NumPy SciPy Takim obrazom v kazhdyj moment vremeni v odnom processe interpretatora Python mozhet ispolnyatsya tolko odin potok koda na Python nezavisimo ot chisla dostupnyh processornyh yader Poteri proizvoditelnosti ot GIL zavisyat ot haraktera programm i arhitektury sistemy Bolshinstvo programm yavlyaetsya odnopotochnymi libo zapuskaet vsego neskolko potokov iz kotoryh chast v kazhdyj konkretnyj moment prostaivaet v ozhidanii Personalnye kompyutery obychno imeyut nebolshoe kolichestvo processornyh yader kotorye zagruzheny parallelno ispolnyayushimisya v sisteme processami tak chto realnye poteri proizvoditelnosti na personalnyh kompyuterah iz za GIL neveliki No v servernyh prilozheniyah mozhet byt udobno ispolzovat desyatki i sotni a to i bolshe parallelnyh potokov naprimer v sistemah massovogo obsluzhivaniya gde kazhdyj potok obrabatyvaet dannye dlya otdelnogo polzovatelskogo zaprosa a servery na konec 2010 h godov neredko imeyut desyatki i dazhe sotni processornyh yader to est tehnicheski mogut obespechit etim potokam fizicheski odnovremennoe ispolnenie v takih usloviyah GIL mozhet privodit k dejstvitelno znachitelnomu snizheniyu obshej proizvoditelnosti tak kak lishaet programmu vozmozhnosti polnocenno ispolzovat resursy mnogoyadernyh sistem Gvido van Rossum govoril chto GIL ne tak uzh i ploh i on budet v CPython do teh por poka kto to drugoj ne predstavit realizaciyu Python bez GIL s kotoroj by odnopotochnye skripty rabotali tak zhe bystro V zadachi razrabotki vhodit rabota po optimizacii GIL Planiruetsya otkaz ot GIL est chernovoj variant PEP 703 no na dannyj moment est sleduyushie varianty izbavleniya ot GIL Variant interpretatora s sinhronizaciej dostupa k otdelnym obektam vmesto globalnoj blokirovki iz za chastyh zahvatov osvobozhdenij blokirovok okazalsya slishkom medlennym Realizaciya potokov cherez processy OS naprimer modul multiprocessing Otkaz ot sovmestnogo ispolzovaniya izmenyaemyh dannyh i vyzovov vneshnego koda Pri etom dannye dubliruyutsya v potokah i ih sinhronizaciya esli takovaya nuzhna lezhit na programmiste Biblioteki obespechivayushie sobstvennuyu organizaciyu podderzhki potokov Est chernovoj PEP po otkazu ot GIL v CPython Radikalnym variantom resheniya problemy mozhet byt perehod na Jython i IronPython rabotayushie na virtualnyh mashinah Java i NET Mono eti realizacii voobshe ne ispolzuyut GIL Sintaksis i semantika Nesmotrya na to chto odnim iz zayavlennyh principov dizajna Python yavlyaetsya princip naimenshego udivleniya kritiki otmechayut celyj ryad arhitekturnyh reshenij kotorye mogut vvodit v zabluzhdenie ili vyzyvat nedoumenie u programmistov privykshih k drugim rasprostranyonnym yazykam V ih chisle Otlichie v principe raboty operatora prisvoeniya po sravneniyu so staticheski tipizirovannymi yazykami V Python pri prisvoenii znacheniya kopiruetsya ssylka na obekt a ne znachenie Pri rabote s prostymi neizmenyaemymi tipami voznikaet oshushenie izmeneniya znacheniya peremennoj pri prisvaivanii ej znacheniya odnako fakticheski prisvaivaetsya ssylka na drugoe znachenie naprimer pri uvelichenii znacheniya peremennoj tipa int na 1 menyaetsya ssylka a ne uvelichivaetsya znachenie po ssylke Odnako pri rabote s izmenyaemymi tipami ih soderzhimoe mozhno menyat po ssylke poetomu pri prisvoenii odnoj peremennoj ssylki na druguyu i posleduyushem izmenenii znacheniya v odnoj iz dvuh peremennyh ono izmenitsya v obeih peremennyh chto horosho zametno pri rabote so spiskami Pri etom kortezhi hot i yavlyayutsya neizmenyaemymi no mogut hranit ssylki na izmenyaemye obekty poetomu po faktu kortezhi tozhe mozhno menyat Otlichie v povedenii na nekotoryh tipah sokrashyonnyh operatorov takih kak i ih razvyornutoj zapisi hotya v bolshinstve yazykov sokrashyonnyj variant eto prosto kratkaya zapis polnogo i semanticheski oni absolyutno ekvivalentny Primer s ispolzovaniem x gt gt gt x 1 2 gt gt gt y x gt gt gt x 3 4 gt gt gt x 1 2 3 4 gt gt gt y 1 2 3 4 Analogichnyj primer s ispolzovaniem x x gt gt gt x 1 2 gt gt gt y x gt gt gt x x 3 4 gt gt gt x 1 2 3 4 gt gt gt y 1 2 Zhyostkaya traktovka leksicheskoj oblasti vidimosti podobnaya ispolzuemoj v JavaScript dazhe esli peremennaya poluchaet znachenie v poslednej stroke funkcii eyo oblastyu vidimosti yavlyaetsya vsya funkciya Putanica mezhdu polyami klassa i polyami obekta tekushee znachenie polya klassa inicializiruet odnoimyonnoe pole obekta no ne pri sozdanii obekta a pri pervoj zapisi znacheniya v dannoe pole class Colored color red obj1 Colored print obj1 color vyvoditsya ishodnoe znachenie polya KLASSA Colored color green izmenenie polya KLASSA print obj1 color vyvoditsya znachenie polya KLASSA obj1 color blue izmenyaetsya pole OBEKTA i fiksiruetsya ego znachenie Colored color yellow izmenenie polya KLASSA kotoroe uzhe ne otrazitsya na obekte print obj1 color vyvoditsya pole OBEKTA Skript vyvedet red green blueV primere vyshe tri raza vyvoditsya pole color obekta obj1 klassa Colored Pri etom poka ne vypolnena zapis v eto pole vyvoditsya tekushee znachenie polya klassa i v tretij raz znachenie polya obekta Takoe sohranenie svyazi mezhdu polem obekta i klassa do pervoj perezapisi mozhet stat prichinoj neozhidannogo effekta esli v programme menyaetsya znachenie polya klassa to vse obekty odnoimyonnye polya kotoryh eshyo ne perezapisany okazhutsya neyavno izmeneny Intuitivno trudno predskazuemoe povedenie parametrov so znacheniem obektom po umolchaniyu Esli v kachestve inicializatora dlya parametra po umolchaniyu ukazat konstruktor obekta eto privedyot k sozdaniyu staticheskogo obekta ssylka na kotoryj i budet peredavatsya po umolchaniyu v kazhdyj vyzov Eto mozhet povlech trudno ulovimye oshibki Nevozmozhnost modifikacii vstroennyh klassov Etot razdel slishkom korotkij Pozhalujsta uluchshite i dopolnite ego Po sravneniyu s Ruby i nekotorymi drugimi yazykami v Python otsutstvuet vozmozhnost modificirovat vstroennye klassy takie kak int str float list i drugie RealizaciiCPython Osnovnaya statya CPython CPython yavlyaetsya osnovnoj realizaciej yazyka On napisan na yazyke Si i yavlyaetsya perenosimym na raznye platformy V osnove upravleniya pamyatyu lezhit ispolzovanie kombinacii schyotchikov ssylok i sborshika musora otvetstvennogo za poisk ciklicheskih zahvatov ssylok Hotya yazyk schitaetsya interpretiruemym na samom dele on kompiliruetsya v promezhutochnyj vysokourovnevyj bajt kod kotoryj zatem ispolnyaetsya cherez stekovuyu virtualnuyu mashinu Naprimer vyzov funkcii print mozhet byt predstavlen v sleduyushem vide 0 0 RESUME 0 1 2 PUSH NULL 4 LOAD NAME 0 print 6 LOAD CONST 0 Hello World 8 PRECALL 1 12 CALL 1 22 RETURN VALUE Imena v yazyke imeyut pozdnee svyazyvanie v rezultate chego mozhno pisat obrasheniya k peremennym metodam i atributam kotoryh eshyo net no oni dolzhny byt obyavleny na moment ispolneniya koda ispolzuyushego ih Kazhdyj obekt v Python imeet slovar predstavlennyj hesh tablicej cherez kotoryj proishodit sopostavlenie nazvanij atributov ih znacheniyam Globalnye peremennye takzhe sopostavlyayutsya cherez slovar Odno obrashenie k metodu ili atributu mozhet soprovozhdatsya poocheryodnym poiskom v neskolkih slovaryah PyPy Osnovnaya statya PyPy PyPy realizaciya Python napisannaya na RPython podmnozhestvo Python imeyushee namnogo menshe dinamicheskih vozmozhnostej Pozvolyaet legko proveryat novye vozmozhnosti V PyPy krome standartnogo CPython vklyucheny vozmozhnosti Stackless Psyco modifikaciya AST na letu i mnogoe drugoe V proekt integrirovany vozmozhnosti analiza Python koda i translyaciya v drugie yazyki i bajt kody virtualnyh mashin Si LLVM Javascript NET s versii 0 9 9 Nachinaya s 0 9 0 vozmozhna polnostyu avtomaticheskaya translyaciya RPython v Si v rezultate chego dostigaetsya skorost priemlemaya dlya ispolzovaniya v 2 3 raza nizhe chem CPython pri otklyuchyonnom JIT dlya versii 0 9 9 Po umolchaniyu PyPy postavlyaetsya so vstroennym JIT kompilyatorom s pomoshyu kotorogo on sposoben rabotat namnogo bystree chem CPython Jython Etot razdel stati eshyo ne napisan Zdes mozhet raspolagatsya otdelnyj razdel Pomogite Vikipedii napisav ego 8 fevralya 2023 Osnovnaya statya Jython Jython realizaciya Python kompiliruyushaya kod na Python v bajt kod Java kotoryj mozhet byt vypolnen JVM Takzhe mozhet ispolzovatsya dlya importa klassa ishodnyj kod kotorogo byl napisan na Java v kachestve modulya dlya Python Drugie realizacii Sushestvuyut takzhe drugie realizacii angl Jit kompilyator na osnove LLVM s podderzhkoj NumPy realizaciya yazyka dlya smartfonov firmy Nokia na platforme Series 60 Ne podderzhivaetsya IronPython Python dlya NET Framework i Mono Kompiliruet Python programmy v MSIL takim obrazom predostavlyaya polnuyu integraciyu s NET sistemoj Stackless takzhe napisannaya na Si realizaciya Python Eto ne polnocennaya realizaciya a patchi k CPython Predostavlyaet rasshirennye vozmozhnosti mnogopotochnogo programmirovaniya i znachitelno bolshuyu glubinu rekursii eshyo odna realizaciya Python dlya NET V otlichie ot IronPython eta realizaciya ne kompiliruet Python kod v MSIL a tolko predostavlyaet interpretator napisannyj na C Pozvolyaet ispolzovat NET sborki iz Python koda Jython realizaciya Python ispolzuyushaya JVM v kachestve sredy ispolneniya Pozvolyaet prozrachno ispolzovat Java biblioteki minimalisticheskaya versiya Python Chast vozmozhnostej CPython ne realizovana MicroPython realizaciya Python 3 dlya vstroennyh sistem s malym obyomom operativnoj pamyati realizaciya yazyka na klientskom JavaScript pozvolyayushaya pisat brauzernye skripty na Python 3 realizaciya Python dlya Android Proekt vsyo eshyo na stadii testirovaniya odnako na QPython uzhe portirovany nekotorye samye neobhodimye biblioteki Pozvolyaet i rabotat v interaktivnom rezhime Sushestvuet takzhe Qpython3 Specializirovannye podmnozhestva rasshireniya PythonNa osnove Python bylo sozdano neskolko specializirovannyh podmnozhestv yazyka v osnovnom prednaznachennyh dlya staticheskoj kompilyacii v mashinnyj kod Nekotorye iz nih perechisleny nizhe RPython sozdannaya v ramkah proekta PyPy silno ogranichennaya realizaciya Python bez dinamizma vremeni ispolneniya i nekotoryh drugih vozmozhnostej Kod na RPython mozhno kompilirovat vo mnozhestvo drugih yazykov platform C JavaScript Lisp NET LLVM Na RPython napisan interpretator PyPy Cython ogranichennaya realizaciya Python no neskolko menshe chem RPython Cython rasshiren vozmozhnostyami staticheskoj tipizacii tipami iz yazyka C i pozvolyaet svobodno smeshivat tipizirovannyj i ne tipizirovannyj kod Prednaznachen dlya napisaniya modulej rasshirenij kompiliruetsya v kod na yazyke C Nuitka Pozvolyaet translirovat ves kod Python v kod Si ili v ispolnyaemye fajly Instrumenty podderzhki programmirovaniyaInteraktivnyj rezhim Podobno Lisp i Prolog Python mozhet ispolzovatsya v interaktivnom rezhime pri kotorom vvedyonnye s klaviatury operatory srazu zhe vypolnyayutsya a rezultat vyvoditsya na ekran REPL Etot rezhim udoben kak pri izuchenii yazyka tak i v processe professionalnoj razrabotki dlya bystrogo testirovaniya otdelnyh fragmentov koda tak kak obespechivaet nemedlennuyu obratnuyu svyaz Takzhe on pozvolyaet ispolzovat interpretator v kachestve kalkulyatora s bolshim naborom funkcij Etalonnaya realizaciya Python imeet vstroennyj interaktivnyj interpretator rabotayushij v rezhime tekstovogo terminala i pozvolyayushij vypolnyat vse osnovnye operacii V interaktivnom rezhime dostupen otladchik pdb i sistema pomoshi vyzyvaetsya po help rabotayushaya dlya vseh modulej klassov i funkcij kotorye soderzhat stroki dokumentacii gt gt gt from math import import matematicheskih funkcij gt gt gt help cos pomosh po funkcii cos Help on built in function cos in module math cos x Return the cosine of x measured in radians IPython vyhodyashaya pod BSD licenziej kross platformennaya interaktivnaya obolochka predostavlyayushaya rasshirennuyu introspekciyu i dopolnitelnye komandy V chastnosti pozvolyaet peredavat ispolnyaemomu kodu na Python rezultaty vypolneniya komand sistemnoj komandnoj obolochki Podderzhivaet podsvetku koda i avtomaticheskoe dopolnenie rasshirenie standartnoj komandnoj obolochki Python s pomoshyu ryada dopolnitelnyh modulej Realizuet podsvetku sintaksisa avtomaticheskoe dopolnenie koda s predlozheniem variantov avtomaticheskoe vyravnivanie integraciya s Pastebin sohranenie vvoda v fajl vosstanovlenie udalyonnoj stroki predlozhenie parametrov dlya funkcij Pochti vse IDE dlya Python podderzhivayut REPL dlya bystrogo testirovaniya IDE IDLE Sushestvuet neskolko specializirovannyh IDE dlya razrabotki na Python Eric polnofunkcionalnyj redaktor Python i IDE napisannyj na Python On baziruetsya na kross platformennom frejmvorke Qt v kachestve komponenta redaktirovaniya ispolzuetsya QScintilla Eric predostavlyaet vozmozhnosti vedeniya proektov otladki profilirovaniya refaktoringa koda vzaimodejstviya s populyarnymi sistemami upravleniya versiyami takimi kak Subversion i Git Rasshiryaetsya cherez mehanizm plaginov Repozitorij plaginov dostupen pryamo iz sredy razrabotki Rasprostranyaetsya besplatno licenziya GNU GPL v3 PyCharm polnofunkcionalnaya IDE dlya Python ot JetBrains dostupna na platformah Windows macOS i Linux sushestvuet v besplatnom Community i platnom Professional variantah angl linejka Python IDE ot amerikanskoj firmy vklyuchaet tri varianta Wing 101 Wing Personal Wing Pro iz kotoryh pervye dva besplatny poslednij platnyj Versiya Pro obladaet vsemi neobhodimymi sredstvami dlya professionalnoj razrabotki vklyuchaya podderzhku proektov rabotu s sistemami upravleniya versiyami rasshirennye vozmozhnosti navigacii po kodu i analiza koda refaktoring podderzhka ispolzovaniya Django Besplatnye versii predostavlyayut menshe funkcij i ne vyhodyat za predely vozmozhnostej dostupnyh v drugih besplatnyh IDE dlya Python Spyder open source IDE dlya Python pod licenziej MIT besplatnaya dostupna na platformah Windows Mac OS X i Linux Osobennostyu yavlyaetsya to chto IDE orientirovana na data science v nej udobno rabotat s bibliotekami tipa SciPy NumPy Matplotlib Spyder postavlyaetsya v komplekte s menedzherom paketov Anaconda V celom obladaet kachestvami standartnoj IDE imeet redaktor s podsvetkoj sintaksisa avtomaticheskoe dopolnenie koda obozrevatel dokumentacii Thonny mnogoplatformennaya besplatnaya IDE vypuskaetsya pod licenziej MIT podderzhivaetsya Institutom informatiki Tartuskogo universiteta v Estonii Pozicioniruetsya kak Python IDE dlya novichkov polnostyu vklyuchaya interpretator Python stavitsya iz korobki polzovatelem bez administrativnyh prav srazu posle ustanovki mozhet ispolzovatsya bez dopolnitelnyh nastroek Prednaznachena dlya obucheniya imeet uluchshennuyu vizualizaciyu poryadka vychisleniya vyrazhenij i vyzova funkcij dinamicheskuyu podsvetku sintaksicheskih oshibok prostoj menedzher paketov Dlya professionalnogo primeneniya vozmozhnostej nedostatochno naprimer net podderzhki proektov i integracii s sistemami upravleniya versiyami IDLE Vstroennyj v Python IDE Ochen prostoj i malofunkcionalnyj Pomimo etogo sushestvuyut plaginy dlya podderzhki programmirovaniya na Python dlya universalnyh IDE Eclipse KDevelop Visual Studio Code i Microsoft Visual Studio a takzhe imeetsya podderzhka podsvetki sintaksisa avto dopolneniya koda i podklyucheniya sredstv otladki i zapuska prilozhenij dlya celogo ryada rasprostranyonnyh tekstovyh redaktorov PrimeneniePython Powered Python stabilnyj i rasprostranyonnyj yazyk On ispolzuetsya vo mnogih proektah i v razlichnyh kachestvah kak osnovnoj yazyk programmirovaniya ili dlya sozdaniya rasshirenij i integracii prilozhenij Na Python realizovano bolshoe kolichestvo proektov takzhe on aktivno ispolzuetsya dlya sozdaniya prototipov budushih programm Python yavlyaetsya lyogkim v izuchenii yazykom i chasto izuchaetsya kak pervyj yazyk v tom chisle ispolzuetsya pri obuchenii detej programmirovaniyu Kak pervyj yazyk on horosho podhodit poskolku programmy na nyom blizki k estestvennomu yazyku na kotorom lyudi privykli dumat a dlya napisaniya korrektnoj programmy trebuetsya minimalnoe kolichestvo klyuchevyh slov V drugih zhe yazykah takih kak C sushestvuet bolshoe kolichestvo razlichnyh sintaksicheskih konstrukcij i elementov yazyka kotorym prihoditsya udelyat vnimanie vmesto izucheniya algoritmov Yavlyayas prilozheniem s otkrytym ishodnym kodom interpretator Python ispolzuetsya po vsemu miru i postavlyaetsya v sostave operacionnyh sistem na baze Linux a takzhe v kompyuterah ot firmy Apple Python populyaren sredi individualnyh razrabotchikov no takzhe ispolzuetsya krupnymi kompaniyami v dostatochno seryoznyh produktah orientirovannyh na poluchenie pribyli Na Python napisan Reddit i YouTube V Dropbox takzhe aktivno primenyaetsya Python a iz za slozhnostej dinamicheskoj tipizacii i ogromnogo kolichestva koda kompaniya pereshla k staticheskoj tipizacii s pomoshyu otkrytogo proekta Mypy Takzhe Python aktivno ispolzuetsya v Facebook i Instagram Mnogie kompanii ispolzuyut Python dlya testirovaniya apparatnogo obespecheniya sredi etih kompanij znachatsya Intel Cisco Hewlett Packard i IBM Industrial Light amp Magic i Pixar ispolzuyut ego pri sozdanii animacionnyh filmov Yazyk aktivno ispolzuetsya kompaniej Google v eyo poiskovoj sisteme a YouTube v znachitelnoj stepeni napisan s ispolzovaniem Python Krome togo Google sponsiruet razrabotku Python s 2010 goda i podderzhku PyPI osnovnoj sistemy rasprostraneniya paketov dlya Python Silnymi storonami Python yavlyayutsya ego modulnost i vozmozhnost integrirovatsya s drugimi yazykami programmirovaniya v tom chisle v sostave slozhnyh kompleksnyh prilozhenij i sistem Sochetanie prostoty i lakonichnosti s bolshim kolichestvom vozmozhnostej delaet Python udobnym v kachestve skriptovogo yazyka istochnik ne ukazan 1170 dnej Mnogie proekty predostavlyayut prikladnoj interfejs programmirovaniya na Python dlya napisaniya skriptov naprimer sredy 3D modelirovaniya Autodesk Maya Blender i Houdini a takzhe svobodnaya geoinformacionnaya sistema QGIS Nekotorye proekty realizuyut bazovuyu chast na bolee proizvoditelnyh yazykah programmirovaniya a dlya uprosheniya raboty predostavlyayut polnocennyj interfejs prikladnogo programmirovaniya na Python istochnik ne ukazan 1170 dnej Tak dvizhok svobodnogo videoredaktora OpenShot realizovan v vide biblioteki libopenshot napisannoj na C s ispolzovaniem bibliotek na Si a vse vozmozhnosti polnostyu pokryty prikladnym interfejsom programmirovaniya Python znachimost fakta Agentstvo nacionalnoj bezopasnosti SShA ispolzuet Python dlya analiza dannyh a NASA ispolzuet ego pri vypolnenii nauchnyh zadach Iz instrumentov ispolzuemyh v NASA mozhno otmetit svobodnyj graficheskij simulyator seti angl kotoryj takzhe horosho zarekomendoval sebya v korporativnoj srede i ispolzuetsya v tehnologicheskih kompaniyah naprimer v Intel Na Python napisana takzhe svobodnaya populyarnaya programma narezki 3D modelej dlya pechati na 3D printerah Cura Python s paketami NumPy SciPy i MatPlotLib aktivno ispolzuetsya kak universalnaya sreda dlya nauchnyh raschyotov v kachestve zameny rasprostranyonnym specializirovannym kommercheskim paketam takim kak Matlab predostavlyaya analogichnuyu funkcionalnost i bolee nizkij porog vhozhdeniya Po bolshej chasti na Python napisana takzhe graficheskaya programma angl pozvolyayushaya sozdavat kachestvennye grafiki gotovye dlya razmesheniya v nauchnyh publikaciyah znachimost fakta Biblioteka Astropy populyarnyj instrument dlya astronomicheskih raschyotov znachimost fakta Takzhe Python yavlyaetsya luchshim yazykom programmirovaniya po ispolzovaniyu v II sfere Takzhe Python podhodit dlya vypolneniya nestandartnyh ili slozhnyh zadach v sistemah sborki proektov chto obuslovleno otsutstviem neobhodimosti predvaritelnoj kompilyacii ishodnyh fajlov V proekte Google Test on ispolzuetsya dlya generacii ishodnogo koda mock obektov dlya klassov yazyka C znachimost fakta Interpretator Python mozhet ispolzovatsya v kachestve moshnoj komandnoj obolochki i skriptovogo yazyka dlya napisaniya komandnyh fajlov OS Lyogkost obrasheniya iz Python skriptov k vneshnim programmam i nalichie bibliotek dayushih dostup k upravleniyu sistemoj delayut Python udobnym instrumentom dlya sistemnogo administrirovaniya On shiroko ispolzuetsya dlya etoj celi na platforme Linux obychno Python postavlyaetsya s sistemoj vo mnogih distributivah installyatory i vizualnyj interfejs sistemnyh utilit napisany imenno na Python Ispolzuetsya on i v administrirovanii drugih Unix sistem v chastnosti v Solaris i macOS Krossplatformennost samogo yazyka i bibliotek delaet ego privlekatelnym dlya unificirovannoj avtomatizacii zadach sistemnogo administrirovaniya v geterogennyh sredah gde sovmestno primenyayutsya kompyutery s operacionnymi sistemami razlichnyh tipov Buduchi yazykom obshego naznacheniya Python primenim pochti vo vseh sferah deyatelnosti Fakticheski Python ispolzuetsya prakticheski lyuboj solidnoj kompaniej tem ili inym obrazom kak dlya vypolneniya tekushih zadach tak i v testirovanii administrirovanii ili v razrabotke programmnyh produktov PrimechaniyaKommentarii Nedostupno neposredstvenno po imeni tipa Znachenie v sekundah mozhno poluchit s pomoshyu komandy sys getswitchinterval i izmenit vo vremya raboty programmy s pomoshyu sys setswitchinterval Istochniki History and License Python documentation Wouters T Python Insider Python 3 12 4 released 2024 https impythonist wordpress com 2014 02 16 open heart with guido van rosuuma lost interview of python creator part2 Why was Python created in the first place Python Software Foundation Classes The Python Tutorial Python Software Foundation An Introduction to Python for UNIX C Programmers https peps python org pep 0318 https docs python org 3 2 tutorial controlflow html Functional Programming HOWTO https docs python org 3 library itertools html Download Python Mariya Mifrill Nefyodova Sozdateli yazykov programmirovaniya Oni takie raznye no koding ih obedinyaet Haker 09 08 117 neopr Data obrasheniya 1 dekabrya 2012 2 iyulya 2013 goda Prohorenok N Dronov V Vvedenie Python 3 Samoe neobhodimoe 2 e izd BHV Peterburg 2019 S 11 608 s ISBN 9785977539944 12 fevralya 2021 goda Yogesh Rana Python Simple though an Important Programming language angl International Research Journal of Engineering and Technology IRJET 2019 2 February vol 06 iss 2 P 1856 1858 ISSN 2395 0056 11 fevralya 2021 goda SkipMontanaro Why is Python a dynamic language and also a strongly typed language Python Wiki angl wiki python org 24 fevralya 2012 Data obrasheniya 14 marta 2021 14 marta 2021 goda Mark Lutz A Python Q amp A Session angl Learning Python 3rd Edition Book O Reilly Media Inc 2007 Data obrasheniya 11 fevralya 2021 8 fevralya 2021 goda Python Introduction angl Python Education Google Developers 20 avgusta 2018 Data obrasheniya 21 fevralya 2021 4 dekabrya 2020 goda Satwik Kansal Metaprogramming in Python angl IBM 5 aprelya 2018 Data obrasheniya 14 aprelya 2021 27 fevralya 2021 goda asyncio Asynchronous I O neopr Python documentation Data obrasheniya 9 oktyabrya 2023 5 maya 2019 goda Alexandre Bergel Lorenzo Bettini Generic Programming in Pharo angl Software and Data Technologies Jose Cordeiro Slimane Hammoudi Marten van Sinderen Berlin Heidelberg Springer 2013 P 66 79 ISBN 978 3 642 45404 2 doi 10 1007 978 3 642 45404 2 5 13 fevralya 2021 goda R Peschke K Nishimura G Varner ARGG HDL A High Level Python BasedObject Oriented HDL Framework angl IEEE Transactions on Nuclear Science pre print 2020 October arXiv 011 02626v1 7 noyabrya 2020 goda Steven F Lott Aspect oriented programming angl Mastering Object Oriented Python Second Edition Packt Publishing 2019 Data obrasheniya 21 fevralya 2021 21 fevralya 2021 goda Arne Bachmann Henning Bergmeyer Andreas Schreiber Evaluation of aspect oriented frameworks in Python for extending a project with provenance documentation features angl The Python Papers 2011 Vol 6 iss 3 P 1 18 ISSN 1834 3147 22 aprelya 2018 goda Steven Cooper Data Science from Scratch The 1 Data Science Guide for Everything A Data Scientist Needs to Know Python Linear Algebra Statistics Coding Applications Neural Networks and Decision Trees angl Roland Bind 2018 126 p 21 fevralya 2021 goda Reuven M Lerner Multiprocessing in Python angl Linux Journal 16 aprelya 2018 Data obrasheniya 14 fevralya 2021 14 fevralya 2021 goda David Beazley Brian K Jones 10 Modules and Packages Python Cookbook 3rd Edition Book angl Python Cookbook 3rd Edition O Reilly Media Inc 2013 Data obrasheniya 21 fevralya 2021 21 fevralya 2021 goda About Python neopr Data obrasheniya 7 avgusta 2007 11 avgusta 2007 goda PythonImplementations Python Wiki angl wiki python org 21 iyulya 2020 Data obrasheniya 17 fevralya 2021 11 noyabrya 2020 goda History and License angl Python Data obrasheniya 21 maya 2021 5 dekabrya 2016 goda Mostafa Chandra Krintz C Cascaval D Edelsohn P Nagpurkar P Wu Understanding the Potential of Interpreter based Optimizations for Python angl UCSB Technical Report 2010 11 August 23 fevralya 2021 goda J Akeret L Gamper A Amara A Refregier HOPE A Python just in time compiler for astrophysical computations angl Astronomy and Computing 2015 1 April vol 10 P 1 8 ISSN 2213 1337 doi 10 1016 j ascom 2014 12 001 arXiv 1410 4345v2 15 fevralya 2021 goda PEP 373 Python 2 7 Release Schedule angl 23 marta 2014 Data obrasheniya 7 marta 2021 25 fevralya 2021 goda Berk Ekmekci Charles E McAnany Cameron Mura An Introduction to Programming for Bioscientists A Python Based Primer angl PLOS Computational Biology 2016 6 July vol 12 iss 6 P e1004867 ISSN 1553 7358 doi 10 1371 journal pcbi 1004867 PMID 27271528 16 fevralya 2021 goda Kalyani Adawadkar Python Programming Applications and Future angl International Journal of Advance Engineering and Research Development 2017 April iss SIEICON 2017 P 1 4 ISSN 2348 447 15 iyulya 2020 goda Ethan Bommarito Michael James Bommarito An Empirical Analysis of the Python Package Index PyPI angl Social Science Research Network Rochester NY Social Science Research Network 2019 25 July doi 10 2139 ssrn 3426281 arXiv arXiv 1907 11073v2 9 iyunya 2021 goda Pratik Desai Python Programming for Arduino angl Packt Publishing Ltd 2015 P 8 400 p ISBN 978 1 78328 594 5 21 fevralya 2021 goda Sebastian Bassi A Primer on Python for Life Science Researchers angl PLOS Computational Biology 2007 30 November vol 3 iss 11 P e199 ISSN 1553 7358 doi 10 1371 journal pcbi 0030199 13 marta 2021 goda neopr Data obrasheniya 1 iyunya 2009 Arhivirovano iz originala 17 fevralya 2016 goda General Python FAQ neopr Python v2 7 3 documentation Docs python org Data obrasheniya 4 iyunya 2020 24 oktyabrya 2012 goda Index of Python Enhancement Proposals PEPs neopr Data obrasheniya 28 yanvarya 2007 28 yanvarya 2007 goda Python 3 0 Release neopr Data obrasheniya 1 iyunya 2009 2 iyunya 2009 goda PEP 373 Python 2 7 Release Schedule neopr python org Data obrasheniya 9 yanvarya 2017 19 maya 2020 goda PEP 466 Network Security Enhancements for Python 2 7 x neopr python org Data obrasheniya 9 yanvarya 2017 4 iyunya 2020 goda Sunsetting Python 2 angl Python org Data obrasheniya 22 sentyabrya 2019 12 yanvarya 2020 goda Python Developer s Guide Python Developer s Guide neopr devguide python org Data obrasheniya 17 dekabrya 2019 9 noyabrya 2020 goda Extending and Embedding the Python Interpreter Reference Counts angl Docs python org Since Python makes heavy use of malloc and free it needs a strategy to avoid memory leaks as well as the use of freed memory The chosen method is called reference counting Data obrasheniya 5 iyunya 2020 18 oktyabrya 2012 goda What s New In Python 3 0 Python 3 12 0 documentation neopr Data obrasheniya 8 oktyabrya 2023 2 noyabrya 2012 goda Hettinger Raymond PEP 289 Generator Expressions neopr Python Enhancement Proposals Python Software Foundation 30 yanvarya 2002 Data obrasheniya 19 fevralya 2012 14 iyunya 2020 goda 6 5 itertools Functions creating iterators for efficient looping neopr Docs python org Data obrasheniya 22 noyabrya 2016 14 iyunya 2020 goda PEP 20 The Zen of Python neopr Data obrasheniya 23 sentyabrya 2005 17 iyulya 2005 goda Bejder Den Chistyj Python Tonkosti programmirovaniya dlya profi Izdatelskij dom Piter 2018 S 64 65 288 s ISBN 978 5 4461 0803 9 10 aprelya 2021 goda Venners Bill The Making of Python neopr Artima Developer Artima 13 yanvarya 2003 Data obrasheniya 22 marta 2007 1 sentyabrya 2016 goda Peters Tim PEP 20 The Zen of Python neopr Python Enhancement Proposals Python Software Foundation 19 avgusta 2004 Data obrasheniya 24 noyabrya 2008 26 dekabrya 2018 goda Alex Martelli Anna Ravenscroft David Ascher Python Cookbook 2nd Edition O Reilly Media 2005 P 230 ISBN 978 0 596 00797 3 ot 23 fevralya 2020 na Wayback Machine neopr Data obrasheniya 28 dekabrya 2020 Arhivirovano 23 fevralya 2020 goda neopr ebeab 21 yanvarya 2014 Arhivirovano iz originala 30 yanvarya 2014 goda Mark Summerfield Python in Practice Create Better Programs Using Concurrency Libraries and Patterns Addison Wesley 2013 08 20 S 201 326 s ISBN 978 0 13 337323 3 9 iyunya 2021 goda neopr Data obrasheniya 28 dekabrya 2020 Arhivirovano iz originala 11 maya 2019 goda 8 18 pprint Data pretty printer Python 3 8 3 documentation neopr docs python org Data obrasheniya 28 dekabrya 2020 22 yanvarya 2021 goda Python on Android angl www damonkohler com Data obrasheniya 19 dekabrya 2009 Arhivirovano 28 yanvarya 2011 goda Port Specific Changes Windows angl Python v2 6 1 documentation What s New in Python 2 6 Python Software Foundation Data obrasheniya 11 dekabrya 2008 Arhivirovano 28 yanvarya 2011 goda 3 Using Python on Windows Python 3 5 9 documentation angl Python Documentation Python Software Foundation Data obrasheniya 8 iyunya 2020 15 oktyabrya 2020 goda Drop support of Windows Vista and 7 in Python 3 9 angl Data obrasheniya 10 yanvarya 2021 4 noyabrya 2020 goda PEP 484 Type Hints angl Python Enhancement Proposals Data obrasheniya 9 oktyabrya 2023 Luciano Ramalho Fluent Python angl O Reilly Media Inc 2022 31 March P 253 ISBN 978 1 4920 5630 0 Ramalo 2016 p 61 15 Floating Point Arithmetic Issues and Limitations Python 3 8 3 documentation neopr docs python org Almost all machines today November 2000 use IEEE 754 floating point arithmetic and almost all platforms map Python floats to IEEE 754 double precision Data obrasheniya 6 iyunya 2020 6 iyunya 2020 goda Moshe Zadka Guido van Rossum PEP 237 Unifying Long Integers and Integers neopr Python Enhancement Proposals Python Software Foundation 11 marta 2001 Data obrasheniya 24 sentyabrya 2011 28 maya 2020 goda Built in Types neopr Data obrasheniya 3 oktyabrya 2019 14 iyunya 2020 goda Ramalo 2016 pp 52 54 Foreword for Programming Python 1st ed angl Data obrasheniya 7 marta 2021 20 yanvarya 2021 goda 2 3 2 Reserved classes of identifiers neopr Python documentation 18 oktyabrya 2009 Arhivirovano 28 yanvarya 2011 goda celostnost bolshih proektov na Python stroitsya na dvuh veshah testy i doc stroka neopr Data obrasheniya 31 oktyabrya 2008 21 oktyabrya 2008 goda Steve D Jost Structured Programming Details angl Universitet De Polya 2019 Data obrasheniya 17 fevralya 2021 29 aprelya 2020 goda PyDBC method preconditions method postconditions and class invariants for Python neopr Data obrasheniya 24 sentyabrya 2011 23 noyabrya 2019 goda Contracts for Python neopr Data obrasheniya 24 sentyabrya 2011 15 iyunya 2020 goda PyDatalog neopr Data obrasheniya 22 iyulya 2012 13 iyunya 2020 goda Object oriented programming in Python angl IBM Developer ibm com 20 oktyabrya 2020 Data obrasheniya 11 marta 2021 11 marta 2021 goda 9 Classes angl Python 3 9 2 documentation docs python org Data obrasheniya 14 marta 2021 14 marta 2021 goda Fawzi Albalooshi Amjad Mahmood A Comparative Study on the Effect of Multiple Inheritance Mechanism in Java C and Python on Complexity and Reusability of Code angl International Journal of Advanced Computer Science and Applications IJACSA 2017 Vol 8 iss 6 ISSN 2156 5570 doi 10 14569 IJACSA 2017 080614 10 iyulya 2020 goda Michele Simionato The Python 2 3 Method Resolution Order angl Python org Data obrasheniya 14 marta 2021 14 marta 2021 goda PEP 484 Type Hints angl Python org 24 sentyabrya 2014 Data obrasheniya 13 fevralya 2021 9 fevralya 2021 goda Jukka Lehtosalo Generics angl Mypy 0 800 documentation Read the Docs 2016 Data obrasheniya 13 fevralya 2021 13 fevralya 2021 goda Ramalo 2016 pp 188 191 David Mertz Functional Programming in Python angl O Reilly 2015 ISBN 978 1491928561 Ramalo 2016 p 273 Ramalo 2016 pp 613 708 Patrik O Brajen Rukovodstvo po introspekcii na Python Intersoft Lab 21 iyulya 2021 goda Beazley 2009 pp 222 225 Ramalo 2016 pp 214 246 Ramalo 2016 pp 686 688 6 2 re Regular expression operations Python 3 5 1 documentation neopr Data obrasheniya 11 maya 2016 18 iyulya 2018 goda A M Kuchling 14 07 2000 PEP 206 Python Advanced Library Python org 5 maya 2021 Data obrasheniya 4 aprelya 2021 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite news title Shablon Cite news cite news a Proverte znachenie daty date spravka The Python Standard Library neopr Python documentation Data obrasheniya 9 oktyabrya 2023 6 iyunya 2023 goda PyPI Indeks paketa Python rus PyPI Data obrasheniya 9 oktyabrya 2023 3 iyunya 2017 goda PythonSpeed PerformanceTips Python Wiki neopr wiki python org Data obrasheniya 9 oktyabrya 2023 18 oktyabrya 2023 goda PyChecker a python source code checking tool neopr Data obrasheniya 3 fevralya 2007 2 fevralya 2007 goda pylint analyzes Python source code looking for bugs and signs of poor quality Logilab org neopr Data obrasheniya 3 fevralya 2007 12 fevralya 2007 goda Pylint 3 0 1 documentation neopr pylint readthedocs io Data obrasheniya 9 oktyabrya 2023 18 oktyabrya 2023 goda Mathieu Fourment Michael R Gillings A comparison of common programming languages used in bioinformatics angl BMC Bioinformatics 2008 5 February vol 9 iss 1 P 82 ISSN 1471 2105 doi 10 1186 1471 2105 9 82 19 marta 2021 goda A Bogdanchikov M Zhaparov R Suliyev Python to learn programming angl Journal of Physics Conference Series 2013 04 10 10 April vol 423 P 012027 ISSN 1742 6596 1742 6588 1742 6596 doi 10 1088 1742 6596 423 1 012027 12 iyunya 2024 goda Pascal Fua Krzysztof Lis Comparing Python Go and C on the N Queens Problem Computer Vision Laboratory EPFL 2020 12 marta 2020 goda Guido van Rossum Comparing Python to Other Languages angl Python org 1997 Data obrasheniya 16 marta 2021 16 marta 2021 goda Muhammad Shoaib Farooq Sher Afzal Khan Farooq Ahmad Saeed Islam Adnan Abid An Evaluation Framework and Comparative Analysis of the Widely Used First Programming Languages angl PLoS ONE 2014 24 February vol 9 iss 2 ISSN 1932 6203 doi 10 1371 journal pone 0088941 PMID 24586449 15 marta 2021 goda Kincaid Jason 10 November 2009 Google s Go A New Programming Language That s Python Meets C TechCrunch 18 yanvarya 2010 Data obrasheniya 29 yanvarya 2010 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite news title Shablon Cite news cite news a Ukazan bolee chem odin parametr accessdate and access date spravka Go 1 18 Release Notes The Go Programming Language angl go dev Data obrasheniya 27 maya 2023 27 maya 2023 goda Ceyhun Ozgur Taylor Colliau Grace Rogers Zachariah Hughes Elyse Bennie Myer Tyson MatLab vs Python vs R angl Journal of Data Science 2017 Vol 15 P 355 372 ISSN 1680 743X 11 aprelya 2021 goda Alex MacCaw The Little Book on CoffeeScript O Reilly 2012 ISBN 9781449321055 neopr wiki ecmascript org Data obrasheniya 24 noyabrya 2008 Arhivirovano iz originala 20 oktyabrya 2007 goda Strachan James neopr 29 avgusta 2003 Data obrasheniya 11 iyunya 2007 Arhivirovano iz originala 5 aprelya 2007 goda Why We Created Julia neopr Julia website fevral 2012 We want something as usable for general programming as Python Data obrasheniya 5 iyunya 2014 2 maya 2020 goda Yegulalp Serdar Nim language draws from best of Python Rust Go and Lisp neopr InfoWorld 16 yanvarya 2017 Nim s syntax is strongly reminiscent of Python s as it uses indented code blocks and some of the same syntax such as the way if elif then else blocks are constructed Data obrasheniya 16 fevralya 2021 13 oktyabrya 2018 goda An Interview with the Creator of Ruby neopr Linuxdevcenter com Data obrasheniya 3 dekabrya 2012 28 aprelya 2018 goda Chris Lattner s Homepage neopr Chris Lattner 3 iyunya 2014 I started work on the Swift Programming Language in July of 2010 I implemented much of the basic language structure with only a few people knowing of its existence A few other amazing people started contributing in earnest late in 2011 and it became a major focus for the Apple Developer Tools group in July 2013 drawing ideas from Objective C Rust Haskell Ruby Python C CLU and far too many others to list Data obrasheniya 3 iyunya 2014 22 dekabrya 2015 goda Python C GNU g neopr Computer Language Benchmarks Game Data obrasheniya 1 iyulya 2009 Arhivirovano 28 yanvarya 2011 goda Ars Technica report on Unladen Swallow goals angl Data obrasheniya 29 oktyabrya 2017 1 maya 2012 goda MicroPython Python for microcontrollers angl micropython org Data obrasheniya 9 oktyabrya 2023 6 iyunya 2014 goda Yavorski Ziade 2021 p 466 Palach 2014 pp 16 17 sys sys getswitchinterval neopr Dokumentaciya Python Data obrasheniya 25 oktyabrya 2021 25 oktyabrya 2021 goda sys sys setswitchinterval neopr Dokumentaciya Python Data obrasheniya 25 oktyabrya 2021 25 oktyabrya 2021 goda Guido van Rossum the future of the GIL neopr Python Mailing Lists 8 maya 2007 Data obrasheniya 3 marta 2021 9 noyabrya 2020 goda Guido van Rossum It isn t Easy to Remove the GIL neopr artima com 10 sentyabrya 2007 Data obrasheniya 3 marta 2021 6 iyunya 2019 goda Python Dev Reworking the GIL neopr Data obrasheniya 7 dekabrya 2010 10 iyunya 2011 goda PEP 703 Making the Global Interpreter Lock Optional in CPython peps python org neopr Data obrasheniya 8 oktyabrya 2023 13 oktyabrya 2023 goda Python 3000 FAQ neopr Data obrasheniya 8 avgusta 2007 9 noyabrya 2020 goda multiprocessing Process based parallelism neopr Python documentation Data obrasheniya 9 oktyabrya 2023 9 oktyabrya 2023 goda perlthrtut perldoc perl org neopr Data obrasheniya 10 aprelya 2008 22 maya 2008 goda neopr Arhivirovano iz originala 10 avgusta 2013 goda Reeta Sahoo Gagan Sahoo Computer Science with Python New Delhi New Saraswati House India Pvt Ltd 2016 S 3 35 3 36 458 s ISBN 978 93 5199 980 5 22 yanvarya 2021 goda Luciano Ramalho Python tuples immutable but potentially changing O Reilly Radar angl radar oreilly com O Reilly 15 oktyabrya 2014 Data obrasheniya 16 yanvarya 2021 16 yanvarya 2021 goda 8 Compound statements Python 3 7 2 documentation neopr docs python org Data obrasheniya 5 fevralya 2019 27 noyabrya 2019 goda Built in Types neopr Python documentation Data obrasheniya 9 oktyabrya 2023 14 iyunya 2020 goda Obi Ike Nwosu Read Inside The Python Virtual Machine Leanpub rus Inside The Python Virtual Machine leanpub com Data obrasheniya 23 marta 2021 29 yanvarya 2021 goda Polucheno s pomoshyu dis dis print Hello World K Rejt T Shlyusser 2017 p 23 Python for S60 OpenSource neopr 6 avgusta 2009 goda IronPython neopr Data obrasheniya 24 iyulya 2007 18 avgusta 2006 goda Python for NET neopr Data obrasheniya 10 fevralya 2007 16 fevralya 2007 goda tinypy neopr Data obrasheniya 21 avgusta 2008 18 sentyabrya 2008 goda MicroPython neopr Data obrasheniya 4 iyunya 2014 6 iyunya 2014 goda Sajt proekta Brython neopr Data obrasheniya 6 noyabrya 2014 20 oktyabrya 2014 goda Sajt proekta QPython neopr Data obrasheniya 3 fevralya 2015 4 fevralya 2015 goda neopr Data obrasheniya 24 iyulya 2007 Arhivirovano iz originala 7 iyulya 2007 goda neopr Data obrasheniya 24 iyulya 2007 Arhivirovano iz originala 12 sentyabrya 2007 goda Cython C Extensions for Python neopr Data obrasheniya 28 iyulya 2007 11 avgusta 2007 goda Nuitka the Python Compiler Nuitka the Python Compiler documentation neopr nuitka net Data obrasheniya 9 oktyabrya 2023 3 sentyabrya 2022 goda neopr Data obrasheniya 1 iyunya 2006 Arhivirovano iz originala 4 avgusta 2018 goda bpython interpreter neopr Data obrasheniya 17 fevralya 2011 11 maya 2011 goda IDLE neopr Python documentation Data obrasheniya 9 oktyabrya 2023 4 iyunya 2020 goda PyDev Python IDE for Eclipse angl Eclipse Plugins Bundles and Products Eclipse Marketplace Data obrasheniya 9 oktyabrya 2023 18 oktyabrya 2023 goda KDevelop Python Support angl KDE Applications Data obrasheniya 9 oktyabrya 2023 4 oktyabrya 2023 goda Python in Visual Studio Code angl code visualstudio com Data obrasheniya 9 oktyabrya 2023 18 oktyabrya 2023 goda Visual Studio Python IDE Python Development Tools for Windows amer angl Visual Studio Data obrasheniya 9 oktyabrya 2023 2 oktyabrya 2023 goda Vasilev Denis Alekseevich Metodicheskie osobennosti izucheniya yazyka Python shkolnikami Simvol nauki 2017 1 21 iyulya 2021 goda Mark Lutz Learning Python Powerful Object Oriented Programming angl O Reilly Media Inc 2009 10 06 P 7 8 1218 p ISBN 978 1 4493 7932 2 10 aprelya 2021 goda Cruz Josef A Jr Programmer Asked Me Why Google and YouTube Use Python angl Medium 7 iyunya 2022 Data obrasheniya 9 oktyabrya 2023 11 iyunya 2022 goda Thank you Guido angl blog dropbox com Data obrasheniya 9 oktyabrya 2023 16 fevralya 2021 goda Jukka Lehtosalo Our journey to type checking 4 million lines of Python angl dropbox tech Dropbox 5 sentyabrya 2019 Data obrasheniya 22 sentyabrya 2020 22 sentyabrya 2020 goda Python in production engineering neopr Data obrasheniya 21 yanvarya 2017 2 fevralya 2017 goda What Powers Instagram Hundreds of Instances Dozens of Technologies neopr Data obrasheniya 21 yanvarya 2017 9 iyunya 2021 goda Grumpy Go running Python neopr 20 yanvarya 2017 goda statya v Google Open Source Blog Christina Cardoza 12 02 2021 Google recommits to the Python ecosystem SD Times 25 fevralya 2021 Data obrasheniya 4 aprelya 2021 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite news title Shablon Cite news cite news a Proverte znachenie daty date spravka Welcoming Google as a Visionary Sponsor of the PSF News from the Python Software Foundation 11 02 2021 9 aprelya 2021 Data obrasheniya 4 aprelya 2021 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite news title Shablon Cite news cite news a Proverte znachenie daty date spravka Google Cloud finansiruet ekosistemu Python Izdatelstvo Otkrytye sistemy 02 03 2021 9 iyunya 2021 Data obrasheniya 4 aprelya 2021 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite news title Shablon Cite news cite news a Proverte znachenie daty date spravka Eilif Muller James A Bednar Markus Diesmann Marc Oliver Gewaltig Michael Hines Python in neuroscience angl Frontiers in Neuroinformatics 2015 14 April vol 9 ISSN 1662 5196 doi 10 3389 fninf 2015 00011 30 noyabrya 2020 goda Scripting amp Extending Blender Introduction angl Blender Manual Blender Data obrasheniya 21 sentyabrya 2020 21 sentyabrya 2020 goda Python Scripting angl www sidefx com Data obrasheniya 27 sentyabrya 2020 29 sentyabrya 2020 goda Building a plugin for QGIS angl Geographic Informations Systems GIS Program National Center for Atmospheric Research Data obrasheniya 23 sentyabrya 2020 23 sentyabrya 2020 goda Jonathan Thomas OpenShot Video Editor for Windows Mac and Linux angl Kickstarter 4 marta 2020 Data obrasheniya 23 sentyabrya 2020 23 sentyabrya 2020 goda Using GNS3 with Fedora amer angl Fedora Magazine 28 avgusta 2019 Data obrasheniya 22 sentyabrya 2020 1 oktyabrya 2020 goda Ultimaker Cura GitHub neopr Data obrasheniya 19 sentyabrya 2020 17 sentyabrya 2020 goda natol Locker 2020 Best 3D Printer Slicer Software angl All3DP 2 yanvarya 2020 The list is sorted by popularity via Alexa rank Data obrasheniya 24 sentyabrya 2020 13 avgusta 2020 goda Peter Jurica Cees Van Leeuwen OMPC an open source MATLAB to Python compiler angl Frontiers in Neuroinformatics 2009 T 3 ISSN 1662 5196 doi 10 3389 neuro 11 005 2009 29 noyabrya 2020 goda Veusz Development angl Veusz Github Pages Data obrasheniya 2 oktyabrya 2020 2 oktyabrya 2020 goda Fisher M Plot with a purpose 2 oktyabrya 2020 Writing for Conservation angl 1 noyabrya 2020 Fauna amp Flora International Cambridge 2019 The Astropy Collaboration A M Price Whelan B M Sipocz H M Gunther P L Lim S M Crawford S Conseil D L Shupe M W Craig N Dencheva The Astropy Project Building an Open science Project and Status of the v2 0 Core Package angl 3 oktyabrya 2020 The Astronomical Journal 2018 T 156 vyp 3 24 August S 123 ISSN 1538 3881 doi 10 3847 1538 3881 aabc4f Ryabtsev Alexander 8 Reasons Why Python is Good for Artificial Intelligence and Machine Learning amer angl Software Development Blog amp IT Tech Insights Django Stars 11 marta 2019 Data obrasheniya 9 oktyabrya 2023 18 oktyabrya 2023 goda The Google Mock class generator README neopr Google Test github com Data obrasheniya 3 fevralya 2019 9 iyunya 2021 goda Noah Gift Jeremy M Jones Python for Unix and Linux System Administration ISBN 978 0 596 51582 9 LiteraturaLuchano Ramalo Python K vershinam masterstva rus Fluent Python O Reilly 2015 per s angl DMK Press 2016 Kennet Rejtc Tanya Shlyusser Avtostopom po Python rus The Hitchhiker s Guide to Python per s angl Izdatelskij dom Piter 2017 ISBN 9785496030236 David M Beazley Python Essential Reference 4th Edition Addison Wesley Professional 2009 717 s ISBN 978 0672329784 Jan Palach Parallel Programming with Python Packt Publishing Ltd 2014 Yavorski Mihal Ziade Tarek Python Luchshie praktiki i instrumenty rus Expert Python Programming per s angl Izdatelskij dom Piter 2021 Fyodorov D Yu Programmirovanie na yazyke vysokogo urovnya Python Moskva Izdatelstvo Yurajt 2022 210 s Vysshee obrazovanie ISBN 978 5 534 14638 7 SsylkiPython Knigi v VikiuchebnikeTeksty v VikitekeMediafajly na Vikisklade Oficialnyj sajt angl
Вершина