Milleks Pythoni kasutatakse? 10+ kodeerimine kasutab Pythoni programmeerimiskeelt.

? Tere tulemast

Tere! VĂ”tke mĂ”ni aeg selle kĂŒsimuse ĂŒle mĂ”tlemiseks:

Kuidas Pythoni reaalsetes stsenaariumides rakendatakse?

Kui Ôpite Pythoni ja soovite teada vastust, siis see artikkel on mÔeldud teile.

Selge ettekujutus selle programmeerimiskeele rakendustest ja suurest potentsiaalist annab teile motivatsiooni, mida vajate kogu oma reisi vÀltel.

Alustagem! ✹

? Python reaalses stsenaariumis

Pythoni kasutatakse praktiliselt igas tööstuse ja teaduse valdkonnas, mida vÔite ette kujutada, sealhulgas:

  • Andmeteadus.
  • MasinĂ”pe.
  • Veebiarendus.
  • Arvutiteaduste haridus.
  • ArvutinĂ€gemine ja pilditöötlus.
  • MĂ€ngu arendamine.
  • Meditsiin ja farmakoloogia.
  • Bioloogia ja bioinformaatika.
  • Neuroteadus ja psĂŒhholoogia.
  • Astronoomia.
  • Muud valdkonnad, nagu robootika, autonoomsed sĂ”idukid, Ă€ri, meteoroloogia ja graafilise kasutajaliidese (GUI) arendamine.

See artikkel hÔlmab selle programmeerimiskeele paljusid rakendusi nendes tööstusharudes koos nÀidete, kasutusjuhtumite ja Pythoni teekidega. Alustame Pythoni rakendustest andmeteaduses.

? Andmeteadus: analĂŒĂŒs ja visualiseerimine

VĂ”ib-olla on Pythoni ĂŒks populaarsemaid rakendusi andmeteadus. Andmete analĂŒĂŒsimiseks ja visualiseerimiseks vĂ€lja töötatud Pythoni teekide jĂ”ud on hĂ€mmastav. Vaatame, miks.

Andmeteaduse rakendused

Pythoni andmete visualiseerimise teegiga saate luua mitmesuguseid jooniseid ja visuaalseid esitusviise, nÀiteks:

  • Jooned, ribad ja markerid.
  • Kujutised, kontuurid ja vĂ€ljad.
  • Allkrundid, teljed ja joonised.
  • Statistika (kasti graafikud, tulpdiagrammid ja histogrammid).
  • Pirukate ja polaartabelid.
  • 3D-joonised.
  • ja veel!

SÔltuvalt paketist vÔi teegist, millega soovite töötada, saate oma graafikutele lisada teksti, silte, mÀrkusi, vÀrve, kujundeid, kogusid, animatsioone ja interaktiivsust.

? NĂ”uanne: ĂŒlaltoodud pildil nĂ€ete Pythoniga loodud andmete visualiseerimise nĂ€iteid.

Raamatukogud ja paketid

Vaatame mÔningaid populaarseimaid pakette ja teeke Pythoniga andmetöötluses töötamiseks:

Python andmete analĂŒĂŒsimiseks

  • NumPy: seda paketti kirjeldatakse kui "Pythoniga teadusliku arvutamise pĂ”hipaketti". Selle paketi ametliku veebisaidi andmetel kasutab "peaaegu iga Pythonis töötav teadlane NumPy jĂ”udu".
  • Pandas: on "kiire, vĂ”imas, paindlik ja hĂ”lpsasti kasutatav avatud lĂ€htekoodiga andmete analĂŒĂŒsi ja manipuleerimise tööriist".

Python andmete visualiseerimiseks

  • Matplotlib: on "terviklik teek staatiliste, animeeritud ja interaktiivsete visualiseerimiste loomiseks Pythonis". Kui olete huvitatud sellest, mida saate selle teegiga teha, vaadake nĂ€ite galeriid.
  • Seaborn: on "Pyploni andmete visualiseerimise teek, mis pĂ”hineb matplotlibil". Kui olete huvitatud sellest, mida saate selle teegiga teha, vaadake nĂ€ite galeriid.
  • ggplot2: on "graafika deklaratiivse loomise sĂŒsteem, mis pĂ”hineb graafika grammatikal". Selle ametlikul veebisaidil öeldakse: "esitate andmed, ĂŒtlete ggplot2-le, kuidas muutujaid esteetika abil kaardistada, milliseid graafilisi primitiive kasutada, ja see hoolitseb ĂŒksikasjade eest."
  • Bokeh: on "interaktiivne visualiseerimisraamatukogu tĂ€napĂ€evastele veebibrauseritele".
  • Pandad:selles raamatukogus on palju vahendeid andmete visualiseerimiseks.

Õppevahendid

Kui soovite Ă”ppida andmete analĂŒĂŒsi ja visualiseerimist Pythoni, Jupyteri mĂ€rkmike, Numpy, Pandade, CSV-failide, andmeraamide ja muu abil, vĂ”ite oma teekonda alustada freeCodeCampi tasuta andmeanalĂŒĂŒsiga koos Pythoni sertifikaadiga :

Sertifitseerimise ajal töötate ja viite lÔpule jÀrgmised projektid:

  • Keskmise dispersiooni standardhĂ€lbe kalkulaator.
  • Demograafiliste andmete analĂŒsaator.
  • Meditsiiniliste andmete visualiseerija.
  • Lehevaatamise ajasarja visualiseerija.
  • Merepinna ennustaja.

freeCodeCampi YouTube'i kanalil on ka alustamiseks jÀrgmised suurepÀrased tasuta Ôpetused:

  • Andmete analĂŒĂŒs Pythoniga - Santiago Basulto tĂ€ielik kursus algajatele (Numpy, Pandas, Matplotlib, Seaborn).
  • Python andmeteaduse jaoks - Ă”ppige Pandasid, Matplotlibi, Numpyt ja muud DataPublishingi kaudu
  • Matplotlibi krahhikursus, autor Keith Galli
  • Keith Galli Pythoni NumPy Ă”petus algajatele

Lisaks on need kasulikud ressursid, kui soovite Ôppida töötama nende teekidega:

  • Matplolibi Ă”petused: tasuta sissejuhatavad, vahepealsed ja edasijĂ”udnutele mĂ”eldud Ă”petused, mis Ă”petavad teile vinge visualiseerimise loomist.
  • Pandade jaotis "Alustamine": tasuta sissejuhatavad Ă”petused.
  • Jaotis NumPy Learn: vĂ€listest ressurssidest koosnev kogu, mis aitab teil alustada.

? masinÔpe

Python on hĂ€davajalik tööriist igale arendajale, kes soovib siseneda masinĂ”ppe pĂ”nevasse valdkonda. Vaatame masinĂ”ppe lĂŒhitutvustust.

Mis on masinÔpe?

MasinĂ”pe on arvutiteaduse valdkond, mis loob sĂŒsteeme, mis on vĂ”imelised iseseisvalt Ă”ppima.

Seda tĂŒĂŒpi sĂŒsteem kasutab algoritme, mida sisendandmete pĂ”hjal pidevalt tĂ€iustatakse, mis aitab sĂŒsteemil "Ă”ppida". See Ă”pib, kuidas uutele stsenaariumidele autonoomselt reageerida, luues varasematele teadmistele tuginedes uutes stsenaariumides asjakohase vĂ€ljundi.

Nende sĂŒsteemide ĂŒks hĂ€mmastavamaid kĂŒlgi on see, et neid tĂ€iustatakse pidevalt.

Need ei ole nagu programmid, mida me tavaliselt kirjutame Pythoni skripti, kus mÀÀrame kĂ”ik vĂ”imalikud toimingud, mida programm vĂ”ib teha. MasinĂ”ppes koolitatakse sĂŒsteem varasematele teadmistele tuginedes "mĂ”tlema" ja otsuseid langetama.

SellepĂ€rast ĂŒtleme, et masinad "Ă”pivad" andmetest.

? NÔuanne: see on huvitav Google'i jutt: masinÔpe nullist kangelaseni (Google I / O'19).

NÀrvivÔrgud: masinÔppe ehituskivid

NeuraalvĂ”rgud on sĂŒsteemi töötlusĂŒksused. Nad pĂŒĂŒavad simuleerida aju neuronite tĂ”elist vĂ”rku. Nad saavad virtuaalsed "neuronid" sisendi, Ă”pivad seda sisendit töötlema ja genereerivad vĂ€ljundi oma varasemate teadmiste pĂ”hjal.

See on vÀga sarnane sellega, mida aju teeb iga pÀev iga hetk.

TÀnu nÀrvivÔrkudele saab masinÔppe algoritm Ôppida, kuidas ennustada antud sisendi eeldatavat vÀljundit varasemate teadmiste pÔhjal.

NÀiteks kui nÀete YouTube'is soovitatud videoid, genereerisid need soovitused nÀrvivÔrkude kaudu, mis ennustavad teie varasemate mustrite pÔhjal, milliseid videoid soovite vaadata. HÀmmastav, eks?

? NÔuanne. See on Google'i huvitav artikkel, kui soovite selle YouTube'i nÀite kohta lisateavet lugeda.

Python ja masinÔpe

Olen kindel, et peate kindlasti kĂŒsima: mis on Pythoni roll selles valdkonnas? See on ĂŒks populaarsemaid ja vĂ”imsamaid tööriistu, mida seda tĂŒĂŒpi sĂŒsteemide programmeerimiseks kasutatakse.

Üks populaarsemaid raamatukogusid, mida arendajad ĂŒle kogu maailma kasutavad masinĂ”ppesse rakendatud Pythoniga töötamiseks, on TensorFlow . See on tasuta avatud lĂ€htekoodiga teek, mille on vĂ€lja töötanud Google Brain Team. Seda teeki kasutatakse Google'is uurimiseks ja tootmiseks.

Google'i tehisintellekti osakonna juht Jeff Deani sÔnul:

TĂ€na kasutatakse seda palju meie kĂ”netuvastussĂŒsteemides, uues teenuses Google Photos, Gmailis ja Google'i otsingus. (allikas)

Parim on see, et arendajad ĂŒle kogu maailma saavad seda raamatukogu kasutada reaalsete probleemide lahendamiseks.

? NÔuanne: see on Google'i tehtud suurepÀrane video TensorFlow kohta.

Need on veel kaks masinÔppes kasutatavat populaarset Pythoni teeki:

  • Keras - Pythonis kirjutatud avatud lĂ€htekoodiga nĂ€rvivĂ”rgu teek.
  • PyTorch - avatud lĂ€htekoodiga masinĂ”ppekogu, mida kasutatakse nĂ€rvivĂ”rkude arendamiseks ja koolitamiseks.

MasinÔppeprojektid Pythonis

MasinĂ”ppe potentsiaal on tĂ”esti lĂ”putu. Seda saab rakendada praktiliselt igas valdkonnas ja kontekstis, mida vĂ”ite mĂ”elda. Kui ĂŒlesanne nĂ”uab mustritest Ă”ppimist ja vĂ€ljundi ennustamist, siis kindlasti saab sellest abi masinĂ”ppe mudel.

NĂ€iteks, et anda aimu loodavate projektide tĂŒĂŒbist, sisaldab freeCodeCampi Ă”ppekava tasuta masinĂ”pet Pythoni sertifikaadiga :

Sertifitseerimise ajal töötate ja viite lÔpule jÀrgmised projektid:

  • Kivi paber kÀÀrid.
  • Kassi ja koera pildiklassifikaator.
  • Broneerige soovitusmootor, kasutades K-lĂ€himaid naabreid.
  • Lineaarse regressiooni tervisekulude kalkulaator.
  • NeuraalvĂ”rgu SMS-klassifikaator.

Rohkem nÀiteid reaalsetest rakendustest

Rohkem nÀiteid masinÔppe rakendustest leiate Google'ile kuuluvas "andmeteadlaste ja masinÔppe praktikute veebikogukonnas" Kaggle.

Selles platvormis saate oma Pythoni ja masinÔppe oskusi harjutada projektide kallal töötades ja vÔistlustel osaledes.

Et anda ettekujutus projektide tĂŒĂŒbist, mida saate masinĂ”ppega lahendada, hĂ”lmavad Kaggle'i varasemad vĂ”istlused jĂ€rgmist:

  • Kopsufunktsiooni languse ennustamine.
  • Titanicu ellujÀÀmise ennustamine.
  • Ehitusvahendid lindude populatsiooni seireks.
  • Kuulsate vaatamisvÀÀrsuste sildistamine.
  • COVID-19 leviku prognoosimine.
  • Hinnates Walmarti jaekaupade ĂŒhikumĂŒĂŒki.
  • Videote tuvastamine nĂ€o- vĂ”i helimanipulatsioonidega.
  • Suuremate linnade ristmikel ooteaegade ennustamine.
  • Pettuste tuvastamine klienditehingutest.
  • Filmi ĂŒlemaailmse kassatulu ennustamine.
  • Lemmikloomade lapsendamise ennustamine.
  • Riskide vĂ€ljaselgitamine pilootide tĂ€helepanu hajumise, unisuse vĂ”i muude ohtlike kognitiivsete seisundite korral.

Nagu nĂ€ete, on just selles projektide lĂŒhikeses loendis rakendused erinevad ravimitest ettevĂ”teteni, bioloogiast riskide tuvastamiseni ja pettuste tuvastamisest piltide töötlemiseni. VĂ”imalused on tĂ”eliselt lĂ”putud, kui tegelete masinĂ”ppe abil reaalsete probleemidega.

Õppevahendid

freeCodeCampi YouTube'i kanalil on Pythoni masinÔppega alustamiseks jÀrgmised kasulikud Ôpetused:

  • TensorFlow 2.0 tĂ€ielik kursus - Pythoni nĂ€rvivĂ”rkude algajatele Ă”petus
  • Connect Four - Pythoni Ă”petuse mĂ€ngimiseks arendage tehisintellekt
  • Scikit-Learn kursus - masinĂ”pe Pythoni Ă”petuses
  • PyTorch sĂŒgavaks Ă”ppimiseks - tĂ€ielik kursus / Ă”petus

? Veebiarendus

Pythoni kasutatakse veebiarenduse valdkonnas veebirakenduste tagapÔhja loomiseks. Alustame sellest jaotisest sellest, et rÀÀgime natuke sellest, mis on taust ja kuidas see aitab meil veebirakendusi luua.

Python tagatipuks veebiarenduseks

Veebirakenduses nimetatakse kogu koodi, mida kasutatakse kasutajaga suhtlemiseks ja selle loomiseks, mida kasutaja nÀeb, rakenduse esiosaks.

Pythoni kasutatakse rakenduse telgitaguste funktsionaalsuse kodeerimiseks, see osa tagab rakenduse kogu funktsionaalsuse, kuid mida te otse ekraanil ei nÀe.

See tegeleb rakenduse serveripoolega, suheldes kÔigi vajalike andmebaasidega, kui kasutaja andmeid nÔuab. See tagastab soovitud andmed kasutajale, et rakendus saaks ootuspÀraselt töötada.

? NÀpunÀide. TÀisajast koosnev veebiarendus hÔlmab nii veebirakenduse esiotst kui ka lÔppu, et see oleks andmebaasidega töötamise ajal kasutajale esitatav.

Veebiraamid

Need on mÔned populaarsed Pythoni veebiraamistikud:

  • Django: "kĂ”rgetasemeline Pythoni veebiraamistik, mis soodustab kiiret arengut ja puhast, pragmaatilist kujundust".
  • Kolb: vĂ€ga populaarne mikroraam, mida kasutatakse Pythonis veebirakenduste arendamiseks.
  • PĂŒramiid: "vĂ€ike, kiire, maalĂ€hedane Pythoni veebiraamistik".
  • Web2Py: "tasuta avatud lĂ€htekoodiga tĂ€ispika raamistik kiirete, skaleeritavate, turvaliste ja kaasaskantavate andmebaasipĂ”histe veebipĂ”histe rakenduste kiireks arendamiseks".
  • Pudel: "kiire, lihtne ja kerge WSGI mikro-veebiraamistik Pythoni jaoks".

Õppevahendid

freeCodeCampi YouTube'i kanalil on suurepÀrased tasuta Ôpetused Pythonis veebiarenduse Ôppimiseks:

  • Python Django veebiraamistik - tĂ€ielik kursus algajatele
  • Õpi Pythoni jaoks mĂ”eldud kolbi - tĂ€ielik Ă”petus
  • Veebiprogrammeerimine kolbiga - sissejuhatus arvutiteadusesse - Harvardi CS50 (2018)
  • Kogu virna Pythoni kolbi Ă”petus - looge sotsiaalne vĂ”rgustik

Need on ka suurepÀrased tasuta ressursid nende raamistikega töötamise Ôppimiseks:

  • Django jaotis "Esimesed sammud"
  • PĂŒramiidi Ă”petused
  • Kiire Ă”petus pĂŒramiidile

? Arvutiteaduste haridus

Praegu on Pythonil kogu maailmas arvutiteaduste hariduses vÔtmeroll. Vaatame, miks.

Miks Python?

Pythoni kasutatakse Ôppevahendina nii laialdaselt, kuna:

  • Seda on lihtne Ă”ppida: selle sĂŒntaks on lihtne ja seda saab kiiresti Ă”ppida. Õpilased hakkavad arvutiteaduse kĂ”rgematesse aspektidesse sukelduma palju kiiremini kui teiste programmeerimiskeeltega.
  • See on vĂ”imas: seda kasutatakse reaalsetes rakendustes, nii et Ă”pilased hakkavad kohe omandama oma karjÀÀri jaoks vÀÀrtuslikke oskusi.
  • See on mitmekĂŒlgne: see toetab erinevaid programmeerimisparadigmasid, sealhulgas kohustuslikku programmeerimist, funktsionaalset programmeerimist, protseduurilist programmeerimist ja objektorienteeritud programmeerimist.

Pythoni keele looja Guido van Rossum teatas, et:

NĂŒĂŒd olen veendunud, et Python on palju lihtsam kui Ă”petada Ă”pilastele programmeerimist ja Ă”petada neile korraga C-, C ++ - vĂ”i Java-faile, sest keelte kĂ”ik ĂŒksikasjad on nii palju raskemad.

Pythoni sĂŒntaks on lihtne ja arusaadav, nii et Ă”pilased saavad arvutusliku mĂ”tlemise ja probleemide lahendamise oskusi tunduvalt kiiremini Ă”ppima hakata, mis on tavaliselt sissejuhatavate arvutiteaduste kursuste peamine eesmĂ€rk.

Python klassiruumis ja veebiÔpe

Paljud ĂŒlikoolid ja koolid ĂŒle maailma on otsustanud Pythoni abil Ă”petada sissejuhatavaid programmeerimise ja arvutiteaduse kursusi.

NĂ€iteks Ă”petab maailma ĂŒks juhtivamaid tehnoloogiavaldkonna ĂŒlikoole MIT sissejuhatavat arvutiteadust ja programmeerimist Pythoni abil (nii ĂŒlikoolilinnakus kui ka edX-i kursuse veebiversioonides).

Vastavalt MIT Newsi artiklile, mis ilmus siis, kui kursuse veebiversioon jÔudis 1,2 miljoni osalejani, on kursus "muutunud kÔige populaarsemaks MOOC-ks MIT-i ajaloos".

See nÀitab selgelt, et Pythoni populaarsus kasvab jÀtkuvalt. Artiklist leiate tunnistusi Ôpilastest, kes Ôppisid Pythoni ja kuidas need uued teadmised nende elu parandasid.

Artiklis ĂŒtleb MITi EECS-i osakonna Ă”ppejĂ”ud professor Ana Bell, et:

"PÔhimÔtteliselt Ôpetab seeria 6.00 arvutuslikku mÔtlemist ... Seda tehakse Pythoni programmeerimiskeelt kasutades, kuid kursusel Ôpetatakse ka programmeerimiskontseptsioone, mida saab rakendada mis tahes muus programmeerimiskeeles."

See nÀitab selgelt Pythoni kui Ôppevahendi potentsiaali. Seda saab kasutada kÔrgema taseme mÔistete Ôpetamiseks, mida saab rakendada ka teistes programmeerimiskeeltes.

Ja teeb seda ilma keerukuse lisakihita, mida teiste programmeerimiskeelte, nĂ€iteks Java vĂ”i C, sĂŒntaks vĂ”ib Ă”ppeprotsessile lisada.

Viimase paari aasta jooksul on veebikursused muutunud igas vanuses Ă”ppijate igapĂ€evaelu oluliseks osaks kogu maailmas. Tasuta veebikursuste ja -ressursside mitmekesisus on viimastel aastatel tohutult laienenud.  

NÀiteks sisaldab freeCodeCampi Ôppekava kolme tasuta sertifikaati koos projektidega, mis aitavad teil Pythoni oskusi laiendada vÔtmevaldkondades, kus on suur nÔudlus kogu maailmas:

  • Teaduslik arvutus Pythoniga.
  • Andmete analĂŒĂŒs Pythoniga.
  • MasinĂ”pe Pythoniga.

Harvardi ĂŒlikool pakub ka neid veebikursusi, mida saab tasuta auditeerida:

  • CS50 sissejuhatus arvutiteadusesse.
  • CS50 veebiprogrammeerimine Pythoni ja JavaScripti abil.
  • CS50 sissejuhatus tehisintellekti koos Pythoniga.

Python on kindlasti muutunud vÔtmetÀhtsusega vahendiks, mis on kogu maailmas arvutiteaduste haridust parandanud. Ja jÀtkab seda ka edaspidi.

Kui mÔtlete mÔne Pythoni abil kursuse Ôpetamisest vÔi Pythoni Ôppimisest, garanteerin teile, et teie aeg ja vaev on seda vÀÀrt.

? ArvutinÀgemine ja pilditöötlus

Pythoni kasutatakse arvutinÀgemise ja piltide töötlemiseks, vÀljad, mis laienevad kiiresti.

Pilditöötluse eesmĂ€rk on töödelda pilti, rakendada sellele teisendusi ja tagastada algse pildi uus versioon.  

Seevastu arvutinĂ€gemise eesmĂ€rk on keerulisem, kuna see pĂŒĂŒab panna arvuti pilti ja selle sisu mĂ”istma ja tĂ”lgendama.

Pildi töötlemine

Alustame pilditöötlusega. Pythoni teegiga saate teha jÀrgmisi toiminguid:

  • KĂ€rpimine, pööramine ja pööramine.
  • SĂ€rituse ja vĂ€rvikanalitega manipuleerimine.
  • Servade ja joonte tuvastamine.
  • Filtrite lisamine ja piltide taastamine.

ArvutinÀgemine

Sukeldume nĂŒĂŒd arvutinĂ€gemisse. Kui hakkate seda teemat uurima, vĂ”ite olla ĂŒllatunud selle praeguste rakenduste ĂŒle. MĂ”ned neist on:

  • Navigeerimine.
  • Objekti ja sĂŒndmuse tuvastamine.
  • NĂ€otuvastus.
  • Kujutiste klassifikatsioon.

See teadusvaldkond on nii oluline, et Google töötas vÀlja tööriista nimega Cloud Vision, millel on arendajatele Pythoni versioon, et see funktsioon oma programmidesse lisada.

Google Codelabsi Ôpetuse "Vision API kasutamine Pythoniga kasutamine" kohaselt on Google Cloud Vision API:

VÔimaldab arendajatel hÔlpsasti integreerida nÀgemuse tuvastamise funktsioone rakendustesse, sealhulgas piltide sildistamine, nÀo ja maamÀrkide tuvastamine, optilise mÀrgituvastuse (OCR) ja selge sisu sildistamine.

See tööriistakomplekt pakub funktsioone nÀotuvastuseks, vaatamisvÀÀrsuste tuvastamiseks, logo tuvastamiseks, siltide tuvastamiseks, teksti tuvastamiseks ja muuks.

? NĂ”uanne: ĂŒks arvutinĂ€gemise hĂ€mmastavamaid rakendusi on isejuhtivate autode juhtimiseks tarkvara vĂ€ljatöötamine. Need sĂ”idukid peavad "nĂ€gema", kus nad sĂ”idavad, kus on rada ja millised objektid neid ĂŒmbritsevad (sealhulgas muud sĂ”idukid). ArvutinĂ€gemisel on selles funktsionaalsuses vĂ”tmeroll.

Pythoni raamatukogud

Need on mÔned suurepÀrased arvutinÀgemise ja pilditöötluse teegid:

  • OpenCV: "avatud lĂ€htekoodiga arvuti visioon ja masinĂ”ppe tarkvara kogu". Selle Pythoni versiooni nimetatakse OpenCV-Pythoniks.
  • scikit-image: "pilditöötluseks kasutatud algoritmide kogu".
  • NumPy: seda saab kasutada pildi pikslite töötlemiseks 2D massiivina.
  • SciPy: scipy.ndimage pakett "sisaldab mitmemÔÔtmelise pilditöötluse erinevaid funktsioone".

? mÀngude arendamine

MĂ€ngud kujundavad kindlasti elu ja loovad ajatuid mĂ€lestusi. Nad on ka meie ĂŒhiskonna osa ka jĂ€rgnevatel aastatel. Python on juba kohal ja sĂŒttib mĂ€ngude loomisel.

Pythoni mÀngude arendamise raamistikud

Ametliku Pythoni dokumentatsiooni kohaselt on mÀngude arendamiseks kasutusel kaks peamist Pythoni raamistikku:

  • pygame: "Pythoni abil mĂ€ngude arendamiseks mĂ”eldud originaalne ja endiselt vĂ€ga aktiivne pakett. See vĂ”imaldab Pythonil rÀÀkida platvormidevahelise multimeediumiteegiga SDL-iga. Kuna see tuleb koostada iga platvormi ja iga Pythoni versiooni kohta, vĂ”ib viivitus, kui tuleb uus Pythoni versioon. "
  • pyglet: see on "uustulnuk, pĂ”hineb OpenGL-il. Kuna tegemist on puhta Pythoni paketiga, saab seda kasutada sellisena, nagu seda tehakse ka uue Pythoni versiooni vĂ€ljaandmisel (vĂ€lja arvatud ĂŒleminek Python 2 - Python 3)."

Kilpkonna moodulit saate kasutada ka lihtsate mÀngude loomiseks. Turtle on sisseehitatud Pythoni moodul, mis installitakse automaatselt, kui installite Pythoni oma arvutisse. See aitab teil luua lihtsa graafika ja lihtsa kasutajaliidesega mÀnge.

Õppevahendid

Kui soovite Ôppida Pythonis mÀngude arendamist, on freeCodeCampi YouTube'i kanalil jÀrgmised suurepÀrased tasuta Ôpetused:

  • Õppige Pythoni, ehitades viis mĂ€ngu - tĂ€ielik kursus
  • Pythoni ja Pygame'i Ă”petus - ehitage Tetris! Kogu GameDevi kursus
  • Snake Game Pythoni Ă”petus

? meditsiin ja farmakoloogia

Pythonil on hĂ€mmastavaid rakendusi ka meditsiinivaldkonnas. Teid ĂŒllatab, kuidas tehnoloogiat kombineeritakse meditsiiniteadmistega, et pakkuda patsientidele tĂ€pseid ja tĂ”husaid diagnoose ja ravimeetodeid.

Rakendused

MÔned nÀited Pythoni kasutamisest meditsiinis ja farmakoloogias hÔlmavad jÀrgmist:

  • Kliiniliste diagnooside seadmine patsientide terviseandmete ja sĂŒmptomite pĂ”hjal.
  • Meditsiiniliste andmete analĂŒĂŒsimine.
  • Arvutuslike mudelite koostamine uute ravimite vĂ€ljatöötamise kiirendamiseks.

Need laialdased rakendused hÔlmavad tuhandeid ja tuhandeid nÀiteid kogu maailmas. Valisin neist mÔned, et illustreerida, kuidas Python seda vÀlja kujundab. Heidame neile pilgu.

Farmaatsia edulugu: AstraZeneca

Ametliku Pythoni dokumentatsiooni andmetel kasutas ĂŒks maailma juhtivaid farmaatsiaettevĂ”tteid AstraZeneca Pythoni olemasolevate arvutusmudelite tĂ€iustamiseks, et muuta need "jĂ”ulisemaks, laiendatavamaks ja hooldatavamaks".

Teadlased kasutasid neid mudeleid, et simuleerida molekulide keemilist struktuuri ja nende mÔju kehas. See aitas teadlastel tuvastada uute ravimite potentsiaalsed molekulid ja asuda neid laboris kiiremini katsetama.

Meeskonnaga liitudes veenis Andrew Dalke, olles "Pythoni tuntud advokaat arvutuskeemia ja bioloogia alal", meeskond, et Python on just see, mida nad vajavad.

Selle töö jaoks valiti Python, kuna see on ĂŒks paremaid keeleteadlastele kĂ€ttesaadavaid keeli, st inimestele, kellel puudub arvutiteaduse taust.

Ta teatas, et:

Python oli mÔeldud lahendama reaalses maailmas probleeme, millega eksperdi programmeerija silmitsi seisis. Tulemuseks on keel, mis laieneb hÀsti alates keemiku kirjutatud vÀikestest skriptidest kuni tarkvaraarendaja kirjutatud suurte pakettideni.

HÀmmastav, eks? Python saab kasutada arvutuslikke mudeleid, mida farmaatsia laborid kasutavad uute ravimite vÀljatöötamiseks.

Punaste vereliblede (RBC) tuvastamine

Teine huvitav Pythoni meditsiiniline rakendus on seotud hematoloogiaga. Tavaliselt analĂŒĂŒsivad spetsialiseerunud spetsialistid vereanalĂŒĂŒse, loendades ja tuvastades rakke kĂ€sitsi, kuid seda saab automatiseerimise abil parandada.

Teadlased leidsid, et Python vÔib olla selle töö jaoks Ôige tööriist. Vaatame huvitavat projekti.

IdentiCyte

Selle projekti eesmÀrk on tuvastada ja klassifitseerida punaste vereliblede kuju optilistest mikroskoobidest tehtud piltide pÔhjal. Selle artikli kohaselt vÔib "RBC kuju aidata diagnoosida selliseid haigusi ja hÀireid nagu leukeemia, sirprakuline aneemia ja malaaria."

Projekti töötasid vÀlja Austraalia Bioresource Processing Research Institute teadlased. See oli programmeeritud Pythonis ja kasutas Pythoni pakettide ja teekide, nÀiteks numpy, scipy, opencv-python, scikit-learn ja matplotlib, pilditöötlust.

Pythoni meditsiinipaketid

  • pyGeno: avatud lĂ€htekoodiga Pythoni pakett, mille on vĂ€lja töötanud Tariq Daouda Immunoloogia ja VĂ€hiuuringute Instituudis (IRIC). See on mĂ”eldud "tĂ€ppismeditsiini rakendusteks, mis pöörlevad genoomika ja proteoomika ĂŒmber". See töötab vĂ”rdlus- ja isikupĂ€rastatud genoomidega.
  • MedPy: avatud lĂ€htekoodiga Pythoni teek "meditsiiniliseks pilditöötluseks Pythonis, pakkudes pĂ”hifunktsioone suvalise mÔÔtmetega suurte piltide lugemiseks, kirjutamiseks ja manipuleerimiseks.

Reaalses maailmas kasutatavad meditsiinilised rakendused (nÀited)

  • Gusztav Belteki esitas PyData Berliinis 2018 peetud kĂ”nes "Python in Medicine: mehaaniliste ventilaatorite andmete analĂŒĂŒsimine" veel ĂŒhe nĂ€ite. Tema uurimistöö eesmĂ€rk oli "tĂ”lgendada vastsĂŒndinute intensiivravis kasutatavatest kaasaegsetest seadmetest, mehaanilistest ventilaatoritest ja patsiendimonitoridest saadud suuri andmekogumeid".
  • PyCon 2019-l pidas Jill Cates selle ettekande pealkirjaga "Kuidas luua Pythonis kliinilist diagnostilist mudelit".

? Bioloogia ja bioinformaatika

Pythonil on hĂ€mmastavaid rakendusi ka bioloogia ja bioinformaatika maailmas. Nende hulka kuuluvad DNA jĂ€rjestuste töötlemine, populatsiooni dĂŒnaamika ja geneetika simuleerimine ning biokeemiliste struktuuride modelleerimine.

Biopyton

Biopython on Pythoni raamistik, millel on "vabalt kÀttesaadavad tööriistad bioloogiliseks arvutamiseks". Selle eesmÀrk on "tegeleda bioinformaatika praeguse ja tulevase töö vajadustega".

Vastavalt selle dokumentatsioonile sisaldab see raamistik selliseid funktsioone nagu vÔime:

  • Töötage jĂ€rjestustega ja tehke nendega tavalisi toiminguid, nĂ€iteks transkriptsioon, tĂ”lkimine ja kaalu arvutamine.
  • Ühendage bioloogiliste andmebaasidega.
  • Andmete klassifitseerimine K-lĂ€himate naabrite, naiivsete Bayesi ja tugivektorimasinate abil.
  • Töö fĂŒlogeneetiliste puude ja populatsiooni geneetikaga.

Dokumentatsioonis on öeldud, et "Biopythoni eesmÀrk on muuta Pythoni kasutamine bioinformaatika jaoks vÔimalikult lihtsaks, luues kvaliteetsed, korduvkasutatavad moodulid ja klassid".

Rosalind: harjutage Pythoni, lahendades bioinformaatika vÀljakutseid

Rosalind on "platvorm bioinformaatika Ă”ppimiseks probleemide lahendamise kaudu". See on "tasuta ja ĂŒldsusele avatud" (KKK leht nĂ€itab, et see on beeta reĆŸiimis).

Pythoni abil saab platvormil vÀljakutseid lahendada. Kuna see on platvormil vÀga populaarne programmeerimiskeel, on seal jaotis "Python Village", kus saate enne bioinformaatika algoritmidega tegelemist Ôppida Pythoni pÔhitÔdesid.

Kasutajad lahendavad probleemid, kÀivitades oma lahendused arvutis, töötledes antud andmekogumit ja kopeerides / kleepides vÀljundi vastuse kontrollimiseks.

? NÔuanne: Projekti nimi mÀlestab Rosalind Franklinit, "kelle röntgenkristallograafia Raymond Goslingiga hÔlbustas Watsoni ja Cricki DNA topeltheeliksi avastamist".

Paketid ja raamistikud

  • ProDy: tasuta ja avatud lĂ€htekoodiga pakett valkude struktuuridĂŒnaamika analĂŒĂŒsiks, mille on vĂ€lja töötanud Bahar Lab Pittsburghi ĂŒlikoolis.
  • PySB : "raamistik biokeemiliste sĂŒsteemide matemaatiliste mudelite loomiseks Pythoni programmidena", mille on vĂ€lja töötanud Vanderbilti ĂŒlikooli Lopezi labori ja Harvardi meditsiinikooli Sorgeri labori liikmed.
  • Kogukonna simulaator: see on Bostoni ĂŒlikooli teadlaste poolt vĂ€lja töötatud "vabalt saadaval olev Pythoni pakett mikroobide populatsiooni dĂŒnaamika jĂ€ljendamiseks reprodutseeritaval, lĂ€bipaistval ja skaleeritaval viisil".

? NÔuanne: kui soovite rohkem teada saada Pythoni rakenduste kohta bioinformaatikas, siis siin on Martin Schweitzeri kÔne PyCon Australia'is: "Python bioinformaatika jaoks Pythoni Ôppimiseks".

? Neuroteadused ja psĂŒhholoogia

Pythonil on rakendusi ka neuroteaduste ja eksperimentaalse psĂŒhholoogia uurimisel.

PĂŒĂŒton neuroteaduses

Aju simulatsiooni keskuse Ecole Polytechnique Fédérale de Lausanne, Ơveits, Ơveits teadlaste kirjutatud artikli Python in neuroscience jÀrgi:

Arvutamine muutub oluliseks kĂ”igis teadustes, andmete kogumisel ja analĂŒĂŒsimisel, automatiseerimisel ning hĂŒpoteeside testimisel modelleerimise ja simulatsiooni abil.

Pythoni osas vÀidavad nad, et:

Meile sai 2007. aastal selgeks, et oleme areneva Pythoni tipus neuroteaduste ökosĂŒsteemis, eriti arvutuslikus neuroteadustes ja neurokujutistes, aga ka elektrofĂŒsioloogiliste andmete analĂŒĂŒsis ja psĂŒhhofĂŒĂŒsikas.

Nagu nÀete, on Python ja arvutus laienenud kÔigis teadustes.

PsychoPy

PsychoPy on "avatud lĂ€htekoodiga pakett eksperimentide kĂ€itamiseks Pythonis", mida toetab Nottinghami ĂŒlikool. Selle paketi ametliku dokumentatsiooni kohaselt:

Seda kasutavad paljud laborid kogu maailmas psĂŒhhofĂŒĂŒsika, kognitiivse neuroteaduse ja eksperimentaalse psĂŒhholoogia jaoks.

Selle paketi ametlikul veebisaidil on öeldud, et see on:

  • Lihtne Ă”ppimiseks.
  • PsĂŒhhofĂŒĂŒsika jaoks piisavalt tĂ€pne.
  • Paindlik.
  • Veebi- vĂ”i laboripĂ”hine, sĂ”ltuvalt kasutaja valikust.

? Astronoomia

Pythonil on rakendusi ka astronoomias ja astrofĂŒĂŒsikas. Vaatame kolme peamist Pythoni paketti, mida selles teadusvaldkonnas kasutatakse:

Astroopia

Astropy pakett "sisaldab mitmesuguseid klasse, utiliite ja pakendiraamistikku, mis on mÔeldud tavaliselt kasutatavate astronoomia tööriistade pakkumiseks".

Astroopia on osa suuremast projektist nimega The Astropy Project, mis on "kogukonna pĂŒĂŒd töötada vĂ€lja Pythoni astronoomia ĂŒhine pĂ”hipakett ja edendada koostalitlusvĂ”imeliste astronoomiapakettide ökosĂŒsteemi".

Selle About lehe kohaselt on selle ĂŒks eesmĂ€rk "parandada astronoomia Pythoni pakettide kasutatavust, koostalitlusvĂ”imet ja koostööd".

? NÔuanne: nÀiteid Astropy abil tehtud projektide kohta saate nÀite galeriist.

SunPy

SunPy paketti kirjeldatakse kui "kogukonna poolt vĂ€lja töötatud, tasuta ja avatud lĂ€htekoodiga pĂ€ikeseandmete analĂŒĂŒsikeskkonda Pythoni jaoks". See tugineb Pythoni pakettide nagu NumPy, SciPy, Matplotlib ja Pandas vĂ”imalustele.

SpacePy

SpacePy pakett on "kosmoseteadustele suunatud Pythoni pakett, mille eesmĂ€rk on muuta pĂ”hiandmete analĂŒĂŒs, modelleerimine ja visualiseerimine lihtsamaks".

Ametliku dokumentatsiooni kohaselt:

SpacePy projekti eesmÀrk on edendada tÀpseid ja avatud uurimisstandardeid, pakkudes koodi arendamiseks avatud keskkonda.

Vastavalt oma GitHubi hoidla kirjeldusele on sellel asetatud ajastuklassid, triivi kestade jÀlgimine, juurdepÀÀs magnetvÀlja mudelitele, sujuvam jÀlgimine, alglaadimise usalduse piirid, aja ja koordinaatide teisendused ja palju muud.

? Muud rakendused

Pythoni saab kasutada ka paljudes muudes valdkondades, sealhulgas:

  • Robootika: Pythoni saab kasutada robotite programmeerimiseks. Sel eesmĂ€rgil kirjutatud raamatukogu on pybotics, "robotite kinemaatika ja kalibreerimise avatud lĂ€htekoodiga Pythoni tööriistakast".
  • Autonoomsed sĂ”idukid: Pythoni abil saab programmeerida tarkvara, mis juhib isejuhtivaid autosid. Need autod vajavad arvutinĂ€gemist, et "nĂ€ha", kus nad sĂ”idavad, kus on rada ja millised objektid neid ĂŒmbritsevad.
  • Meteoroloogia : kliimaindeksite pakett "sisaldab Pythoni rakendusi erinevatele kliimaindeksi algoritmidele, mis annavad geograafilise ja ajalise pildi sademete raskusest ja kliima jĂ€lgimiseks ja uurimiseks kasulikest temperatuurianomaaliatest".
  • Äri: Python vĂ”ib olla vĂ”imas tööriist ettevĂ”tete loodud andmete analĂŒĂŒsimiseks ja tuleviku suundumuste prognoosimiseks.
  • Graafilise kasutajaliidese (GUI) arendamine : Pythoni saab kasutada graafiliste kasutajaliideste loomiseks selliste tööriistadega nagu tkinter.
  • Kui olete huvitatud selle kohta lisateabe saamiseks, on freeCodeCampil YouTube'is suurepĂ€rane juhendaja: Tkinteri kursus - looge Pythoni Ă”petuses graafilised kasutajaliidesed.

? KokkuvÔttes

Igas piirkonnas on palju Pythoni rakendusi, mida vĂ”ite ette kujutada. Loodan, et see artikkel andis teile aimu selle programmeerimiskeele reaalsetest rakendustest laias valikus tööstustes, mis praegu meie maailma kujundavad.  

Pidage meeles, et olenemata sellest, millises valdkonnas olete vÔi millises valdkonnas soovite olla, avab Pythoni Ôppimine teile kindlasti palju uksi. See on siin, et jÀÀda. Ja see on muutnud ja parandanud meie praegust maailma ning jÀtkab seda paljude aastate jooksul.

Loodan vĂ€ga, et teile meeldis minu artikkel ja see oli teile kasulik. Vaadake minu veebikursusi. JĂ€lgi mind Twitteris. ⭐