Ko tieši jūs varat darīt ar Python? Šeit ir 3 galvenās Python lietojumprogrammas.

Ja jūs domājat apgūt Python - vai ja nesen to sākāt mācīties, jūs, iespējams, uzdodat sev jautājumu:

"Kam tieši es varu izmantot Python?"

Nu, tas ir grūts jautājums, uz kuru jāatbild, jo Python ir tik daudz lietojumprogrammu.

Bet laika gaitā esmu novērojis, ka Python ir 3 galvenās populārās lietojumprogrammas:

  • Web izstrāde
  • Datu zinātne - ieskaitot mašīnmācīšanos, datu analīzi un datu vizualizāciju
  • Skriptu izveidošana

Parunāsim par katru no tiem pēc kārtas.

Web izstrāde

Tīmekļa ietvari, kuru pamatā ir Python, piemēram, Django un Flask , nesen ir kļuvuši ļoti populāri tīmekļa izstrādei.

Šīs tīmekļa struktūras palīdz jums izveidot servera puses kodu (aizmugures kodu) Python. Tas ir kods, kas darbojas jūsu serverī, atšķirībā no lietotāju ierīcēm un pārlūkiem (priekšgala kods). Ja jums nav pazīstama atšķirība starp aizmugures kodu un priekšgala kodu, lūdzu, skatiet manu zemāk esošo zemsvītras piezīmi.

Bet pagaidiet, kāpēc man ir nepieciešama tīmekļa sistēma?

Tas ir tāpēc, ka tīmekļa sistēma atvieglo kopējas aizmugures loģikas izveidi. Tas ietver dažādu URL kartēšanu ar Python koda gabaliem, nodarbošanos ar datu bāzēm un HTML failu ģenerēšanu, kurus lietotāji redz savās pārlūkprogrammās.

Kurš Python tīmekļa ietvars ir jāizmanto?

Django un Flask ir divi no populārākajiem Python tīmekļa ietvariem. Es iesaku izmantot vienu no tiem, ja jūs tikko sākat darbu.

Kāda ir atšķirība starp Django un Flask?

Par šo tēmu ir izcils Gareta Dveijera raksts, tāpēc ļaujiet man to citēt šeit:

te>

Galvenie kontrasti:

  • Kolba nodrošina vienkāršību, elastību un precīzu kontroli. Tas ir bez iebildumiem (tas ļauj jums izlemt, kā vēlaties īstenot lietas).
  • Django nodrošina visaptverošu pieredzi: jūs saņemat administratora paneli, datu bāzes saskarnes, ORM [objektu relāciju kartēšanu] un direktoriju struktūru savām lietotnēm un projektiem ārpus kastes.

Jums, iespējams, vajadzētu izvēlēties:

  • Kolba, ja esat koncentrējies uz pieredzi un mācīšanās iespējām vai vēlaties vairāk kontrolēt, kurus komponentus izmantot (piemēram, kādas datu bāzes vēlaties izmantot un kā ar tām mijiedarboties).
  • Django, ja jūs koncentrējaties uz gala produktu. It īpaši, ja strādājat ar vienkāršu lietojumprogrammu, piemēram, ziņu vietni, e-veikalu vai emuāru, un vēlaties, lai vienmēr būtu viens, acīmredzams veids, kā rīkoties.

te>

Citiem vārdiem sakot, ja esat iesācējs, kolba, iespējams, ir labāka izvēle, jo tajā ir mazāk komponentu, ar kuriem jārīkojas. Arī kolba ir labāka izvēle, ja vēlaties vairāk pielāgot.

No otras puses, ja jūs vēlaties izveidot kaut ko tieši, Django, iespējams, ļaus jums tur nokļūt ātrāk.

Tagad, ja jūs vēlaties uzzināt Django, es iesaku grāmatu Django iesācējiem. Jūs to varat atrast šeit.

Šeit var atrast arī šīs grāmatas bezmaksas paraugnodaļas.

Labi, ejam uz nākamo tēmu!

Datu zinātne - ieskaitot mašīnmācīšanos, datu analīzi un datu vizualizāciju

Vispirms apskatīsim kāda mašīna mācīšanās ir .

Es domāju, ka labākais veids, kā izskaidrot, kas ir mašīnmācīšanās, būtu sniegt jums vienkāršu piemēru.

Pieņemsim, ka vēlaties izstrādāt programmu, kas automātiski nosaka attēlā redzamo.

Ņemot vērā šo attēlu zemāk (1. attēls), jūs vēlaties, lai jūsu programma atzīst, ka tas ir suns.

Ņemot vērā šo zemāk redzamo (2. attēls), jūs vēlaties, lai jūsu programma atzīst, ka tā ir tabula.

Jūs varētu teikt: labi, es varu vienkārši uzrakstīt kodu, lai to izdarītu. Piemēram, varbūt, ja attēlā ir daudz gaiši brūnu pikseļu, tad mēs varam teikt, ka tas ir suns.

Vai varbūt jūs varat izdomāt, kā attēlā noteikt malas. Tad, jūs varētu teikt, ja ir daudz taisnu malu, tad tas ir galds.

Tomēr šāda veida pieeja kļūst diezgan sarežģīta. Ko darīt, ja attēlā ir balts suns bez brūniem matiem? Ko darīt, ja attēlā redzamas tikai apaļas galda daļas?

Šeit ienāk mašīnmācīšanās.

Mašīnmācīšanās parasti ievieš algoritmu, kas automātiski nosaka paraugu dotajā ievadā.

Mašīnmācīšanās algoritmam varat dot, teiksim, 1000 suņa attēlus un 1000 tabulas attēlus. Tad tā uzzinās atšķirību starp suni un galdu. Kad jūs tam piešķirat jaunu suņa vai galda attēlu, tas varēs atpazīt, kurš tas ir.

Es domāju, ka tas ir nedaudz līdzīgs tam, kā zīdainis mācās jaunas lietas. Kā mazulis uzzina, ka viena lieta izskatās kā suns, bet otra - galds? Droši vien no virknes piemēru.

Jūs droši vien nepārprotami nesakāt mazulim: "Ja kaut kas ir pūkains un tam ir gaiši brūni mati, tad tas, iespējams, ir suns."

Jūs droši vien vienkārši teiktu: “Tas ir suns. Šis ir arī suns. Un šis ir galds. Arī tas ir galds. ”

Mašīnmācīšanās algoritmi darbojas līdzīgi.

Šo pašu ideju varat izmantot:

  • ieteikumu sistēmas (domājiet par YouTube, Amazon un Netflix)
  • sejas atpazīšana
  • balss atpazīšana

starp citiem lietojumiem.

Populāri mašīnmācīšanās algoritmi, par kuriem jūs, iespējams, esat dzirdējuši, ietver:

  • Neironu tīkli
  • Dziļa mācīšanās
  • Atbalsta vektoru mašīnas
  • Nejaušs mežs

Jūs varat izmantot jebkuru no iepriekš minētajiem algoritmiem, lai atrisinātu attēlu marķēšanas problēmu, kuru es iepriekš paskaidroju.

Python mašīnmācībai

Python ir populāras mašīnmācīšanās bibliotēkas un ietvari.

Divi no populārākajiem ir scikit-learn un TensorFlow .

  • scikit-learn ir iebūvēti daži no populārākajiem mašīnmācīšanās algoritmiem. Dažus no tiem es minēju iepriekš.
  • TensorFlow drīzāk ir zema līmeņa bibliotēka, kas ļauj veidot pielāgotus mašīnmācīšanās algoritmus.

Ja jūs tikko sākat darbu ar mašīnmācīšanās projektu, es iesaku vispirms sākt ar scikit-learn. Ja jūs sākat saskarties ar efektivitātes jautājumiem, es sāktu izpētīt TensorFlow.

Kā man mācīties mašīnmācīšanos?

Lai apgūtu mašīnmācīšanās pamatus, es ieteiktu vai nu Stenforda, vai Caltech mašīnmācīšanās kursu.

Lūdzu, ņemiet vērā, ka jums ir nepieciešamas pamatzināšanas par aprēķinu un lineāro algebru, lai saprastu dažus šo kursu materiālus.

Tad es praktizētu to, ko esat iemācījušies vienā no šiem kursiem ar Kaggle. Tā ir vietne, kurā cilvēki sacenšas, lai izveidotu labāko mašīnmācīšanās algoritmu konkrētai problēmai. Viņiem ir arī jaukas apmācības iesācējiem.

Kā ar datu analīzi un datu vizualizāciju?

Lai palīdzētu jums saprast, kā tie varētu izskatīties, ļaujiet man šeit sniegt vienkāršu piemēru.

Pieņemsim, ka strādājat uzņēmumā, kas dažus produktus pārdod tiešsaistē.

Tad kā datu analītiķis jūs varētu uzzīmēt šādu joslu diagrammu.

No šī grafika mēs varam pateikt, ka vīrieši šajā svētdienā iegādājās vairāk nekā 400 šī produkta vienības, bet sievietes - aptuveni 350 šī produkta vienības.

Kā datu analītiķis jūs varētu nākt klajā ar dažiem iespējamiem šīs atšķirības skaidrojumiem.

Viens acīmredzams iespējamais izskaidrojums ir tāds, ka šis produkts ir vairāk populārs vīriešu nekā sieviešu vidū. Cits iespējamais izskaidrojums varētu būt tas, ka izlases lielums ir pārāk mazs, un šo atšķirību izraisīja tikai nejaušība. Un vēl viens iespējamais izskaidrojums varētu būt tāds, ka vīrieši šo iemeslu dēļ mēdz pirkt vairāk tikai svētdien.

Lai saprastu, kurš no šiem skaidrojumiem ir pareizs, varat uzzīmēt vēl vienu līdzīgu diagrammu.

Tā vietā, lai parādītu datus tikai par svētdienu, mēs skatāmies pilnas nedēļas datus. Kā redzat, no šīs diagrammas mēs varam redzēt, ka šī atšķirība dažādās dienās ir diezgan konsekventa.

Izmantojot šo mazo analīzi, jūs varētu secināt, ka pārliecinošākais šīs atšķirības skaidrojums ir tāds, ka šis produkts ir vienkārši populārāks vīriešu nekā sieviešu vidū.

No otras puses, kā būtu, ja tā vietā redzētu tādu diagrammu kā šī?

Tad kas izskaidro svētdienas atšķirību?

Jūs varētu teikt, varbūt vīrieši kāda iemesla dēļ mēdz pirkt vairāk šī produkta tikai svētdien. Vai varbūt tā bija tikai sagadīšanās, ka vīrieši svētdien to nopirka vairāk.

Tātad, šis ir vienkāršots piemērs tam, kā datu analīze varētu izskatīties reālajā pasaulē.

Datu analīzes darbs, ko veicu, strādājot Google un Microsoft, bija ļoti līdzīgs šim piemēram - tikai sarežģītāks. Šāda veida analīzei es faktiski izmantoju Google Python, savukārt Microsoft - JavaScript.

Es izmantoju SQL abos šajos uzņēmumos, lai iegūtu datus no mūsu datu bāzēm. Pēc tam es izmantotu vai nu Python un Matplotlib (pie Google), vai JavaScript un D3.js (pie Microsoft), lai vizualizētu un analizētu šos datus.

Datu analīze / vizualizācija ar Python

Viena no populārākajām datu vizualizācijas bibliotēkām ir Matplotlib.

Sākumā ir laba bibliotēka, jo:

  • Ar to ir viegli sākt
  • Uz tā ir balstītas dažas citas bibliotēkas, piemēram, seaborn. Tātad, apgūstot Matplotlib, vēlāk varēsit apgūt šīs citas bibliotēkas.

Kā man vajadzētu apgūt datu analīzi / vizualizāciju ar Python?

Vispirms jums vajadzētu uzzināt datu analīzes un vizualizācijas pamatus. Kad tiešsaistē meklēju labus resursus, es to nevarēju atrast. Tāpēc es izveidoju YouTube videoklipu par šo tēmu:

Es arī pabeidzu pilnu kursu par šo tēmu vietnē Pluralsight, kuru varat iziet bez maksas, reģistrējoties viņu 10 dienu bezmaksas izmēģinājumam.

Es ieteiktu abus.

Pēc datu analīzes un vizualizācijas pamatu apgūšanas noderēs arī statistikas pamati no tādām vietnēm kā Coursera un Khan Academy.

Skriptu izveidošana

Kas ir skripti?

Skripti parasti attiecas uz nelielu programmu rakstīšanu, kas paredzētas vienkāršu uzdevumu automatizēšanai.

Tātad, ļaujiet man sniegt piemēru no manas personīgās pieredzes šeit.

Es kādreiz strādāju nelielā starta uzņēmumā Japānā, kur mums bija e-pasta atbalsta sistēma. Tā bija sistēma, lai mēs varētu atbildēt uz jautājumiem, kurus klienti mums nosūtīja pa e-pastu.

Kad es tur strādāju, man bija uzdevums saskaitīt to e-pastu skaitu, kas satur noteiktus atslēgvārdus, lai mēs varētu analizēt saņemtos e-pastus.

Mēs to būtu varējuši izdarīt manuāli, bet tā vietā es uzrakstīju vienkāršu programmu / vienkāršu skriptu, lai automatizētu šo uzdevumu.

Patiesībā mēs toreiz izmantojām Ruby, taču Python ir arī laba valoda šāda veida uzdevumiem. Python ir piemērots šāda veida uzdevumiem galvenokārt tāpēc, ka tam ir salīdzinoši vienkārša sintakse un to ir viegli rakstīt. Ir arī ātri ar to uzrakstīt kaut ko mazu un pārbaudīt.

Kā ar iegultām lietojumprogrammām?

Es neesmu eksperts iegultās lietojumprogrammās, bet es zinu, ka Python strādā ar Rasberry Pi. Šķiet, ka tā ir populāra aplikācija aparatūras hobijiem.

Kā ar spēlēšanu?

Spēļu izstrādei jūs varētu izmantot bibliotēku ar nosaukumu PyGame, taču tā nav vispopulārākā spēļu programma. Jūs to varētu izmantot, lai izveidotu hobija projektu, taču es personīgi to neizvēlētos, ja jūs nopietni domājat par spēļu attīstību.

Drīzāk es ieteiktu sākt darbu ar Unity ar C #, kas ir viens no populārākajiem spēļu dzinējiem. Tas ļauj jums izveidot spēli daudzām platformām, tostarp Mac, Windows, iOS un Android.

Kā ar darbvirsmas lietojumprogrammām?

Jūs varētu izveidot vienu ar Python, izmantojot Tkinter, taču tas arī nešķiet vispopulārākā izvēle.

Tā vietā šķiet, ka tādas valodas kā Java, C # un C ++ ir populārākas.

Nesen daži uzņēmumi ir sākuši izmantot JavaScript arī, lai izveidotu darbvirsmas lietojumprogrammas.

Piemēram, Slack darbvirsmas lietotne tika uzbūvēta ar kaut ko tādu, ko sauc par Electron. Tas ļauj jums izveidot darbvirsmas lietojumprogrammas ar JavaScript.

Personīgi, ja es veidotu darbvirsmas lietojumprogrammu, es izvēlētos JavaScript iespēju. Tas ļauj atkārtoti izmantot daļu koda no tīmekļa versijas, ja tāda jums ir.

Tomēr arī es neesmu darbvirsmas lietojumprogrammu eksperts, tāpēc, lūdzu, paziņojiet man komentārā, ja nepiekrītat vai piekrītat man šajā jautājumā.

Python 3 vai Python 2?

Es ieteiktu Python 3, jo tas ir modernāks un šobrīd ir populārāks variants.

Zemsvītras piezīme: piezīme par aizmugures kodu un priekšpuses kodu (tikai gadījumā, ja jūs nezināt šos noteikumus):

Pieņemsim, ka vēlaties izveidot kaut ko līdzīgu Instagram.

Pēc tam jums ir jāizveido priekšgala kods katram ierīces tipam, kuru vēlaties atbalstīt.

Varat izmantot, piemēram:

  • Operētājsistēmai iOS
  • Java operētājsistēmai Android
  • JavaScript tīmekļa pārlūkiem

Katra kodu kopa darbosies katra veida ierīcē / pārlūkprogrammā. Tas būs kodu kopums, kas nosaka, kāds būs lietotnes izkārtojums, kā pogām jāizskatās, noklikšķinot uz tām utt.

Tomēr jums joprojām būs nepieciešama iespēja saglabāt lietotāju informāciju un fotoattēlus. Jūs vēlaties tos saglabāt savā serverī, nevis tikai lietotāju ierīcēs, lai katra lietotāja sekotāji varētu apskatīt viņa fotoattēlus.

Šeit parādās aizmugures kods / servera puses kods. Lai veiktu šādas darbības, jums būs jāuzraksta aizmugures kods.

  • Sekojiet līdzi tam, kurš kam seko
  • Saspiediet fotoattēlus, lai tie neaizņemtu tik daudz vietas
  • Iesakiet katram lietotājam fotoattēlus un jaunus kontus atklāšanas funkcijā

Tātad, šī ir atšķirība starp aizmugures kodu un priekšgala kodu.

Starp citu, Python nav vienīgā laba izvēle, lai rakstītu aizmugures / servera puses kodu. Ir daudzas citas populāras izvēles iespējas, tostarp Node.js, kuras pamatā ir JavaScript.

Patika šis raksts? Tad jums varētu patikt arī mans YouTube kanāls.

Man ir programmēšanas izglītības YouTube kanāls CS Dojo ar vairāk nekā 440 000 abonentiem, kur es veidoju vairāk tāda satura kā šis raksts.

Piemēram, jums varētu patikt šie videoklipi:

Jebkurā gadījumā, liels paldies, ka izlasījāt manu rakstu!