„Python“ yra dinamiškai įvestas daugiafunkcinis programavimo kalba, sukurta taip, kad būtų greita (mokytis, naudoti ir suprasti) ir suteiktų švarią ir vieningą sintaksę. Dažnai naudojamos dvi panašios, bet nesuderinamos Python, Python 2.7 ir 3.x versijos. Konkrečiai kalbant apie „Python“ klausimus, naudokite [python-2.7] arba [python-3.x] žymes. Naudojant „Python“ variantą (pvz., „Jython“, „Pypy“ ir tt), pažymėkite parinktį.

„Python“ yra dinamiška ir griežtai įvardyta programavimo kalba, naudojama įvairioms programoms . Tai universali, aukšto lygio programavimo kalba, skirta pabrėžti tinkamumą naudoti.

„Python“ leidžia programuotojams išreikšti sąvokas mažiau kodų eilutėse, kurios būtų įmanoma daugelyje kitų kalbų, pvz., C, ir kalba turi konstrukcijų, skirtų naudoti suprantamų programų kūrimui įvairiose srityse.

„Python“ iš pradžių sukūrė Guido van Rossum ir pirmą kartą išleido 1991 metais. „Van Rossum“ pasirinko „Python“ kaip projekto pavadinimą, šiek tiek nepagarbiai nuotaika (ir didelis „Monty Python Flying Circus“ gerbėjas).

Dvi panašios, nors ir nesuderinamos Python versijos yra plačiai naudojamos: Python 2 (2000 m. Spalio 16 d.) Ir Python 3 (2008 m. Gruodžio 3 d.). Apsvarstykite versiją ir įgyvendinimą, kurį naudojate užduodami klausimą apie „Python“ (žr. Toliau pateiktą skyrių „ Žymėjimo gairės “).

„Python“ palaiko keletą programavimo paradigmų, įskaitant į objektą orientuotus, privalomus ir funkcinius programavimo stilius. Ji turi visiškai dinamišką tipo sistemą ir automatinį atminties valdymą, panašų į Scheme, Ruby, Perl ir Tcl sistemas.

Kaip ir kitos dinamiškos kalbos , „Python“ dažnai vartojama kaip skriptų kalba, tačiau ji naudojama ir įvairiuose be scenarijų. Naudojant trečiosios šalies įrankius, „Python“ kodas gali būti pakuojamas kaip atskiros vykdomosios programos. „Python“ vertėjai gali naudotis daugelyje operacinių sistemų.

„CPython“ , „Python“ nuoroda, yra atviro kodo programinė įranga. Jis turi bendruomenės vystymosi modelį, kaip ir beveik visus jos alternatyvius įgyvendinimo būdus. Yra daugybė pritaikymų, tinkančių konkrečiai aplinkai ar užduotims (žr. „Python“ įgyvendinimą „Python wiki“).

„Python“ filosofija apibendrinta Tim Penton“ parašytame „Python Zen“ , kurį galima perskaityti vykdant šią komandą interaktyviame „Python“ vertėjo:

 >>> import this 

Taip pat galite importuoti išorinius elementus:

 >>> from item import * 

Arba nurodykite, ką importuoti:

 >>> from item import some_func 

Taip pat galite nurodyti importuoto modulio pavadinimą:

 >>> import this as that 

Dokumentą taip pat galima pasiekti neprisijungus, kad Python būtų įdiegtas taip:

  1. Eikite į „ Your_Python_install_dir/Doc . Kompiuteryje įdiegta „Python“ versija yra išsami „Python“ dokumentacija.
  2. Jei komandų eilutėje arba terminale yra pydoc x arba python -m pydoc x rodomas modulio x dokumentavimas.

Skirtingai nuo daugelio kitų kalbų, „Python“ naudoja įterptą sintaksę (kurioje skirtukai ir tarpai nėra keičiami). Tai gali užtrukti šiek tiek priprasti prie programuotojų, kurie yra susipažinę su garbanotais petnešomis.

 >>> from __future__ import braces File "<stdin>", line 1 SyntaxError: not a chance >>> 

Jei norite padėti perėjimui, rekomenduojama naudoti tinkamai sukonfigūruotą teksto redaktorių arba IDE. „Python“ ateina su pagrindiniu IDLE IDLE ( ), kad galėtumėte pradėti. Kiti populiarūs pavyzdžiai yra „Vim“ labdaros programa, nemokama „GNU Emacs“, „Eclipse + PyDev“ arba „PyCharm“. Pažvelkite į šį IDE palyginimų sąrašą daugeliui kitų alternatyvų.

Taip pat yra „Python“ stiliaus vadovas, vadinamas PEP 8 , kuris sukurtas taip, kad Python kodą būtų lengviau skaityti ir suderinti. Šis vadovas (turi būti) laikomasi Python kūrėjų bendruomenėje.


Žymėjimo rekomendacijos:

Naudokite „ žymą visoms susijusioms Python problemoms. Jei manote, kad jūsų klausimas apima konkrečias atskirų versijų problemas, be pagrindinio „ žyma naudokite „ arba „ “. Jei manote, kad jūsų klausimas gali būti dar konkretesnis, galite pridėti konkrečiai versijai skirtą žymą, pvz., „ arba „ ir tt

Taip pat apsvarstykite galimybę įtraukti žymą konkrečiam įgyvendinimui ( , ir tt) Jei naudojate kitą nei naudoti , nebent aiškiai nurodyta kitaip.


Rekomendacijos:


Populiariausios „Python“ žiniatinklio struktūros :

Jei jūsų klausimas yra susijęs su bet kuria iš šių platformų, įsitikinkite, kad įtraukėte atitinkamą žymą.

  • Jango

    Tinklalapiai perfekcionistams (su terminais). Django palengvina greičiau ir mažiau kodo kurti geresnes žiniatinklio programas. „Django“ yra aukšto lygio „Python“ žiniatinklio aplinka, kuri skatina sparčią plėtrą ir švarų, pragmatišką dizainą. Tai leidžia greitai sukurti aukštos kokybės ir elegantiškas žiniatinklio programas. „Django“ siekia kuo labiau automatizuoti ir laikytis DRY principo (nepamirškite savęs) .

  • Kolbos

    Kolba yra mikro Python sistema, pagrįsta Werkzeug, Jinja 2 ir gerais ketinimais.

  • Tornado

    „Tornado“ yra „Python“ žiniatinklio sistema ir asinchroninių tinklų biblioteka. Naudodamas blokuojamąjį tinklą I / O, „Tornado“ gali apimti dešimtis tūkstančių atvirų jungčių, todėl idealiai tinka ilgoms apklausoms, interneto lizdams ir kitoms programoms, kurioms reikia ilgalaikio ryšio su kiekvienu vartotoju.

  • „CherryPy“ yra objektų orientuota „python“ žiniatinklio infrastruktūra, leidžianti kūrėjams kurti žiniatinklio programas taip pat, kaip ir bet kuri kita objekto orientuota „Python“ programa. Taip gaunamas mažiau šaltinio kodo, kuris sukuriamas mažiau laiko. CherryPy buvo naudojamas daugiau nei 7 metus ir yra naudojamas daugelyje įmonių, pradedant nuo paprasčiausių iki pat reikliausių.

  • Piramidės

    Lengva internetinė sistema, kuri pabrėžia lankstumą ir spartų vystymąsi. Jis apjungia geriausias Ruby, Python ir Perl pasaulių idėjas, suteikdamas struktūrizuotą, bet labai lankstų „Python“ interneto aplinką. Jis taip pat yra vienas iš pirmųjų projektų, naudojančių naująjį WSGI standartą, kuris leidžia plačiai naudoti ir lankstumą, bet tik tada, kai tai būtina.

  • TurboGears

    „TurboGears“ yra mastelio keičiamoji žiniatinklio infrastruktūra, kuri gali pereiti nuo minimalaus režimo nustatymo į pilnai veikiančią žiniatinklio programą. 2005 m. Ją sukūrė Kevin Dangur, o dabartinę „TurboGears2“ („ ) plėtrą vadovauja Markas Ramm. Dabartinis stabilus TurboGears leidimas yra TurboGears 2.3.12, išleistas 2018 m. Balandžio 6 d.

  • web.py

    web.py yra Python žiniatinklio sistema, kuri yra tokia paprasta, kaip ir galinga. web.py yra laisvai prieinama: galite jį naudoti bet kokiam tikslui be jokių apribojimų. web.py leidžia jums rašyti žiniatinklio programas „Python“.

  • Grok

    Pastatyta pagal esamas Zope 3 bibliotekas, tačiau siekiama suteikti lengvesnę mokymosi kreivę ir lankstesnę plėtros procesą. „Grok“ tai daro, sutelkdama dėmesį į konvencijas, o ne į konfigūraciją ir „DRY“ (nesikartokite savęs).

  • Butelio

    Butelis yra greitas, paprastas ir lengvas „WSGI“ mikroprocesorius „Python“. Jis platinamas kaip vienas failų modulis ir neturi jokių kitų priklausomybių, išskyrus standartinę Python biblioteką.

  • web2py

    web2py yra nemokama, visapusiška, atviro kodo platforma, skirta sparčiai plėtoti greitąsias, keičiamo dydžio, saugias ir nešiojamąsias duomenų bazėmis pagrįstas interneto programas.

  • Falcon

    „Falcon“ yra minimali „Python“ žiniatinklio sistema, skirta kurti mikroservisas, taikomųjų programų programas ir aukšto lygio sistemas, palaikančias REST architektūros stilių. Ji turi ir viešąsias, ir komercines versijas.

  • Susukti

    „Twisted“ yra atviro kodo, įvykių valdomas tinklo variklis. Tai naudinga tiek klientams, tiek serveriams ir svarstyklėms pritaikyti prie didelių svetainių ir net įterptųjų įrenginių. „Twisted“ palengvina pritaikymą pritaikyti tinklui.

Populiariausios matematinės / mokslinės kompiuterijos bibliotekos Pythone

  • Numpy

    NumPy yra pagrindinis paketas moksliniam skaičiavimui Pythone. Jame, be kita ko, yra:

    • galingas N-matmenų objektų masyvas
    • sudėtingas (transliuojamas) funkcijas
    • integravimo įrankiai C / C ++ ir Fortran kodams
    • naudingos linijinės algebros, Furjė transformacijos ir atsitiktinių skaičių galimybės

    Šios funkcijos taip pat leidžia „NumPy“ naudoti bendrosios paskirties duomenų bazių programose.

  • SciPy yra Python programavimo kalbos atviro kodo biblioteka, susidedanti iš matematinių algoritmų ir funkcijų, dažnai naudojamų moksle ir technologijoje. SciPy apima algoritmus ir įrankius tokioms užduotims kaip optimizavimas, klasterizavimas, diskrečiosios Furjė transformacijos, tiesinė algebra, signalo apdorojimas ir daugiamatė vaizdo apdorojimas. „SciPy“ yra glaudžiai susijusi su „NumPy“ ir priklauso nuo daugelio „NumPy“ funkcijų, įskaitant daugiamatę matricą, kuri naudojama kaip pagrindinė duomenų struktūra SciPy.

  • matplotlib

    matplotlib yra Python programavimo kalbos piešimo biblioteka ir skaitinės matematikos NumPy išplėtimas. Ji suteikia objekto orientuotą API, skirtą grafikams įterpti taikomosiose programose naudojant universalius GUI įrankius, pvz., WxPython, Qt arba GTK. Taip pat yra procesinė sąsaja „pylab“, paremta valstybės mašina (pvz., OpenGL), kuri yra labai panaši į MATLAB.

  • pandas

    Python, Python duomenų analizės biblioteka, yra atviro kodo biblioteka, licencijuota BSD, teikianti aukštos kokybės, lengvai naudojamas duomenų struktūras ir duomenų analizės priemones Python programavimo kalbai. Be to, 10 minučių iki pandų yra labai geras dokumentas.

  • Teano

    „Theano“ yra plačiai naudojama „Python-C“ biblioteka, tinkanti matematinėms užduotims, reikalaujančioms daug skaičiavimo dėl „Python“ kodo sąsajoje atlikto optimizavimo, todėl jis yra labai optimizuotas naudojant „C“ pagrindu veikiančias procedūras. . Jis turi labai optimizuotą automatinį diferenciaciją, kuri supaprastina labai sudėtingų funkcijų įgyvendinimą ir apskaičiuoja jų gradientus be jokių klaidų.

  • Maišytuvo

    „Blender“ yra nemokamas atviro kodo 3D paketas. Jis palaiko visą 3D vamzdyną - modeliavimą, takelažą, animaciją, modeliavimą, atvaizdavimą, kompoziciją ir judesio stebėjimą, net vaizdo redagavimą ir žaidimų kūrimą.

  • scikit-

    scikit-learning yra nemokama atviro kodo mokymosi biblioteka, parašyta „Python“. Jis palaiko daugelio skirtingų mašinų mokymosi modelių mokymąsi ir bandymus bei kai kuriuos pagrindinius duomenų apdorojimo metodus.

  • Tensorflow

    „TensorFlow“ yra „Google Brain“ komandos sukurta atviro kodo programinė įranga. Tai simbolinė matematikos biblioteka, pirmiausia naudojama mašinų mokymosi programoms, pvz., Neuroniniams tinklams.


bendruomenei

Pokalbiai

  • Visiems „Python“ ryšiams palaikykite „Freenode“ skirtą IRC kanalą #python. Pažiūrėkite į „ Python IRC“ sąrašą, jei norite, kad būtų galima pasirinkti kitą alternatyvų kanalą.

  • Kalbėkite apie „Python“ su kitais „ngn-wiki.ru“ naudotojais „ Python“ pokalbyje .

Kitos svetainės


Nemokama Python programavimo knygos


„Python Interactive Learning“

  • Codecademy - Sužinokite apie „Python“ pagrindus ir dinamišką programavimą
  • CodeSkulptor - Interaktyvus internetinis IDE programavimui Python 2
  • CodeSkulptor 3 - interaktyvus internetinis IDE programavimui Python 3
  • Coursera - internetinis kursas, skirtas susipažinti su interaktyviu programavimu Pythone
  • „CheckiO“ yra žaidimų pasaulis, kurį galite ieškoti naudodami „Python“ programavimo įgūdžius.
  • „Repl.it“ - „Python 2“ ir „3“ internetinis vertėjas, kuris supaprastina kodų saugojimą ir bendrinimą.
  • „PyCharm Edu“ yra darbalaukio programa, kuri siūlo interaktyvų „Python“ mokymą.
  • Interaktyvus „Python“ - apima modifikuotą, interaktyvią „Kaip galvoti kaip mokslininkas“ versiją
  • „Python Tutor“ - vizualizavimas ir (arba) gyvas kodavimas „Python“

Python internetiniai kursai


„Python“ vaizdo samouczków


Python mokslininkams


„Python Online IDE“

  • ideone yra internetinis IDE, palaikantis kitas populiarias kalbas.
  • repl - Instant programavimo aplinka jūsų mėgstamiausia kalba.
  • python shell - internetinė konsolė iš PythonAnywhere
  • pythonfiddle - Python Cloud IDE
  • pyfiddle - Python 2.7 / 3.6 internetinė konsolė

Kokybės kodas

  • Kodavimas - automatizuotas kodų peržiūra, siekiant greitai pristatyti geresnį kodą.
  • Codecov yra prietaisų skydelio viršelio kodas.
  • CodeFactor - automatinis Git kodo tikrinimas .
  • Vietovė - tęstinės Python kodo metrikos.

Podcastai