1 00:00:00,000 --> 00:00:05,426 2 00:00:05,426 --> 00:00:06,800 Ross RHEINGANS-Yoo: Hi, unë jam Ross. 3 00:00:06,800 --> 00:00:08,570 Dhe kjo është një seminar CS50. 4 00:00:08,570 --> 00:00:12,100 Ajo do të marrë ju nga programimi në C për programimin në Python. 5 00:00:12,100 --> 00:00:15,120 >> Python është një gjuhë e shkruar. 6 00:00:15,120 --> 00:00:17,870 Është kryesisht si C në sintaksë, edhe pse disa 7 00:00:17,870 --> 00:00:20,390 nga detajet teknike të si merr ekzekutuar që sintaksë 8 00:00:20,390 --> 00:00:22,240 janë pak të ndryshme. 9 00:00:22,240 --> 00:00:24,780 Kjo është më pak e fuqishme se C në disa mënyra. 10 00:00:24,780 --> 00:00:28,130 Kjo është më pak ekspresive për ku pikërisht në kompjuterin tuaj 11 00:00:28,130 --> 00:00:30,030 kujtim merr hedhur jashtë, sa ajo merr hedhur jashtë, 12 00:00:30,030 --> 00:00:32,030 kur ajo merr lirinë, dhe këto llojet e gjërave. 13 00:00:32,030 --> 00:00:36,150 >> Kjo është më e dobishme se C në disa mënyra, sepse është më e lehtë për të programit në. 14 00:00:36,150 --> 00:00:39,920 Gjuha është, për disa njerëzit, më intuitiv. 15 00:00:39,920 --> 00:00:44,820 Dhe me të vërtetë, qëllimi është për që ajo të jetë më e shpejtë të programit 16 00:00:44,820 --> 00:00:46,490 dhe potencialisht të ngadalshme për të ekzekutuar. 17 00:00:46,490 --> 00:00:48,198 >> Tani në qoftë se ju mendoni rreth sasia e kohës 18 00:00:48,198 --> 00:00:50,514 keni shpenzuar në të fundit tuaj Problemi vendosur shkrim 19 00:00:50,514 --> 00:00:52,430 kodin tuaj kundër sasinë e kohës që ju kaloni 20 00:00:52,430 --> 00:00:55,310 në problemin juaj e fundit vendosur ekzekutimin kodin tuaj, 21 00:00:55,310 --> 00:00:58,300 ju do të imagjinoni se gjuha e cila ishte dy herë më i shpejtë për të shkruar, 22 00:00:58,300 --> 00:01:02,170 dhe dy herë më të ngadalshëm për të ekzekutuar, mund të të jetë një përmirësim në krahasim C në disa mënyra. 23 00:01:02,170 --> 00:01:05,730 Sigurisht kur jeni duke u përpjekur për të shkruar programe të vogla për të bërë gjëra të vogla, 24 00:01:05,730 --> 00:01:08,520 Python është një gjuhë e dobishme e zgjedhjes. 25 00:01:08,520 --> 00:01:10,620 >> Dhe në fund të kësaj seminar, unë shpresoj se ju do të 26 00:01:10,620 --> 00:01:12,950 të jetë në gjendje për të bërë zgjedhje në projektet e ardhshme 27 00:01:12,950 --> 00:01:17,710 për të cilën gjuhë është i saktë për t'u përdorur, nuk është ide 28 00:01:17,710 --> 00:01:21,405 se një gjuhë është më e korrigjuar gjithë kohës. 29 00:01:21,405 --> 00:01:23,030 Një disa gjëra në lidhje me atë seminari është. 30 00:01:23,030 --> 00:01:25,910 Ky seminar nuk ka për qëllim të t'ju mësojë Python nga zeroja. 31 00:01:25,910 --> 00:01:28,310 Python është shumë e ngjashme në C, dhe unë jam duke supozuar 32 00:01:28,310 --> 00:01:34,056 se ju jeni një student CS50, apo dikush me një familjaritet të ngjashme me C. 33 00:01:34,056 --> 00:01:36,700 >> Nëse ju jeni CS50 nxënës rreth problemi vendosur 6, 34 00:01:36,700 --> 00:01:38,866 Pra, ju keni të shihni një shumë gjëra në C, unë do të ju jap 35 00:01:38,866 --> 00:01:40,740 dallimet e mëdha, dhe disa nga gjërat 36 00:01:40,740 --> 00:01:42,840 që e bëjnë Python ndryshme dhe të veçanta dhe të dobishme, 37 00:01:42,840 --> 00:01:45,256 por unë nuk jam duke shkuar për të shkuar për çfarë është një gjuhë programimi është 38 00:01:45,256 --> 00:01:46,920 dhe se si të shkruajnë programe. 39 00:01:46,920 --> 00:01:49,820 Megjithatë, ky seminar do të mësojmë ju për të shkruar një programe Python 40 00:01:49,820 --> 00:01:52,310 në qoftë se ju jeni një nga ata pak grupeve. 41 00:01:52,310 --> 00:01:54,820 Përsëri ne do të shohim se si ju do të zbatojë psets-- 42 00:01:54,820 --> 00:01:57,550 që duhet të jetë 1-6 në Python-- dhe të sigurojë pointers 43 00:01:57,550 --> 00:02:00,322 në dokumentacionin zyrtar për referencë në të ardhmen. 44 00:02:00,322 --> 00:02:03,030 Gjë tjetër që është e rëndësishme për mënyrën se si ky diskutim është caktuar, 45 00:02:03,030 --> 00:02:05,360 Kjo video do të jetë internet, mirësjellje e CS50, 46 00:02:05,360 --> 00:02:07,550 kështu që ju nuk duhet të ndjehen si ju keni nevojë për të marrë shënime. 47 00:02:07,550 --> 00:02:11,180 Ju gjithmonë mund të shkoni prapa dhe të shikojmë në atë më vonë si një referencë. 48 00:02:11,180 --> 00:02:13,340 Si shtesë, slides janë në dispozicion tani 49 00:02:13,340 --> 00:02:16,480 në këtë vend, i cili duhet të të marrë ju bëni një doc Google. 50 00:02:16,480 --> 00:02:21,010 Kjo është një version shkurtuar pak e atë që unë jam duke treguar në ekran. 51 00:02:21,010 --> 00:02:24,850 >> Një caveat i kujdesshëm para ne kërcejnë në, Python 3 52 00:02:24,850 --> 00:02:26,700 është një gjuhë e ndryshme nga Python 2. 53 00:02:26,700 --> 00:02:30,020 Ata duken shumë të njëjta; atje jane dallime shumë të vogla teknike 54 00:02:30,020 --> 00:02:32,530 që do të shkaktojë programet shkruar në Python 2 55 00:02:32,530 --> 00:02:37,140 të mos jetë në gjendje për të ekzekutohet në mjedisin e Python 3. 56 00:02:37,140 --> 00:02:41,969 >> Pajisja vjen me CS50 Python, by default ajo përdor Python 2. 57 00:02:41,969 --> 00:02:44,010 Ju mund të kontrolloni këtë duke Typing në linjë tuaj komanduese 58 00:02:44,010 --> 00:02:51,310 --version python, e cila duhet të prodhimit 2.7.6 në pajisje aktuale. 59 00:02:51,310 --> 00:02:53,580 Provoni Python 3, e cila e bën punojnë në aplikim, 60 00:02:53,580 --> 00:02:58,500 nëse defaults Python për 2.X.Y, qoftë në pajisja ose në makinat tuaja. 61 00:02:58,500 --> 00:03:03,730 Ju duhet të zëvendësojë Python 3 në çdo kohë në këtë bisedë që unë shkruaj Python. 62 00:03:03,730 --> 00:03:05,760 Nëse makina e juaj është drejtimin e 2 by default, tip 63 00:03:05,760 --> 00:03:09,770 Python 3 në mënyrë që të jenë në gjendje që në fakt të ndjekin së bashku dhe të ekzekutuar këto gjëra. 64 00:03:09,770 --> 00:03:12,280 >> Përveç kësaj, unë do të ju pikë në burimet zyrtare tani. 65 00:03:12,280 --> 00:03:16,082 docs.python.org/3--~~V kujdesshëm se kjo është një 3 dhe jo një 2-- 66 00:03:16,082 --> 00:03:17,030 ka referenca të dobishme. 67 00:03:17,030 --> 00:03:19,280 Tutorial do të ju nëpërmjet shumë të njëjtat gjëra 68 00:03:19,280 --> 00:03:21,460 që unë jam duke bërë tani, përveç në formë teksti. 69 00:03:21,460 --> 00:03:23,725 Referenca është e dobishme si një reference për gjuhën, 70 00:03:23,725 --> 00:03:26,100 dhe Biblioteka Standardi jep ju disa nga zgjerimet 71 00:03:26,100 --> 00:03:27,770 me funksionalitet shtesë. 72 00:03:27,770 --> 00:03:31,300 >> Pra, një program shumë të parë Python. 73 00:03:31,300 --> 00:03:34,410 Në të majtë kemi standarde C, në të djathtë, ne kemi Python. 74 00:03:34,410 --> 00:03:36,780 Ju mund të keni njohur ky problem, është e 75 00:03:36,780 --> 00:03:40,760 një e problemit parë vendos në CS50, dhe këto 76 00:03:40,760 --> 00:03:42,677 zgjidhur atë duke përdorur të njëjtën zgjidhje. 77 00:03:42,677 --> 00:03:45,010 Tani, arsyeja që ne jemi duke kërkuar në këto krah për krah 78 00:03:45,010 --> 00:03:46,830 po kështu që ne mund të shohim në Dallimet sintaksore. 79 00:03:46,830 --> 00:03:49,580 Një nga elefantëve në dhomë që ju mund të keni vënë re drejtë 80 00:03:49,580 --> 00:03:56,350 off bat, është se nuk ka Python mbështjellës kryesor funksion rreth kodit. 81 00:03:56,350 --> 00:03:59,170 Pra në C, ju shkruani një bandë e fotografi, ti lidhin ato së bashku, 82 00:03:59,170 --> 00:04:02,590 dhe programi fillon ekzekutimin në këtë gjë të quajtur int main. 83 00:04:02,590 --> 00:04:04,930 >> Në Python, ju shkruani një paraqesë ju, të ekzekutuar file, 84 00:04:04,930 --> 00:04:07,882 programi fillon ekzekutimin në majë të lëndës. 85 00:04:07,882 --> 00:04:09,590 Kështu ajo do të fillojë në krye të dosjes 86 00:04:09,590 --> 00:04:11,280 shkoni poshtë derisa të gjeni diçka tjetër. 87 00:04:11,280 --> 00:04:14,440 Në qoftë se gjen një përkufizim funksion, kjo nuk do të vërtetë të ekzekutojë atë kod, 88 00:04:14,440 --> 00:04:15,940 ajo thjesht do të përcaktojë funksionin. 89 00:04:15,940 --> 00:04:18,459 Por këtu, kur për herë të parë Programi është n është e barabartë me 10, 90 00:04:18,459 --> 00:04:21,273 gjëja e parë që ky program do të bëni është të marrë këtë vlerë prej 10 91 00:04:21,273 --> 00:04:24,120 dhe e vendosi atë në një ndryshore të quajtur n. 92 00:04:24,120 --> 00:04:27,690 >> Duke folur për këtë linjë, një prej tjetër things-- sorry-- kjo 93 00:04:27,690 --> 00:04:31,040 do të thotë se programet C, ju do të shkruani ato, 94 00:04:31,040 --> 00:04:34,899 ju do të bëni ato, të cilat do të kërkoj disa komanda tingëllimë, 95 00:04:34,899 --> 00:04:36,690 dhe pastaj ju do të drejtuar një duke rezultuar ekzekutues. 96 00:04:36,690 --> 00:04:41,030 Programet Python, ju drejtuar Teksti file-- këtë mario.py fuqi 97 00:04:41,030 --> 00:04:44,900 të jetë këtë fotografi që unë vetëm tregoi ju, duke ju do të kandidojë këtë dosje 98 00:04:44,900 --> 00:04:47,450 dhe ju do të ekzekutojë, dhe përmbajtja e tij 99 00:04:47,450 --> 00:04:50,390 do të ekzekutohet nga përkthyesi Python. 100 00:04:50,390 --> 00:04:52,470 Ju mund ta bëni këtë në IDE tuaj. 101 00:04:52,470 --> 00:05:02,260 >> Pra, nëse unë kam një fotografi Përshëndetje, e cila thjesht ka këtë përmbajtje. 102 00:05:02,260 --> 00:05:04,840 Kjo është në fakt Python 2, nuk Python 3, kështu që nuk 103 00:05:04,840 --> 00:05:06,600 shqetësohen për sintaksë për tani. 104 00:05:06,600 --> 00:05:14,230 Por unë do të kandidojë Python, në hello.py, dhe ajo shkon. 105 00:05:14,230 --> 00:05:18,890 >> Një tjetër mënyrë që unë mund të përdorni Python se Unë nuk do të merret me aq shumë në këtë bisedë, 106 00:05:18,890 --> 00:05:21,840 është në qoftë se unë vetëm lloji Python, ajo bie mua në një mjedis ku 107 00:05:21,840 --> 00:05:24,370 Unë mund të ushqyer atë linjë Python nga linjë. 108 00:05:24,370 --> 00:05:31,260 Kështu që këtu, në qoftë se unë lloji në Hapësira print 'hello, bota'. 109 00:05:31,260 --> 00:05:32,360 Lloji hyjë. 110 00:05:32,360 --> 00:05:37,430 Ajo do të pështyj mua se mbështetur rezultatet se linja individuale menjëherë. 111 00:05:37,430 --> 00:05:38,470 >> Kjo mund të jetë e dobishme. 112 00:05:38,470 --> 00:05:40,700 Në këtë bisedë unë do të bëj gjëra në slides. 113 00:05:40,700 --> 00:05:43,940 Dhe kështu që ju do të jetë në gjendje për të ndjekur së bashku ose në këtu, ose duke shkruar 114 00:05:43,940 --> 00:05:45,725 fotografi aktuale dhe pastaj ekzekutimin e tyre. 115 00:05:45,725 --> 00:05:48,340 116 00:05:48,340 --> 00:05:50,995 >> Por, duke shkuar prapa në këtë Kodi, një tjetër gjë 117 00:05:50,995 --> 00:05:53,230 që ju mund të keni noticed-- mirë, nuk ka 118 00:05:53,230 --> 00:05:55,980 dy gjëra që ju mund të vini re në lidhje me këto blloqe. 119 00:05:55,980 --> 00:05:59,280 E para, në vend më i zakonshëm, është se Python ka pikëpresje zvarritës. 120 00:05:59,280 --> 00:06:02,630 >> Pikpresje janë fakultative kudo dhe të padëmshme kudo. 121 00:06:02,630 --> 00:06:03,722 Ju mund të shtoni ato. 122 00:06:03,722 --> 00:06:06,430 Kjo mund të bëjnë njerëzit që shkruajnë Python për të qeshur e mbytur gjallë në ty 123 00:06:06,430 --> 00:06:08,860 pas shpinës tuaj, sepse ata nuk janë të nevojshme. 124 00:06:08,860 --> 00:06:13,497 Ata janë shpesh një shenjë e duke u mbajtur mbi nga C. Designers e gjuhës 125 00:06:13,497 --> 00:06:16,580 mendojnë se ajo është më e qartë në këtë mënyrë dhe kjo nuk është e nevojshme të deklarojë 126 00:06:16,580 --> 00:06:18,700 çdo herë që të përfundojë një linjë. 127 00:06:18,700 --> 00:06:21,799 >> Një tjetër gjë e çuditshme në lidhje me këtë n është ajo nuk ka një lloj bashkangjitur. 128 00:06:21,799 --> 00:06:24,590 Një nga pjesët magjike e Python-- dhe unë jam duke shkuar për të thirrur atë magji, 129 00:06:24,590 --> 00:06:26,381 por ka shumë arsye teknike pse ajo 130 00:06:26,381 --> 00:06:28,560 works-- një nga copë magjike e Python 131 00:06:28,560 --> 00:06:32,700 është se variabla mund të zgjerohet ose tkurret për të përmbajë të dhëna të çfarëdo 132 00:06:32,700 --> 00:06:34,530 Llojet ju do të doni ta. 133 00:06:34,530 --> 00:06:35,580 >> Pra, kjo është një 10. 134 00:06:35,580 --> 00:06:40,060 Në qoftë se më vonë poshtë kam caktuar në këtë n 0.5, ajo do të marrë atë 0.5. 135 00:06:40,060 --> 00:06:43,770 Pa marrë parasysh se kjo është një int këtu dhe noton atje, çdo gjë që përdor këtë n 136 00:06:43,770 --> 00:06:47,057 do të, pak a shumë, të jetë në gjendje për të gulçitje së bashku në qoftë se ajo merr ose nga ata. 137 00:06:47,057 --> 00:06:49,640 Nëse nuk ka një shumë e vërtetë Arsyeja pse ajo nuk mund të përdorë të dhënat e 138 00:06:49,640 --> 00:06:52,170 shkruani se n aktualisht ka, në të cilën pikë ajo do të merrni 139 00:06:52,170 --> 00:06:54,490 bllokur dhe hedhin një gabim, dhe ato llojet e gjërave. 140 00:06:54,490 --> 00:06:57,050 >> Por këtu, Python me të vërtetë nuk ka kujdes se çfarë 141 00:06:57,050 --> 00:06:59,140 është ajo që unë jam duke shkuar për të rrinë në këtë dënim, si, ju doni këtë gjë? 142 00:06:59,140 --> 00:06:59,840 Kjo gjë në atë? 143 00:06:59,840 --> 00:07:00,640 Po, kjo është lloj i një gjë. 144 00:07:00,640 --> 00:07:01,810 Unë do të rrinë atë në fund. 145 00:07:01,810 --> 00:07:04,740 Ajo do të jetë një problem më vonë, në qoftë se dikush i cili dëshiron të përdorë këtë qëllim 146 00:07:04,740 --> 00:07:05,710 nuk mund të trajtojë atë. 147 00:07:05,710 --> 00:07:08,500 Kjo është një nga më të madh dallimet në mes Python dhe C 148 00:07:08,500 --> 00:07:10,790 që e bën të lehtë për të shkruaj programe shumë të mëdha C 149 00:07:10,790 --> 00:07:15,120 dhe bën më të lehtë për të shkruar program shumë i vogël Python. 150 00:07:15,120 --> 00:07:19,564 >> Për sintaksë nuk është shumë e i ndryshëm në atë që bën. 151 00:07:19,564 --> 00:07:21,480 Është paksa e ndryshme në mënyrën se si është e shprehur. 152 00:07:21,480 --> 00:07:25,370 Pra, kjo është një shumë, atë që quhet Pythonic, mënyra e të shkruarit atë. 153 00:07:25,370 --> 00:07:28,969 për rresht në varg (n), kjo është varg të numrave nga 0 deri n, 154 00:07:28,969 --> 00:07:31,010 përfshirëse në fund dhe ekskluzive mbi krye. 155 00:07:31,010 --> 00:07:34,790 Kështu që është nga 0 deri n-1, i cili është saktësisht se çfarë kodi C është duke bërë, 156 00:07:34,790 --> 00:07:38,690 përveç se është shumë më e lehtë për të parë ndoshta. 157 00:07:38,690 --> 00:07:42,710 >> Blloku përkatës është Nuk u nisën nga formatimin e teksteve, 158 00:07:42,710 --> 00:07:44,540 në vend të kësaj është e vendosur jashtë nga kjo vulë. 159 00:07:44,540 --> 00:07:47,580 Pra, të gjitha këto linja janë katër hapësira mbi të drejtën, 160 00:07:47,580 --> 00:07:50,410 ose si në lidhje me një gjerësi elefant. 161 00:07:50,410 --> 00:07:54,570 Dhe ata janë ato të cilat janë do të ekzekutohet në këtë për. 162 00:07:54,570 --> 00:07:57,020 Nëse unë mess up gjurmë në këtë dhe unë 163 00:07:57,020 --> 00:08:01,420 të shtyjë atë përsëri për të shtypura vulë origjinale, 164 00:08:01,420 --> 00:08:04,320 që të shtypura do të largohet për lak. 165 00:08:04,320 --> 00:08:08,560 Në kontrast me C, ku këtu unë në fakt nevojë për të lëvizur atë mbajtëse të mbyllur rreth. 166 00:08:08,560 --> 00:08:11,820 >> Kjo do të thotë që ju të mos merrni gabime që hidhen jashtë në ju, sepse ju 167 00:08:11,820 --> 00:08:13,580 vënë një mbajtëse në vendin e gabuar. 168 00:08:13,580 --> 00:08:16,460 Kjo do të thotë që ju të merrni gabime që hidhen jashtë në ju, sepse ju 169 00:08:16,460 --> 00:08:17,620 prerë një linjë të gabuar. 170 00:08:17,620 --> 00:08:19,290 Pra, kjo e bën indentations super i kujdesshëm. 171 00:08:19,290 --> 00:08:22,123 Shpresojmë që ju janë duke u super kujdesshëm me vulë tuaj gjithsesi, 172 00:08:22,123 --> 00:08:25,300 dhe kështu që kjo nuk është se më shumë nga një barrë. 173 00:08:25,300 --> 00:08:28,762 >> Por një rregull bazë për Python, dhe ne do të kemi një çift të këtyre 174 00:08:28,762 --> 00:08:30,970 se ne do të shkojnë nëpër nëpër rrjedha e bisedës, 175 00:08:30,970 --> 00:08:33,840 po përpiqet sintaksë natyrore para se të kërkoni ndonjë gjë lart. 176 00:08:33,840 --> 00:08:37,610 Pra, kjo sintaksë, për ky numër në varg, 177 00:08:37,610 --> 00:08:41,460 është shumë i veçantë në drejtim të stilit. 178 00:08:41,460 --> 00:08:45,260 Shumë gjëra në Python ne do të shohim të marrë këtë formë. 179 00:08:45,260 --> 00:08:47,420 >> Dhe kështu që nëse keni dalë me një objekt të ri që ju 180 00:08:47,420 --> 00:08:50,870 mendoj se ju duhet të jetë në gjendje të iterate mbi këtë, në këtë format, 181 00:08:50,870 --> 00:08:53,720 rezulton ajo ndoshta mbështet këtë format. 182 00:08:53,720 --> 00:08:56,990 Ne nuk jemi duke shkuar për të shkuar super të thellë në arsyet teknike pse kjo është e vërtetë. 183 00:08:56,990 --> 00:09:00,167 >> Por kjo është një intuitë dobishme që të ketë kur ju jeni afrohet programe Python, 184 00:09:00,167 --> 00:09:01,750 se kjo gjë është vetëm do të punojë. 185 00:09:01,750 --> 00:09:03,020 Provoje. 186 00:09:03,020 --> 00:09:06,480 Boot up vija e komandës Përkthyes, të shohim nëse ajo punon, 187 00:09:06,480 --> 00:09:09,827 të lëvizë me gjëra, para jush nevojë edhe për të hapur Google dhe thonë: 188 00:09:09,827 --> 00:09:11,660 çfarë është sintaksa për kjo gjë të veçantë? 189 00:09:11,660 --> 00:09:14,740 Shumë Python ju mund të zbuloni vetëm duke u përpjekur. 190 00:09:14,740 --> 00:09:19,005 >> Kjo në qoftë se është edhe më i ngjashëm C atëherë FORS janë. 191 00:09:19,005 --> 00:09:20,380 Vini re se nuk ka kllapa. 192 00:09:20,380 --> 00:09:23,490 Kllapa janë, përsëri, padëmshme, por të panevojshme. 193 00:09:23,490 --> 00:09:25,750 Nuk është një zorrë e trashë në fund ashtu si për sythe, 194 00:09:25,750 --> 00:09:30,800 dhe përsëri, blloqet janë relative prerë sesa nisën nga formatimin e teksteve. 195 00:09:30,800 --> 00:09:33,080 Ky tjetër është në origjinal Niveli i vulë, 196 00:09:33,080 --> 00:09:35,930 dhe bllok saj relevante prerë përsëri. 197 00:09:35,930 --> 00:09:41,720 Ata puna pikërisht si ata e bëjnë në C. 198 00:09:41,720 --> 00:09:44,520 >> Kjo është në fakt shumë e shumë të njëjtën gjë. 199 00:09:44,520 --> 00:09:49,430 Përsëri, të shtypura humbet një karakter off e printf Ju kaloni disa strings. 200 00:09:49,430 --> 00:09:51,520 Ajo rezulton strings ose mund të jetë shënuar off 201 00:09:51,520 --> 00:09:53,562 nga kuotat e vetme ose kuotat e dyfishtë. 202 00:09:53,562 --> 00:09:55,270 Nuk ka asnjë ndryshim, përveç se brenda 203 00:09:55,270 --> 00:09:57,722 i kuotat e vetme që ju mund të përdorni Kuotat e dyfishtë me braktisin, 204 00:09:57,722 --> 00:09:59,430 në vend që të shpëtuar të gjithë ata. 205 00:09:59,430 --> 00:10:01,480 Dhe brenda kuotat e dyfishtë, ju mund të përdorni kuotat e vetme me braktisin 206 00:10:01,480 --> 00:10:02,420 pa pasur nevojë për të shpëtuar ata. 207 00:10:02,420 --> 00:10:04,253 Në qoftë se ju të kërkuar për përzierje ata, ju me siguri mund 208 00:10:04,253 --> 00:10:06,100 kërkoni në internet se si për të bërë këtë. 209 00:10:06,100 --> 00:10:09,581 >> Ju do të vëreni se gjatë këtu, Unë e kam kaluar në fund = këtë gjë. 210 00:10:09,581 --> 00:10:12,580 Ky është një shembull i një opsional argument, i cili është një nga ato gjëra 211 00:10:12,580 --> 00:10:14,990 që Python mbështet se e bën atë mjaft e dobishme. 212 00:10:14,990 --> 00:10:18,240 Pra, të shtypura në fakt ka një shumë të argumentet, të cilat janë zakonisht të 213 00:10:18,240 --> 00:10:20,140 vendosur të parazgjedhur e tyre vlera, por këtu unë kam 214 00:10:20,140 --> 00:10:21,924 vendosur për të shkelur një të quajtur fund. 215 00:10:21,924 --> 00:10:24,340 Arsyeja që unë kam për të refuzo atë me një varg të zbrazët 216 00:10:24,340 --> 00:10:26,756 është se të shtypura në Python, nga parazgjedhur, printon një linjë të re 217 00:10:26,756 --> 00:10:28,630 pasi ajo që ju tha atë shumë. 218 00:10:28,630 --> 00:10:31,462 >> Pra, kjo hash është në të vërtetë do të shtypura nga një hash në një linjë të re. 219 00:10:31,462 --> 00:10:34,670 Dhe në qoftë se unë nuk dua hash të shtypura nga një linjë e re pas saj, atëherë unë duhet të them 220 00:10:34,670 --> 00:10:35,340 mos shtypura një të tillë. 221 00:10:35,340 --> 00:10:37,980 222 00:10:37,980 --> 00:10:43,690 Por, megjithatë kështu, një gjë e fundit që ky program mungon që e ka është 223 00:10:43,690 --> 00:10:44,960 një të përfshijë në krye. 224 00:10:44,960 --> 00:10:48,120 Print është pjekur në Python kështu që në thelb se nuk ka kokë apo moduli 225 00:10:48,120 --> 00:10:49,869 se ju duhet të përfshijnë, por nëse dëshironte 226 00:10:49,869 --> 00:10:52,029 për të përfshirë gjëra të tjera në një script Python, 227 00:10:52,029 --> 00:10:55,320 Unë do të bëjë atë në një format-- shumë të ngjashme fjalët janë vetëm pak më të ndryshme. 228 00:10:55,320 --> 00:10:58,840 229 00:10:58,840 --> 00:11:01,360 >> Kam përmendur se ne nuk kanë nevojë këtu një kryesor, 230 00:11:01,360 --> 00:11:03,372 sepse Python fillon ekzekutimin në krye. 231 00:11:03,372 --> 00:11:05,080 Në qoftë se unë të kërkuar për të përfunduar kjo në një funksion, unë 232 00:11:05,080 --> 00:11:07,667 do ta bëjë atë si this-- unë do të thonë def emrin funksion, 233 00:11:07,667 --> 00:11:10,500 Argumentet mund të shkojnë në këtu dhe ne do të të shihni disa prej atyre të mëvonshme, zorrës së trashë, 234 00:11:10,500 --> 00:11:13,040 dhe pastaj përsëri, kjo gjithë u nisën bllok 235 00:11:13,040 --> 00:11:16,810 është çfarë është operacional bllokuar për atë funksion. 236 00:11:16,810 --> 00:11:18,560 Pra, kjo është përkufizimi e funksionit. 237 00:11:18,560 --> 00:11:21,587 Dhe ka një deklaratë, pastaj poshtë këtu, unë vetëm mund të telefononi funksionin. 238 00:11:21,587 --> 00:11:23,920 Dhe përsëri, programi përkthyes, duke filluar në krye, 239 00:11:23,920 --> 00:11:25,280 do të shohim ky është definicioni. 240 00:11:25,280 --> 00:11:27,960 Kjo nuk do të ekzekutojë këtë deri sa të marrë këtu, dhe atëherë kjo është si, oh 241 00:11:27,960 --> 00:11:30,860 tani ju keni quajti atë, unë guess I duhet të ekzekutuar atë. 242 00:11:30,860 --> 00:11:33,850 >> Një gjë që është shumë e zakonshme për të parë në fotografi Python, 243 00:11:33,850 --> 00:11:36,700 sidomos fotografi Python se janë lëshuar për publikun 244 00:11:36,700 --> 00:11:41,650 dhe zhvilluar by-- dhe zhvilluar dhe ruajtur, është diçka e kësaj forme. 245 00:11:41,650 --> 00:11:44,540 Kjo është kështu për shkak se basically-- Python, ju filloni në krye 246 00:11:44,540 --> 00:11:50,310 dhe pastaj ju ekzekutojë poshtë në fund, Unë në qoftë se unë vetëm e kishte quajtur Mario këtu, 247 00:11:50,310 --> 00:11:54,190 atëherë çdo herë që unë të përfshira në këtë fotografi një tjetër fotografi, sepse kam kërkuar për të përdorur 248 00:11:54,190 --> 00:11:58,580 është funksioni Mario, që dosja tjetër do të gjithashtu kanë këtë thirrje për Mario në të. 249 00:11:58,580 --> 00:12:01,000 Dhe kur unë u zhvillua këtë dosje, kjo do të thërrasë Mario. 250 00:12:01,000 --> 00:12:04,520 >> Pra, është e mundur që unë vetëm doni të drejtuar këtë në qoftë se unë kam në fakt 251 00:12:04,520 --> 00:12:07,290 ekzekutuar këtë fotografi të veçantë. 252 00:12:07,290 --> 00:12:11,520 Dhe kështu që unë mund të përfundojë këtë në një idioma si ky, ku unë them, 253 00:12:11,520 --> 00:12:14,820 nëse emri i këtij ekzekutimit Mjedisi është kryesore, 254 00:12:14,820 --> 00:12:16,200 atëherë unë dua të bëj këto gjëra. 255 00:12:16,200 --> 00:12:18,710 Përndryshe dikush tjetër mund të use-- përfshijnë function-- tim 256 00:12:18,710 --> 00:12:22,510 dosja ime, dhe vetëm për të marrë qasje në këto funksione 257 00:12:22,510 --> 00:12:25,552 pa pasur nevojë për të drejtuar gjërat që unë dua për të ekzekutuar në këtë fotografi. 258 00:12:25,552 --> 00:12:27,260 Kjo është, përsëri, fakultative por shumë e zakonshme. 259 00:12:27,260 --> 00:12:30,450 260 00:12:30,450 --> 00:12:33,840 >> Këto gjëra janë entirely-- janë të njëjtë ndërmjet C dhe Python, 261 00:12:33,840 --> 00:12:35,100 sigurisht në 3. 262 00:12:35,100 --> 00:12:38,610 Unë mendoj se në 2, operatori ndarja Ndonjëherë ju kthen gjithandej kur 263 00:12:38,610 --> 00:12:41,450 ju operuar në ints, dhe as ju kërkuar që ose ju nuk e bëri. 264 00:12:41,450 --> 00:12:44,777 Por plus, minus, dhe herë punojnë pikërisht si ju do të presin, 265 00:12:44,777 --> 00:12:46,110 përveç gjatë pak më shumë lloje. 266 00:12:46,110 --> 00:12:49,740 Kështu që ju mund të shumohen gjithandej nga Ints, dhe ato llojet e gjërave. 267 00:12:49,740 --> 00:12:52,480 >> grup punon saktësisht të njëjtë. 268 00:12:52,480 --> 00:12:54,310 Ju mund të përdorni dy shenja të barabarta. 269 00:12:54,310 --> 00:12:59,000 inequals-- më e madhe se, më pak se, këto llojet e things-- 270 00:12:59,000 --> 00:13:02,580 kanë kuptimet që ju jeni të njohur me ta. 271 00:13:02,580 --> 00:13:05,770 >> Ku C përdor këto operatorët, Python përdor pak më shumë anglisht 272 00:13:05,770 --> 00:13:06,390 ato i lexueshëm. 273 00:13:06,390 --> 00:13:09,348 Pra, në vend të dy, ampersands, ju fjalë për fjalë shkruani fjalën "dhe", "ose," 274 00:13:09,348 --> 00:13:10,740 ose jo." 275 00:13:10,740 --> 00:13:13,420 Ashtu si në if-- tuaj në tuaj Deklaratat e kushtëzuara, 276 00:13:13,420 --> 00:13:17,670 e pamë më herët se kjo sintakse në C korrespondon me këtë sintaksë në Python. 277 00:13:17,670 --> 00:13:21,010 Dhe ka jo shumë të ndryshme atje, me përjashtim të pak 278 00:13:21,010 --> 00:13:24,780 e pikësimit rreth anët. 279 00:13:24,780 --> 00:13:28,890 Përsëri, ku C do tjetër në qoftë se, Python përdor Elif, 280 00:13:28,890 --> 00:13:33,960 por këto janë kryesisht ndryshimet e nivelit të sipërfaqes. 281 00:13:33,960 --> 00:13:38,450 >> Përsëritje si kjo është shpesh shkruar në këtë idiome në Python. 282 00:13:38,450 --> 00:13:42,350 Ju mund të prodhojë këtë lloj të gjë me një lak, ndërsa në pjesën e jashtme 283 00:13:42,350 --> 00:13:46,387 në qoftë se ju të kërkuar, por ju me siguri nuk kanë për të. 284 00:13:46,387 --> 00:13:48,970 Dhe përsëri, në qoftë se ju donte shtypura nga elemente në të një sërë 285 00:13:48,970 --> 00:13:50,560 ju mund të bëni në këtë mënyrë. 286 00:13:50,560 --> 00:13:52,927 Një nga gjërat fun për Python pse, 287 00:13:52,927 --> 00:13:54,760 është se ju nuk keni nevojë për të përdorur këtë paradigmë, 288 00:13:54,760 --> 00:13:57,290 dhe ju mund të përdorni një një pak më elegante. 289 00:13:57,290 --> 00:13:59,370 Ju thoni për një në Ary. 290 00:13:59,370 --> 00:14:02,980 >> Pra, në vend se të shkojnë këtu dhe drejtimin mbi treguesit, 291 00:14:02,980 --> 00:14:05,630 dhe pastaj duke tërhequr jashtë Elementet individuale, 292 00:14:05,630 --> 00:14:08,644 ju tregoni për të vërtetë vetëm drejtuar mbi vetë elementet. 293 00:14:08,644 --> 00:14:11,060 Dhe pastaj çdo gjë që ju jeni duke bërë brenda mund të veprojë drejtpërdrejt 294 00:14:11,060 --> 00:14:13,260 mbi elementet, e cila është shumë e bukur. 295 00:14:13,260 --> 00:14:16,710 Dhe ne do të see-- ne do të përdorim që idioma përsëri dhe përsëri 296 00:14:16,710 --> 00:14:18,050 si ne ecin nëpër kodit. 297 00:14:18,050 --> 00:14:20,091 >> Kjo është, përsëri, një shembull për diçka që unë do të 298 00:14:20,091 --> 00:14:23,300 quajnë Python magji, edhe pse ka arsye shumë teknike pse ajo punon. 299 00:14:23,300 --> 00:14:26,340 Dhe ka gjëra teknike që duhet të jetë e vërtetë në lidhje me rrjet, në mënyrë 300 00:14:26,340 --> 00:14:28,340 për këtë për të punuar prapa skenave. 301 00:14:28,340 --> 00:14:31,390 Gjë është se shumica e llojeve që ju do të presin që kjo të funksionojë 302 00:14:31,390 --> 00:14:36,610 kanë pasur këtë zbatuar për ju në ndërtuar në gjuhë. 303 00:14:36,610 --> 00:14:40,030 >> Një tjetër gjë që do të ishte mirë nëse kjo ka punuar në çdo gjuhë, 304 00:14:40,030 --> 00:14:45,460 por ka disa arsye pse ajo nuk mund, shtypura Ky varg herë këtë numër. 305 00:14:45,460 --> 00:14:48,860 Rezulton se në Python, kjo e bën pikërisht Çfarë ju dëshironi, e cila është vetëm e bukur, 306 00:14:48,860 --> 00:14:52,840 dhe do të thotë që ne mund të vërtetë reduktuar këtë program, përsëri mario.c. 307 00:14:52,840 --> 00:14:57,150 Në vend se iterating shumë, ne mund të them vetëm, unë dua disa numrin e hapësirave, 308 00:14:57,150 --> 00:15:01,120 Unë dua numrin e hashes, dhe disa hashes në fund. 309 00:15:01,120 --> 00:15:02,640 Dhe përsëri, ne e përdorim këtë format. 310 00:15:02,640 --> 00:15:05,340 >> Këtu, ne jemi duke kaluar në një variabël në këtë mënyrë. 311 00:15:05,340 --> 00:15:08,050 Përsëri, ne nuk kemi nevojë për të thënë çfarë lloji i variablit është, 312 00:15:08,050 --> 00:15:11,322 dhe e vetmja kohë që ne do të merrni gabime është në kohë të kandidojë. 313 00:15:11,322 --> 00:15:13,030 Kur dikush përpiqet për të kaluar në diçka, 314 00:15:13,030 --> 00:15:14,860 ajo do të hyjë në funksion vetëm gjobë. 315 00:15:14,860 --> 00:15:18,240 Nëse ne pykë këtu, sepse kjo nuk është gjë që ju mund të krijoni shkon mbi, 316 00:15:18,240 --> 00:15:22,100 Unë do të merrni një gabim Runtime atje, dhe unë do të duhet të korrigjoj atë në këtë mënyrë. 317 00:15:22,100 --> 00:15:25,050 Por, në ndërkohë, unë nuk kam të jenë shumë të kujdesshëm në lidhje me atë 318 00:15:25,050 --> 00:15:32,800 merr kaluar në, për aq kohë sa në aktuale Ekzekutimi i të gjitha punon shumë pastër. 319 00:15:32,800 --> 00:15:35,080 >> Unë mund edhe të bëjë këtë një pastruese pak 320 00:15:35,080 --> 00:15:41,770 duke përdorur një ndërtuar në funksion të veçantë në vargjet, e cila është e drejtë Justify. 321 00:15:41,770 --> 00:15:45,250 Kjo është vetëm një funksion i dobishëm gënjyer rreth bibliotekë. 322 00:15:45,250 --> 00:15:47,660 Është në dokumentacionin në qoftë se ju shkoni dhe të kërkoni për të. 323 00:15:47,660 --> 00:15:51,650 Dhe unë them, edhe unë jam do të ketë ky varg, disa numri i hashes, 324 00:15:51,650 --> 00:15:56,390 dhe unë do të doja për të justifikuar drejtë jastëk it-- ajo me hapësira të jetë në këtë gjatësi. 325 00:15:56,390 --> 00:16:00,584 >> Përsëri, kjo është në dokumentacionin, i cili sjell us-- 326 00:16:00,584 --> 00:16:03,500 Unë në fakt do të klikoni me these-- e cila na çon në sundimin tonë të dytë 327 00:16:03,500 --> 00:16:06,990 për bibliotekën standarde Python-- Metodat funksion janë miqtë tuaj. 328 00:16:06,990 --> 00:16:09,880 Dhe kjo është shpesh vlerë ndërsa tuaj për të shkuar në kërkim të Pyes veten 329 00:16:09,880 --> 00:16:12,310 në qoftë se ka një gjë që vetëm e bën këtë. 330 00:16:12,310 --> 00:16:13,830 Ka ndoshta është. 331 00:16:13,830 --> 00:16:15,990 Në qoftë se ju dëshironi të pad nga një varg, në qoftë se ju do të 332 00:16:15,990 --> 00:16:17,470 si për të marrë mbrapa gjysma e një varg, në qoftë se ju do të 333 00:16:17,470 --> 00:16:20,370 si për të kërkuar përmes një varg, në qoftë se ju dëshironi për të goditur disa gjëra 334 00:16:20,370 --> 00:16:22,420 së bashku me një varg me presje mes tyre, 335 00:16:22,420 --> 00:16:24,640 ka bibliotekë standarde Funksionet për të bërë këtë. 336 00:16:24,640 --> 00:16:27,190 >> Dhe kjo e bën jetën tuaj më e lehtë në qoftë se ju përdorni ato 337 00:16:27,190 --> 00:16:29,240 në vend të lëkundet nga çdo gjë në tuaj 338 00:16:29,240 --> 00:16:31,650 në pesë rreshta të kodit këtu, pesë rreshta të kodit këtu. 339 00:16:31,650 --> 00:16:34,430 Që me të vërtetë fillon në shtoni deri në kohë reale. 340 00:16:34,430 --> 00:16:37,430 >> Një nga gjërat interesante për mënyrën se si kjo merr të quajtur. 341 00:16:37,430 --> 00:16:39,980 Ju do të vëreni se ka një gjë dot. 342 00:16:39,980 --> 00:16:43,490 Unë kam disa objekt në të majtë, dhe pastaj unë e quajti një pikë një funksion. 343 00:16:43,490 --> 00:16:49,780 Kjo është një nga paradigmat që Python përdor për bashkëngjitur metoda të objekteve. 344 00:16:49,780 --> 00:16:54,410 Ne do të flasim për atë që kjo është shumë shkurtimisht në fund, 345 00:16:54,410 --> 00:16:58,510 por e di se ne të dy mund të veprojë në gjëra duke marrë këtë gjë, duke thënë dot 346 00:16:58,510 --> 00:17:01,690 çfarëdo, ose duke telefonuar një funksion që merr 347 00:17:01,690 --> 00:17:04,339 se objekti dhe disa argumente të tjera. 348 00:17:04,339 --> 00:17:07,450 >> Pra, këto janë dy mënyrat që gjëra të merrni bërë në Python. 349 00:17:07,450 --> 00:17:09,780 Dhe nëse një të veçantë funksionalitetin është zbatuar 350 00:17:09,780 --> 00:17:14,230 në këtë stil apo kjo Stili është diçka që ju 351 00:17:14,230 --> 00:17:19,990 duhet të shikoni deri sa ju të merrni një ul receptorin e telefonit për të cilat një është e mundshme që të bien në. 352 00:17:19,990 --> 00:17:22,660 Ka një më shumë ose më kohezive Filozofia prapa Python 353 00:17:22,660 --> 00:17:24,930 që ju thithin kryesisht duke shkruar një shumë në të. 354 00:17:24,930 --> 00:17:28,190 Në disa pika, të cilat një nga këto, diçka do të zbatohet si 355 00:17:28,190 --> 00:17:29,470 bëhet e natyrshme. 356 00:17:29,470 --> 00:17:32,420 Tani për tani, kjo është vetëm diçka ju të mësoni si ju kuptoj se 357 00:17:32,420 --> 00:17:34,140 çdo gjë individ. 358 00:17:34,140 --> 00:17:36,420 >> Bibliotekë kështu standarde Funksionet janë miqtë tuaj, 359 00:17:36,420 --> 00:17:41,320 dhe ata le të shkruajnë gjëra që marrë këtë shumë hapësirë ​​të vërtetë së shpejti, 360 00:17:41,320 --> 00:17:42,040 me të vërtetë elegante. 361 00:17:42,040 --> 00:17:45,670 Dhe kjo është në fakt ndoshta më lexueshme, unë do të them, se programi C 362 00:17:45,670 --> 00:17:46,780 atje. 363 00:17:46,780 --> 00:17:49,730 Jo për të përmendur faktin që është aq të shkurtër ju mund të përshtatet një elefant të tërë 364 00:17:49,730 --> 00:17:52,250 në hapësirën që kemi shpëtuar. 365 00:17:52,250 --> 00:17:56,270 >> Një tjetër gjë, kjo është një zbatim e mario kjo është dot C, e cila unë mendoj se 366 00:17:56,270 --> 00:17:57,890 është më e shkurtër që ju mund të merrni atë. 367 00:17:57,890 --> 00:18:00,757 Ajo nuk ka marrë int, por kjo kodet Hard The vlera e 10 368 00:18:00,757 --> 00:18:02,090 në të njëjtën mënyrë që kjo e bën. 369 00:18:02,090 --> 00:18:06,080 Rezulton se kjo orë në në 84 karaktere, ndërsa Python është 64. 370 00:18:06,080 --> 00:18:11,490 Dhe kjo është pafundësisht më lexueshëm se kjo mbeturina këtu. 371 00:18:11,490 --> 00:18:14,610 Pra Python është më efikas në hapësirë. 372 00:18:14,610 --> 00:18:17,260 Kjo është pak më pak efikase në kohë, por jo me shumë. 373 00:18:17,260 --> 00:18:18,890 >> Listat janë një gjë e rëndësishme në Python. 374 00:18:18,890 --> 00:18:21,540 375 00:18:21,540 --> 00:18:24,587 Ne nuk kemi parë ato, por ata të veprojë ashtu si vargjeve bëni në C. 376 00:18:24,587 --> 00:18:27,170 Kështu që këtu, ju mund të deklarojë ato, ju mund të kalojë ato në një gjë. 377 00:18:27,170 --> 00:18:29,810 Tani sheshet mban një grup nga këto gjëra. 378 00:18:29,810 --> 00:18:33,480 Përsëri, ne nuk kemi deklaruar si lloji, por në qoftë se ne ndonjëherë përpiqen të përdorin atë, 379 00:18:33,480 --> 00:18:36,260 çdo gjë që ju do të presin për të punojnë në një rrjet të integers 380 00:18:36,260 --> 00:18:40,130 do të punojë në një grup i integers. 381 00:18:40,130 --> 00:18:42,030 >> Kjo është një gjë që ju absolutisht nuk mund të 382 00:18:42,030 --> 00:18:47,390 bërë në C, sepse kujtim ajo është aq duart në, 383 00:18:47,390 --> 00:18:48,950 por është shumë e lehtë për të bërë në Python. 384 00:18:48,950 --> 00:18:55,310 Nëse unë dua grup im të jetë më e madhe, unë mund të append një element për të dhe kjo është në rregull. 385 00:18:55,310 --> 00:18:57,150 >> Çfarë po ndodh në prapaskenë? 386 00:18:57,150 --> 00:18:59,150 Përkthyesi do të shkojnë jashtë dhe për të marrë disa kujtesës, 387 00:18:59,150 --> 00:19:00,860 dhe ndoshta kjo do të merrni një pak e kujtesës shtesë, 388 00:19:00,860 --> 00:19:03,090 kështu që unë nuk e kështu që unë nuk kam të risigurimi çdo kohë. 389 00:19:03,090 --> 00:19:04,897 Por sa të ketë më shumë kujtesën e bën atë nevojë? 390 00:19:04,897 --> 00:19:06,730 Ky nuk janë vendime që ju duhet të bëni, 391 00:19:06,730 --> 00:19:10,540 këto janë vendime që përkthyes do të bëjë. 392 00:19:10,540 --> 00:19:12,270 >> Këtu ne shohim varg mund merr dy argumente, 393 00:19:12,270 --> 00:19:16,430 por është ende do të jetë përfshirës nga më të lartë në mënyrë që të shtoni 1 atje. 394 00:19:16,430 --> 00:19:21,970 Kjo është një idiomë, e cila është një edhe më mënyrë e zgjuar për të shkruar gjëra të tilla si kjo. 395 00:19:21,970 --> 00:19:25,980 Ajo që quhet lista të kuptuarit, dhe këtu atë që ne jemi duke thënë 396 00:19:25,980 --> 00:19:32,560 po unë do të doja për të vënë në I katror për çdo vlerë e unë në këtë varg. 397 00:19:32,560 --> 00:19:35,770 Kjo gjë në të djathtë mund të jetë një tjetër array, dhe kjo gjë në të majtë 398 00:19:35,770 --> 00:19:40,740 të jetë ndonjë funksion të veçantë që do të marrë në i, si një variabël 399 00:19:40,740 --> 00:19:42,250 dhe më jepni jashtë ndonjë rezultat. 400 00:19:42,250 --> 00:19:43,480 >> Ajo që unë jam duke shkuar për të bërë është, Unë jam duke shkuar për të ndërtuar 401 00:19:43,480 --> 00:19:46,200 një grup që të gjithë këto gjëra për çdo vlerë në këtë varg. 402 00:19:46,200 --> 00:19:48,960 403 00:19:48,960 --> 00:19:55,670 Dhe kjo është super elegante, super të shkurtër, dhe kjo është shumë e qartë çfarë do të thotë. 404 00:19:55,670 --> 00:19:59,190 Kjo është një nga things-- ky është përsëri, 405 00:19:59,190 --> 00:20:03,860 një of-- shumë emblematike e Arsyet që njerëz si Python. 406 00:20:03,860 --> 00:20:05,900 Në qoftë se ju pëlqen programimit si kjo, atëherë Python 407 00:20:05,900 --> 00:20:07,830 është një gjuhë që ju mund të dëshironi të mësoni. 408 00:20:07,830 --> 00:20:10,950 >> Dhe përsëri, ka teknik Arsyet pse kjo funksionon. 409 00:20:10,950 --> 00:20:14,730 Por, aq sa ne jemi të shqetësuar, ne pak a shumë nuk e kujdesit. 410 00:20:14,730 --> 00:20:18,500 >> Pra, nëse ju doni të shtypura jashtë listave, disa njëjta shprehjeve janë të dobishme. 411 00:20:18,500 --> 00:20:20,940 Sepse unë në këtë varg, ne mund të Indeksi nëpër të gjitha gjërat 412 00:20:20,940 --> 00:20:23,140 dhe pastaj të shtypura të gjithë jashtë. 413 00:20:23,140 --> 00:20:24,650 Dhe ju do të shihni len këtu. 414 00:20:24,650 --> 00:20:27,150 Nëse ju keni kërkuar ndonjëherë për të marrë gjatësia e vektorit, kjo është 415 00:20:27,150 --> 00:20:31,150 shumë e lehtë në Python, është shumë e vështirë në C. 416 00:20:31,150 --> 00:20:33,720 Kjo do të shtypura nga saktësisht ajo që ju do të presin që ajo të. 417 00:20:33,720 --> 00:20:36,986 Ne mund gjithashtu, siç e kemi parë më parë, iterate mbi elementeve në rrjet 418 00:20:36,986 --> 00:20:39,860 të drejtpërdrejtë, dhe pastaj vetëm të flasim për ata, në vend që indeksi 419 00:20:39,860 --> 00:20:43,190 përsëri në veshë çdo kohë. 420 00:20:43,190 --> 00:20:45,990 >> Dhe kjo është një gjë që ju mund të bëni. 421 00:20:45,990 --> 00:20:49,984 Pra në C, në qoftë se ju kërkoni për diçka si kjo, të shtypura do të thonë: 422 00:20:49,984 --> 00:20:51,150 kjo është një grup i integers. 423 00:20:51,150 --> 00:20:53,456 Kjo nuk është aspak një string, unë nuk mund të shtypura atë. 424 00:20:53,456 --> 00:20:54,830 Python pak a shumë nuk ka kujdes. 425 00:20:54,830 --> 00:20:57,496 Është si, a ka një mënyrë që unë mund të kthehet kjo në një varg? 426 00:20:57,496 --> 00:20:58,500 Po, unë do të bëj atë. 427 00:20:58,500 --> 00:21:01,600 Dhe kështu që unë do të shtypura vetëm se jashtë. 428 00:21:01,600 --> 00:21:03,640 Kjo do të thotë që ju mund të bëjë gjëra të like-- këto 429 00:21:03,640 --> 00:21:06,530 janë më të pjesëve të forta e lojës së pesëmbëdhjetë, të shkruara 430 00:21:06,530 --> 00:21:08,930 shumë shkurt në Python. 431 00:21:08,930 --> 00:21:11,320 >> Ju do të shihni se ka pak of-- këtu 432 00:21:11,320 --> 00:21:14,441 Unë e kam hedhur një numër të plotë në një varg, dhe unë kam për të bërë këtë me dorë. 433 00:21:14,441 --> 00:21:16,190 Dhe unë jam duke shkuar për të shtuar ajo në një tjetër varg, 434 00:21:16,190 --> 00:21:17,590 ose përndryshe Python merr hutuar. 435 00:21:17,590 --> 00:21:19,840 Por, nëse kur ju jeni duke shtuar një varg për një numër të plotë, 436 00:21:19,840 --> 00:21:22,630 jam mendoj për të marrë një Integer mbrapa ose një varg prapa? 437 00:21:22,630 --> 00:21:24,480 Por, përsëri, në qoftë se ju vetëm thërrasë rr në një gjë, 438 00:21:24,480 --> 00:21:27,240 dhe kjo mund të jetë e mundur në ndonjë Bota do të konvertohet në një varg, 439 00:21:27,240 --> 00:21:30,390 ajo ndoshta do të jetë konvertohet në një varg. 440 00:21:30,390 --> 00:21:33,120 >> Këtu, ne shohim përdorimin e Lista kuptuarit mbivendosur 441 00:21:33,120 --> 00:21:38,690 në të majtë, një indeksim, e cila është pikërisht si ju do të jetë përdorur për të, 442 00:21:38,690 --> 00:21:40,060 dhe disa shtypjen nga gjërat. 443 00:21:40,060 --> 00:21:42,560 Përsëri, ne kemi përcaktuar disa funksionet dhe ne do të thërrasë ato poshtë 444 00:21:42,560 --> 00:21:45,820 në kryesore, kur ne fakt të merrni dosjen. 445 00:21:45,820 --> 00:21:52,004 Kthimi punon tamam si ju do të presin nga puna me C. Gjej, 446 00:21:52,004 --> 00:21:54,420 ne mund të krijuar gjëra të tilla si this-- këtu është lista e të kuptuarit 447 00:21:54,420 --> 00:21:59,245 ka një detyrë për një ndryshore, dhe ne fakt mund të bëjë atë edhe më të lehtë. 448 00:21:59,245 --> 00:22:01,870 Ne nuk kemi nevojë për të shkruar kërkimin, sepse ndërtuar në në gjuhën 449 00:22:01,870 --> 00:22:04,230 është nëse kjo gjë është në këtë grup. 450 00:22:04,230 --> 00:22:05,680 Kthehu vërtetë, tjetër kthimit të rreme. 451 00:22:05,680 --> 00:22:08,830 Pra, kjo është tërësia e gjetjes. 452 00:22:08,830 --> 00:22:12,230 >> Tërësia e llojit përfshin thirrje lloj, 453 00:22:12,230 --> 00:22:15,462 të cilat is-- ka Implementimi e kjo e ndërtuar në bibliotekat e caktuara C. 454 00:22:15,462 --> 00:22:17,170 Në qoftë se ju do të pëlqen kjo lloj prapa, ju 455 00:22:17,170 --> 00:22:20,450 mund të pranoj këtë fakultative Argumenti në të kundërt me një e vërtetë. 456 00:22:20,450 --> 00:22:23,350 457 00:22:23,350 --> 00:22:27,860 Dhe në qoftë se ju dëshironi për të zgjidhur mbi vargjet, që është ndërtuar në si. 458 00:22:27,860 --> 00:22:31,950 >> Pra, kjo nuk është për të thonë se këto janë gjëra që ju duhet të bëni çdo ditë, 459 00:22:31,950 --> 00:22:34,280 por ideja është që ky është filozofia e Python, 460 00:22:34,280 --> 00:22:37,530 se të gjitha këto gjëra që ju do të lloj i duam të bëjmë janë ndërtuar-në. 461 00:22:37,530 --> 00:22:42,410 Dhe shumica e funksioneve standarde, kështu lloj, gjatësia, çfarëdo, 462 00:22:42,410 --> 00:22:44,380 mbështetur input më logjikisht ndjeshme. 463 00:22:44,380 --> 00:22:49,020 Ju telefononi len mbi një grup të njëjtën gjë Mënyrë që ju telefononi len në një varg. 464 00:22:49,020 --> 00:22:55,785 Ju multiply-- ju lloj strings në të njëjtën mënyrë ju lloj vargjeve. 465 00:22:55,785 --> 00:22:58,930 466 00:22:58,930 --> 00:23:00,740 >> Shumica e funksioneve standarde që njerëzit ndërtojnë, 467 00:23:00,740 --> 00:23:03,000 dhe më e palës së tretë bibliotekave që njerëzit 468 00:23:03,000 --> 00:23:06,980 ndërtuar, sepse ata janë imituar dizajni i bibliotekës standarde, 469 00:23:06,980 --> 00:23:10,190 mund të quhet në çdo gjë që ju jeni si, pse jo kjo vetëm punë, 470 00:23:10,190 --> 00:23:12,800 në C. Pak a shumë, ajo do të punojë në Python 471 00:23:12,800 --> 00:23:15,930 sepse njerëzit punojnë prapa në figurë se çfarë një gjë është dhe pastaj të veprojë 472 00:23:15,930 --> 00:23:17,510 në mënyrë të përshtatshme në të. 473 00:23:17,510 --> 00:23:22,760 Pra, përsëri, sfond teknike, por atë e bën jetën tonë më të lehtë si programuesit. 474 00:23:22,760 --> 00:23:26,820 >> Kështu që këtu është skedarit I / O. paraqesë I / O ka shumë të pak gjëra që e bëjnë atë të komplikuar, 475 00:23:26,820 --> 00:23:29,890 dhe kështu ka burime në internet, por me pak fjalë, 476 00:23:29,890 --> 00:23:33,010 ju e quani të hapur në një skedar emri me një lloj të veçantë. 477 00:23:33,010 --> 00:23:37,640 Kështu që është lexuar, lexuar dhe shkruaj, shkruaj ose append. 478 00:23:37,640 --> 00:23:41,790 Ju lexoni një numër të caktuar të karaktere jashtë dhe ti printoni ato, 479 00:23:41,790 --> 00:23:42,595 ju do të merrni Hello! 480 00:23:42,595 --> 00:23:43,970 Unë do të thotë, si kjo skedë kishte Hello! 481 00:23:43,970 --> 00:23:46,480 Në të, thirrje për të lexuar, dhe atë që ju do të merrni mbrapa 482 00:23:46,480 --> 00:23:49,520 është një varg që i ka të gjitha nga mbetja e vektorit, 483 00:23:49,520 --> 00:23:50,860 ose të gjithë pjesën tjetër të dosjes. 484 00:23:50,860 --> 00:23:53,805 485 00:23:53,805 --> 00:23:56,055 Nëse ju telefononi lexoni përsëri, ju jeni në fund të dosjes, 486 00:23:56,055 --> 00:23:58,138 dhe kështu ju nuk e merrni çdo gjë dhe kështu ju do të mbyllet. 487 00:23:58,138 --> 00:24:02,510 Përsëri, kjo është .close sesa skedë të ngushtë, pasi ajo do të jetë në C. 488 00:24:02,510 --> 00:24:07,190 Kjo është më shumë ose më pak për shkak se f është një gjë, dhe ju dëshironi për f për të mbyllur. 489 00:24:07,190 --> 00:24:12,092 Por skedë themelor I / O nuk është veçanërisht e komplikuar. 490 00:24:12,092 --> 00:24:15,300 Përsëri, në qoftë se ju dëshironi të hapur një skedar, nëse ju dëshironi të lexoni një linjë të veçantë, 491 00:24:15,300 --> 00:24:17,870 ju mund të merrni nga të veçantë line-- ka ndërtuar-ins për atë. 492 00:24:17,870 --> 00:24:19,995 Nëse ju dëshironi të shkruani një gjë, ju mund të shkruani këtë. 493 00:24:19,995 --> 00:24:23,412 Nëse ju dëshironi të shkruani nga individ kafshon, ju mund të shkruani ato. 494 00:24:23,412 --> 00:24:25,620 Dhe në qoftë se ju dëshironi të iterate mbi vijat e një fotografi 495 00:24:25,620 --> 00:24:29,557 individualisht, siç bëmë në një pjesë nga disa javë më parë, ju mund të bëni atë për të. 496 00:24:29,557 --> 00:24:32,140 Përsëri, shumica e objektet që ju do të të donte të jetë në gjendje për të iterate mbi 497 00:24:32,140 --> 00:24:33,780 Mbështetja iterating mbi ta. 498 00:24:33,780 --> 00:24:37,430 Në strucë, një skedë është ndoshta një gjë që Do të doja të iterate mbi rresht pas rreshti. 499 00:24:37,430 --> 00:24:39,138 Në qoftë se kjo ishte një fjalor e fjalëve dhe unë kam qenë 500 00:24:39,138 --> 00:24:42,181 duke u përpjekur për të marrë ato individuale fjalë, atëherë, në këtë lak, 501 00:24:42,181 --> 00:24:44,180 Linja ajo do të jetë çdo fjalë nga ana e tij dhe kjo 502 00:24:44,180 --> 00:24:47,880 do të të ekzekutohet për çdo linjë në dosjen e deri në fund të file. 503 00:24:47,880 --> 00:24:52,280 Dhe përsëri, në qoftë se unë të shtypura nga çdo line, linjat vijnë me linja të reja, 504 00:24:52,280 --> 00:24:54,740 kështu që unë jam vendosjen fund mbështetur në një gjë të tillë. 505 00:24:54,740 --> 00:24:56,580 Atëherë unë do të merrni përmbajtjen e dosjes sime. 506 00:24:56,580 --> 00:25:03,610 507 00:25:03,610 --> 00:25:07,480 >> Gjëja e dytë që operon në disa mënyra si listat, dhe në disa mënyra 508 00:25:07,480 --> 00:25:11,870 si diçka thelbësisht më të fuqishme, 509 00:25:11,870 --> 00:25:16,170 janë fjalorë, të cilat janë me të vërtetë ftohtë për t'u përdorur, por janë në thelb të hash 510 00:25:16,170 --> 00:25:17,670 tavolina në maskim. 511 00:25:17,670 --> 00:25:23,330 Ju krijoni një të tillë duke përdorur pikërisht dy karaktere, e cila është i tmerrshëm 512 00:25:23,330 --> 00:25:25,959 në qoftë se ju u përpoq për zbatimin e tabelë hash për të vendosur tuaj e problemeve, 513 00:25:25,959 --> 00:25:27,250 ju e dini shumë dhimbje që mund të jetë. 514 00:25:27,250 --> 00:25:29,390 Por njerëzit kanë bërë ajo, dhe bërë atë aq mirë, 515 00:25:29,390 --> 00:25:32,260 që ju nuk keni për të merak për këtë më. 516 00:25:32,260 --> 00:25:35,180 >> Atëherë ju mund të futni gjëra individuale. 517 00:25:35,180 --> 00:25:38,110 Tables-- Hash ose fjalorë nuk e veçanërisht 518 00:25:38,110 --> 00:25:40,240 kujdes se çfarë ju jeni ruajtjen në to. 519 00:25:40,240 --> 00:25:44,210 Pra, nëse disa të hyra janë numra, dhe disa të hyra janë listat, 520 00:25:44,210 --> 00:25:47,360 nëse disa të hyra janë fjalorë të tjerë, dhe disa të hyra janë vargjet, 521 00:25:47,360 --> 00:25:49,930 Python nuk kujdeset shumë. 522 00:25:49,930 --> 00:25:53,460 >> Përsëri, në qoftë se ju shkoni në të pritur një varg dhe atë që ju merrni mbrapa 523 00:25:53,460 --> 00:25:56,269 është një grup, i cili është problemi juaj. 524 00:25:56,269 --> 00:25:58,810 Dhe ndoshta kjo është faji i kushdo që mendonin se ishte vënë gjërat 525 00:25:58,810 --> 00:26:00,476 në fjalët, ndoshta që të ishte. 526 00:26:00,476 --> 00:26:02,350 Në qoftë se ishte dikush tjetër, shpresojmë se ata ishin 527 00:26:02,350 --> 00:26:04,520 sillen mirë për çfarë ishte duke shkuar në fjalor 528 00:26:04,520 --> 00:26:07,420 dhe nuk ka lënë asnjë grackave për ju që të bien në. 529 00:26:07,420 --> 00:26:10,890 >> Por funksionet standarde do të ju jap përsëri gjëra të sjellshëm. 530 00:26:10,890 --> 00:26:13,500 Pra, ata thonë se kjo e kthimit mbështetur një fjalor të strings, 531 00:26:13,500 --> 00:26:15,860 atëherë çdo gjë që ju jeni duke shkuar për të marrë nga një varg. 532 00:26:15,860 --> 00:26:20,710 Nëse ju bëni disa të këtë dhe kjo udhëtime ti lart, mirë, kjo mund të jetë mbi ju. 533 00:26:20,710 --> 00:26:25,542 Python sigurisht ju jep mjaft litar për të ul receptorin e telefonit veten, në qoftë se ju dëshironi. 534 00:26:25,542 --> 00:26:28,250 Tani ne mund të shtypura nga individ Elementet e kësaj dhe kjo kthimet 535 00:26:28,250 --> 00:26:29,935 pikërisht ajo që ju do të presin. 536 00:26:29,935 --> 00:26:32,810 Pikërisht ajo që ju do të presin, unë mendoj, është një frazë që unë jam duke përdorur një shumë, 537 00:26:32,810 --> 00:26:35,070 por kjo është më shumë ose më pak se si punon Python. 538 00:26:35,070 --> 00:26:39,880 Nëse ju kërkoni për një gjë që nuk është e ajo, Python do të hedhin jashtë një gabim 539 00:26:39,880 --> 00:26:43,194 dhe ai do t'ju lë jashtë çfarëdo programi ju keni qenë në. 540 00:26:43,194 --> 00:26:45,360 Ajo në fakt do të shtypura nga më shumë informacion se kaq, 541 00:26:45,360 --> 00:26:49,110 ajo do të vënë ju, duke filluar ajo do të të shtoni një linjë, dhe kështu. 542 00:26:49,110 --> 00:26:52,190 >> Dhe, përsëri, ndoshta ne duam për të iterate mbi fjalorë 543 00:26:52,190 --> 00:26:54,410 dhe për të gjetur të gjitha gjërat në të. 544 00:26:54,410 --> 00:26:57,440 Këtu ne jemi të iterating mbi dy gjëra në të njëjtën kohë. 545 00:26:57,440 --> 00:27:03,040 Dhe kështu që ne do të bëjmë atë me një kyç, vlerë, por pastaj të shtypura nga të gjitha këto. 546 00:27:03,040 --> 00:27:06,300 >> Dhe në qoftë se ne të kërkuar për cast-- në qoftë se ne fakt u zhvillua këtë, 547 00:27:06,300 --> 00:27:10,840 ne do të kemi disa probleme, sepse on-- kur kemi shkuar në me Davidin, 548 00:27:10,840 --> 00:27:13,920 ajo nuk mund të add-- në qoftë se ne nuk e bëri e hodhi atë në një varg të parë, 549 00:27:13,920 --> 00:27:17,802 ne nuk mund të shtoni këtë koleksion e vargjet mbi një varg. 550 00:27:17,802 --> 00:27:19,760 Por nëse ne hedhësh këlyshëve të një string, ne kemi marrë diçka 551 00:27:19,760 --> 00:27:22,590 si kjo, e cila është ndoshta ajo që ne do të donim për të lexuar. 552 00:27:22,590 --> 00:27:27,000 553 00:27:27,000 --> 00:27:30,500 >> Dhe kjo është Speller. 554 00:27:30,500 --> 00:27:32,460 Ne lexojmë vetëm në gjërat. 555 00:27:32,460 --> 00:27:35,770 Pra, ne mund të lexoni në Fjalët individuale si linja. 556 00:27:35,770 --> 00:27:38,240 Ne pres off e fundit gjë, kështu që i zorrës së trashë minus 1 557 00:27:38,240 --> 00:27:41,651 chomps off gjëja e fundit që we-- karakteri i fundit i një varg. 558 00:27:41,651 --> 00:27:42,150 Ne do të themi. 559 00:27:42,150 --> 00:27:44,730 OK, secili nga ata merr futur në këtë fjalor, 560 00:27:44,730 --> 00:27:45,810 mapping në një vlerë prej 1. 561 00:27:45,810 --> 00:27:48,006 Ne nuk e veçanërisht intereson se një, 562 00:27:48,006 --> 00:27:51,130 por kjo është vetëm atje për të thënë, oh mirë, kjo gjë unë do të vënë në fjalor. 563 00:27:51,130 --> 00:27:53,182 Sepse më vonë ajo që ne jemi do të bëni është që ne jemi 564 00:27:53,182 --> 00:27:55,390 do të thonë, mirë, në qoftë se është në fjalor fare. 565 00:27:55,390 --> 00:27:57,650 >> Përsëri, ky kontroll për Anëtarësimi është deri operativ 566 00:27:57,650 --> 00:28:00,940 duke përdorur një krejtësisht të ndryshme algorithm se ajo do të në një listë, 567 00:28:00,940 --> 00:28:05,709 por ne e quajmë atë në të njëjtën mënyrë, e cila është disa të asaj veshjes sheqerit Python 568 00:28:05,709 --> 00:28:07,250 gjëra në mënyrë që ata janë të lehtë për t'u përdorur. 569 00:28:07,250 --> 00:28:10,230 Dhe përsëri, ne kemi parë gjëra të tilla si kjo para. 570 00:28:10,230 --> 00:28:12,940 Kjo është në thelb të gjetur, ose kjo është pikërisht njëjtë sintaksë 571 00:28:12,940 --> 00:28:16,480 si gjeni, por po vepron mbi një Struktura krejtësisht të ndryshme. 572 00:28:16,480 --> 00:28:20,170 Dhe ne nuk e veçanërisht të kujdesit. 573 00:28:20,170 --> 00:28:25,540 Pra, këto janë gjërat që ju u pyetën për të zbatuar për Speller. 574 00:28:25,540 --> 00:28:29,278 Me këtë ritëm, ne jemi duke shkuar për të marrë ose më pak të gjitha psets kryer. 575 00:28:29,278 --> 00:28:31,474 >> Audienca: Kështu që në thelb vetëm kthehet 576 00:28:31,474 --> 00:28:34,852 si shkruar gabimisht në qoftë se ajo nuk ka përputhen diçka në fjalor? 577 00:28:34,852 --> 00:28:36,060 Ross RHEINGANS-Yoo: Po, po. 578 00:28:36,060 --> 00:28:38,964 579 00:28:38,964 --> 00:28:40,880 Dhe kështu, kjo është një Përshtatja e një problemi të vendosur 580 00:28:40,880 --> 00:28:43,150 i cili ju pyet për të bërë pikërisht atë. 581 00:28:43,150 --> 00:28:46,357 >> Audienca: Pse është vija minus 1 atje? 582 00:28:46,357 --> 00:28:48,190 Ross RHEINGANS-YOO: Pra, kur ju jeni iterating 583 00:28:48,190 --> 00:28:50,300 mbi një skedar kërkuar nga linja, linjat 584 00:28:50,300 --> 00:28:53,900 të vijë me një karakter të ri linjë ne fund te it-- në 1 minus 585 00:28:53,900 --> 00:28:55,260 është vetëm në dyqan ato jashtë. 586 00:28:55,260 --> 00:28:59,549 Dhe kjo është një veçanërisht fleksibël Mënyra e indeksimit në gjëra. 587 00:28:59,549 --> 00:29:01,590 Pra, nëse ju keni një varg, dhe ju dëshironi, edhe unë jam 588 00:29:01,590 --> 00:29:05,340 do të fillojë në karakterin e tre dhe unë jam duke shkuar për të shkuar deri në fund. 589 00:29:05,340 --> 00:29:07,140 3 zorrës së trashë do të bëjë atë për ju. 590 00:29:07,140 --> 00:29:10,570 Nëse ju jeni si unë dua të fillojë në nivel filluar dhe të shkojnë në minus 1 fundit 591 00:29:10,570 --> 00:29:12,400 karakter, zorrës së trashë minus 1. 592 00:29:12,400 --> 00:29:14,940 Dhe në qoftë se ju të kërkuar për të shkuar nga i treti në minus së pari, 593 00:29:14,940 --> 00:29:16,570 atëherë ju do të thonë 3 minus 1. 594 00:29:16,570 --> 00:29:19,464 595 00:29:19,464 --> 00:29:22,400 >> Përveç kësaj, në qoftë se ju doni të indeksit në gjëra llogaritur nga mbrapa, 596 00:29:22,400 --> 00:29:24,470 ju vetëm indeksi në me numra minus. 597 00:29:24,470 --> 00:29:26,980 Dhe për shkak se, ku C do të shpërthejnë apo ndoshta 598 00:29:26,980 --> 00:29:31,090 ju ushqejmë kujtesës tjetër ju nuk keni qasje në, dëgjoni ju mund të them minus 1 599 00:29:31,090 --> 00:29:34,104 do të thotë të fundit, por 1 karakter në një varg. 600 00:29:34,104 --> 00:29:36,950 601 00:29:36,950 --> 00:29:43,590 >> Modulet janë version-- janë analoge për bibliotekat në C 602 00:29:43,590 --> 00:29:45,119 dhe janë të dobishme për shumë gjëra. 603 00:29:45,119 --> 00:29:46,910 Një shumë gjëra që ju do të si për të bërë në Python, 604 00:29:46,910 --> 00:29:50,040 përveç thjeshtë manipulimi i variablave, 605 00:29:50,040 --> 00:29:52,290 ju doni të lidh në të bibliotekat më të mëdha me të mëdha 606 00:29:52,290 --> 00:29:55,910 ndërfaqet dhe më shumë aftësitë për të bashkëveprojmë 607 00:29:55,910 --> 00:29:57,195 me pjesët e tjera të botës. 608 00:29:57,195 --> 00:29:58,910 sys është një nga ato me një bandë e mjeteve 609 00:29:58,910 --> 00:30:01,159 që janë të dobishme për të bashkëveprojmë me vetë sistemit 610 00:30:01,159 --> 00:30:05,050 dhe do të importojë atë si SYS importit. 611 00:30:05,050 --> 00:30:07,820 >> Ka më shumë dokumentacion nga atë, që ju mund të shkoni këtu, 612 00:30:07,820 --> 00:30:11,490 ose ju mund të gjeni në Google duke googling SYS Python. 613 00:30:11,490 --> 00:30:12,640 Ju shkruani në të hyrë. 614 00:30:12,640 --> 00:30:15,140 Hallka e parë do të jetë dokumentacioni në Python 2, 615 00:30:15,140 --> 00:30:19,260 lidhja e dytë do të të jetë dokumentacioni Python 3. 616 00:30:19,260 --> 00:30:24,830 >> Dhe në qoftë se kemi shkruar nga një fotografi që dukej si this-- Nëse në veçanti, ne jemi 617 00:30:24,830 --> 00:30:27,910 duke kërkuar në që veprojnë në argumente command line, 618 00:30:27,910 --> 00:30:30,040 si kemi mësuar të bëjë shumë herët në këtë klasë. 619 00:30:30,040 --> 00:30:32,190 Kjo nuk është e vështirë. Ju mund të merrni jashtë argv, 620 00:30:32,190 --> 00:30:34,565 i cili është një nga ato gjëra i cili zbatohet nga SYS. 621 00:30:34,565 --> 00:30:37,210 Kjo nuk është ndërtuar në të paketë bazë, por përsëri, ju 622 00:30:37,210 --> 00:30:40,080 mund ta zgjasë atë duke importuar se funksionalitetin nga SYS. 623 00:30:40,080 --> 00:30:41,090 Ju do të thërrasë atë SYS. 624 00:30:41,090 --> 00:30:42,611 cfaredo. 625 00:30:42,611 --> 00:30:43,360 Këtu nuk ka argv. 626 00:30:43,360 --> 00:30:45,193 Nuk është në fakt asnjë argc në SYS, sepse ju 627 00:30:45,193 --> 00:30:47,880 mund të merrni atë aq lehtë duke telefonuar len. 628 00:30:47,880 --> 00:30:55,390 Ne pastaj të shtypura që jashtë, atëherë ne u zhvillua në echo-args.py tonë terminal. 629 00:30:55,390 --> 00:30:58,360 Ne kemi marrë përsëri një grup, i cili është ky argument i parë. 630 00:30:58,360 --> 00:31:02,240 Përsëri, kjo është argv 0, që është emrin e sendit që u quajtur. 631 00:31:02,240 --> 00:31:04,870 Nëse ne e quajti atë me shtesë argumente, ne do të merrni ato mbrapa. 632 00:31:04,870 --> 00:31:07,687 633 00:31:07,687 --> 00:31:09,770 Kjo është një mënyrë e gjetjes së argumente command line. 634 00:31:09,770 --> 00:31:13,440 Në qoftë se ju doni flamuj ku ju kthehet gjëra të veçantë në ose refuzo 635 00:31:13,440 --> 00:31:16,050 një default veçantë, argparse është miku juaj. 636 00:31:16,050 --> 00:31:21,550 Dhe përsëri ju të gjeni se në internet në Python argparse në Google. 637 00:31:21,550 --> 00:31:24,300 >> Ka disa shërbimeve modulet që ju të gjeni veten duke përdorur 638 00:31:24,300 --> 00:31:27,630 dhe përsëri, në qoftë se keni shpenzuar çdo kohë e kjo gjuhë importimit jsons 639 00:31:27,630 --> 00:31:33,300 për të lexuar në dhe jashtë JSON fotografi, jo se e komplikuar. 640 00:31:33,300 --> 00:31:37,139 Ju hapur një skedar, ju i quajtur json.load në atë dosje dhe që ju të merrni përsëri një gjë. 641 00:31:37,139 --> 00:31:37,930 Çfarë është kjo gjë? 642 00:31:37,930 --> 00:31:40,329 Është një objekt JSON. 643 00:31:40,329 --> 00:31:42,370 Ku që JSON ka rrjet, Python ka vargjeve. 644 00:31:42,370 --> 00:31:44,420 Ku se ka JSON vargjeve associative, Python-së 645 00:31:44,420 --> 00:31:48,810 fjalorë, vargjet, dhe numrat, dhe kështu me radhë. 646 00:31:48,810 --> 00:31:53,560 Ju dëshironi që të hale atë jashtë, ju të hapur një skedë të re, ju e quani hale, 647 00:31:53,560 --> 00:31:57,590 dhe ngarkesa dhe mërzi për shkoni në dhe jashtë tela. 648 00:31:57,590 --> 00:32:02,120 >> Në mënyrë të ngjashme, turshi merr quajtur në thelb të njëjtën ndërfaqe. 649 00:32:02,120 --> 00:32:04,740 Kjo është pak më e dobishme në qoftë se ju jeni dumping objekte Python. 650 00:32:04,740 --> 00:32:08,370 Pra, nëse ju keni kërkuar ndonjëherë për të shpëtuar një version i gjendjes aktuale 651 00:32:08,370 --> 00:32:11,930 e një variabël për një të ardhme drejtuar të programit tuaj, 652 00:32:11,930 --> 00:32:14,740 turshi është e Python-së bibliotekë për të bërë atë. 653 00:32:14,740 --> 00:32:19,140 >> Nëse keni ndonjë lloj të variabël që mund të jetë i shkruar jashtë 654 00:32:19,140 --> 00:32:21,990 në fjalë të tilla si dhe karaktere dhe bytes-- si ky fjalor, 655 00:32:21,990 --> 00:32:24,230 ne mund të shkruani, ne mund të shkruajnë si 656 00:32:24,230 --> 00:32:26,670 si një objekt JSON, i cili ishte fjalë për fjalë këto karaktere. 657 00:32:26,670 --> 00:32:29,420 Dhe atëherë do të jetë shumë e lehtë për një njeri për të hapur atë up-- hapur 658 00:32:29,420 --> 00:32:30,889 dhe lexoni atë. 659 00:32:30,889 --> 00:32:33,180 Në qoftë se ne nuk e bëri veçanërisht kujdesen për njerëzit e lexuar atë, 660 00:32:33,180 --> 00:32:38,490 ne mund të paketë edhe më efikase në forma që më vonë do të mund të unpacked 661 00:32:38,490 --> 00:32:42,860 apo që më vonë mund të jenë të ekzagjeruara. 662 00:32:42,860 --> 00:32:46,740 Dhe kjo kursen 80% të Hapësira që objektet juaj mund të 663 00:32:46,740 --> 00:32:49,390 të marrë në qoftë se ju ka shkruajtur ato shkrim dore. 664 00:32:49,390 --> 00:32:52,384 >> Ju e quani turshi shumë e njëjta way-- hale, ngarkesës, 665 00:32:52,384 --> 00:32:53,800 dhe pastaj ju merrni gjërat tuaja prapa. 666 00:32:53,800 --> 00:32:56,880 Pra, nëse ju shkruani shumë Programet e shkurtër Python se 667 00:32:56,880 --> 00:32:59,952 duan të kursejnë shtetit, dhe pastaj lexoni ato përsëri më vonë, gjëra të tilla si kjo 668 00:32:59,952 --> 00:33:00,660 janë miqtë tuaj. 669 00:33:00,660 --> 00:33:02,640 Që ju mund shumë lehtë hale ato si JSON. 670 00:33:02,640 --> 00:33:04,550 Shumica e objekteve Python mund të hale jashtë JSON 671 00:33:04,550 --> 00:33:11,310 nëse ka ndonjë shpresë që strukturalisht ata mund të përfaqësohen në këtë mënyrë. 672 00:33:11,310 --> 00:33:14,410 >> Këto janë vetëm maja e ajsberg në modulet që janë të dobishme. 673 00:33:14,410 --> 00:33:19,510 Pra SYS, os, multiprocessing, janë lloj workhorses themelore për gjëra 674 00:33:19,510 --> 00:33:23,120 ne kemi nevojë për të bashkëvepruar me file sistemi os., 675 00:33:23,120 --> 00:33:28,764 si os.isfile, os.isdirectory, os.makefile, këto janë miqtë tuaj. 676 00:33:28,764 --> 00:33:30,930 Nëse ju doni për të bashkëvepruar me një lloj të veçantë fotografi, 677 00:33:30,930 --> 00:33:32,190 JSON, turshi, CSV. 678 00:33:32,190 --> 00:33:37,160 Nëse ju doni për të bashkëvepruar me web faqe, urllib për marrjen http 679 00:33:37,160 --> 00:33:41,370 faqe. bs4-- BeautifulSoup-- kjo është një parser mrekullueshme për HTML. 680 00:33:41,370 --> 00:33:47,047 Ju drejtuar atë në një HTML dhe ju merrni këtë objekt mbivendosur array tani, 681 00:33:47,047 --> 00:33:49,630 të cilat ju mund të kaloj mbi Lookin, me si vetëm në kërkim të 682 00:33:49,630 --> 00:33:52,380 nëse, është, në të, e cila është e madhe. 683 00:33:52,380 --> 00:33:55,920 >> Ka një bandë e paketa për running-- 684 00:33:55,920 --> 00:33:57,960 për të bërë veçanërisht gjëra Mathy. 685 00:33:57,960 --> 00:34:01,790 Pra, nëse ju doni të shumohen, anasjell, transformuar matricat, 686 00:34:01,790 --> 00:34:05,690 numpy është përdorur nga njerëzit të gjithë bota për atë. 687 00:34:05,690 --> 00:34:09,620 scipy është edhe më e dobishme mjetet në këtë drejtim. 688 00:34:09,620 --> 00:34:13,980 mësuarit sklearn-- makine, të përpunimit të gjuhës natyrore, 689 00:34:13,980 --> 00:34:17,880 super sende të dobishme, merr zbatuar në Python gjithë kohës. 690 00:34:17,880 --> 00:34:21,469 >> Dhe përsëri, merr pak më të gjatë për write-- keq, 691 00:34:21,469 --> 00:34:26,199 merr pak më të gjatë për të kandiduar, por arsyeja që inxhinierët e vërtetë tentojnë 692 00:34:26,199 --> 00:34:29,900 Përdorimi Python është për shkak se ju kanë tendencë të jenë të bllokuar nga ju shkruar kodin, në vend 693 00:34:29,900 --> 00:34:32,699 se kompjuterin tuaj running kodin. 694 00:34:32,699 --> 00:34:35,860 Pra, nëse ju jeni duke shkuar për të shkruar një program, i cili shumë njerëz të tjerë 695 00:34:35,860 --> 00:34:37,699 do të përdorin përgjithmonë, si Linux, ju 696 00:34:37,699 --> 00:34:41,900 mund të shkruani atë në C. Nëse keni qenë shkuar për të shkruar një motor llogaritje, 697 00:34:41,900 --> 00:34:46,124 ju mund të shkruani në Python nëse ju nevojitet për të ndryshuar atë çdo dy muaj. 698 00:34:46,124 --> 00:34:48,540 Disa njerëz do të shkruani atë në C për shkak se ata janë të tillë. 699 00:34:48,540 --> 00:34:51,100 700 00:34:51,100 --> 00:34:54,050 >> Pra, ne kemi parë SYS importit si një mënyrë për të getting things 701 00:34:54,050 --> 00:34:57,070 e gjetjes modul në programin tuaj. 702 00:34:57,070 --> 00:35:00,370 Ju gjithashtu mund të importojë atë si një pseudonimi, në qoftë se ju dëshironi. 703 00:35:00,370 --> 00:35:03,660 Përsëri multiprocessing është një dhimbje për lloji jashtë çdo kohë, në mënyrë të importuar si deputet 704 00:35:03,660 --> 00:35:05,900 dhe pastaj çdo kohë që ju e përdorin atë në program, 705 00:35:05,900 --> 00:35:09,732 ju do të thoni mp.process, ose çfarë keni. 706 00:35:09,732 --> 00:35:12,670 Në qoftë se ju dëshironi të importit vetëm një gjë të vetme, 707 00:35:12,670 --> 00:35:19,450 kështu urllib ka një gjë të quajtur kërkesë, kështu që ju vetëm mund të importojë atë. 708 00:35:19,450 --> 00:35:22,610 Më vonë, ju nuk do të kërkoj atë si urllib.request, por ashtu si kërkesë 709 00:35:22,610 --> 00:35:24,590 në vetvete. 710 00:35:24,590 --> 00:35:30,110 >> Dhe ju mund të importojë gjithçka nga një modul në qoftë se ju dëshironi. 711 00:35:30,110 --> 00:35:34,820 Kjo herë pas here nuk është një idea-- mirë kjo zakonisht nuk është një ide e mirë, në të vërtetë. 712 00:35:34,820 --> 00:35:39,080 Sepse ju very-- sepse nëse çdo gjë në këtë modul ka një emër që ju 713 00:35:39,080 --> 00:35:41,640 të kërkuar për të përdorur diku tjetër në programin tuaj, ju nuk mund. 714 00:35:41,640 --> 00:35:44,127 >> Dhe kjo nuk është gjithmonë e qartë se kjo është e rastit. 715 00:35:44,127 --> 00:35:46,460 Në mënyrë që të sigurohemi se atë që po bënin ishte e sigurt, 716 00:35:46,460 --> 00:35:47,920 ju keni nevojë për të hapur moduli dhe të shohin të gjithë 717 00:35:47,920 --> 00:35:50,295 nga emrat që përfundojnë në there-- të gjitha funksionet, 718 00:35:50,295 --> 00:35:53,010 të gjitha variablave që jetojnë në këtë modul, 719 00:35:53,010 --> 00:35:57,040 sepse ju jeni duke sjellë të gjithë ata në hapësirën tuaj lokale. 720 00:35:57,040 --> 00:35:58,680 >> Kështu që njerëzit e bëjnë këtë. 721 00:35:58,680 --> 00:36:01,322 Është e rekomanduar në përgjithësi se ju nuk e bëni këtë. 722 00:36:01,322 --> 00:36:03,280 Por njerëzit e bëjnë këtë të gjithë koha për shkak se ata janë 723 00:36:03,280 --> 00:36:05,180 dembel dhe nuk duan të shkruani jashtë deputet. 724 00:36:05,180 --> 00:36:06,310 asgjë, kurrë. 725 00:36:06,310 --> 00:36:09,560 726 00:36:09,560 --> 00:36:13,310 >> Gjitha këto flasin për modulet sjellë mua rreth në një bisedë të shkurtër 727 00:36:13,310 --> 00:36:15,930 se si ju të hartuar programe në Python. 728 00:36:15,930 --> 00:36:19,860 Hapi i parë është që të kontrolloni për të parë nëse dikush tjetër e ka bërë tashmë atë gjë, 729 00:36:19,860 --> 00:36:22,160 ose bëhet 90% të sendit. 730 00:36:22,160 --> 00:36:26,010 Shanset janë ata ndoshta kanë, dhe ju duhet të shkoni merrni gjë e tyre dhe për të drejtuar atë. 731 00:36:26,010 --> 00:36:28,900 Apo shkruani një këmishë rreth tij për të përshtatur atë në qëllimin tuaj. 732 00:36:28,900 --> 00:36:31,250 Është vetëm pasi që ka dështuar që ju do të atëherë 733 00:36:31,250 --> 00:36:35,529 shkoni në dhe write-- fillosh të mendosh rreth si ju do të vënë këtë gjë së bashku. 734 00:36:35,529 --> 00:36:37,320 Ka shumë gjëra atje, dhe kjo është 735 00:36:37,320 --> 00:36:39,180 një prej më të dobishme gjëra në lidhje Python. 736 00:36:39,180 --> 00:36:40,930 Ashtu si gjuha është elegante, gjuha 737 00:36:40,930 --> 00:36:43,800 është e lehtë për t'u përdorur, por edhe për shkak është aq elegante dhe të lehtë për t'u përdorur, 738 00:36:43,800 --> 00:36:47,420 njerëzit kanë qenë duke e përdorur atë për një kohë të gjatë dhe ka një shumë gjëra 739 00:36:47,420 --> 00:36:52,520 nga atje se ju mund të shfrytëzuar për përdorimin tuaj. 740 00:36:52,520 --> 00:36:58,457 >> Pra, sundimi i fundit i Python është, dikush tjetër tashmë ka shkruar ndoshta 741 00:36:58,457 --> 00:37:00,290 një modul për këtë, dikush tjetër e ka tashmë 742 00:37:00,290 --> 00:37:02,980 ndoshta shkruar një bibliotekë për këtë. 743 00:37:02,980 --> 00:37:06,579 Para se ju të përpiqet të bëjë një gjë, shikoni për të parë nëse ajo është zbatuar. 744 00:37:06,579 --> 00:37:07,370 Kjo nuk është se e vështirë. 745 00:37:07,370 --> 00:37:11,960 Të gjitha modulet që kam vënë para, ndoshta me një përjashtim, 746 00:37:11,960 --> 00:37:15,220 vijnë para-instaluar në çdo instalimi standarde Python. 747 00:37:15,220 --> 00:37:17,769 Dhe kështu me një thirrje për importojë çfarëdo, ju 748 00:37:17,769 --> 00:37:19,852 kanë të gjithë që funksionalitetit në majë të gishtave tuaj. 749 00:37:19,852 --> 00:37:24,660 750 00:37:24,660 --> 00:37:28,920 >> Filluar ta përfundojë këtë flasim, ka disa gjëra 751 00:37:28,920 --> 00:37:32,770 që unë e kam lënë si kuti e zezë dhe lloj i glossed mbi, 752 00:37:32,770 --> 00:37:37,217 dhe ka një të bardhë disa gënjeshtra që unë kam tha se për hir të ndershmërisë, 753 00:37:37,217 --> 00:37:39,050 Unë do të të paktën pika në këtu, edhe në qoftë se unë nuk do të 754 00:37:39,050 --> 00:37:43,980 shkoni super thellë në të gjitha prej tyre dhe shpjegimet e tyre teknike. 755 00:37:43,980 --> 00:37:46,010 >> Një shumë prej gjërave që unë e kam quajtur magji 756 00:37:46,010 --> 00:37:48,980 është ajo që njerëzit e tjerë do të thërrasë kundërshtojnë programimin e orientuar. 757 00:37:48,980 --> 00:37:52,470 Pra, ka shumë things-- kështu që variablat janë shumë shpesh nuk 758 00:37:52,470 --> 00:37:56,540 bytes thjeshtë ulur në, kujtesës, por janë shumë të komplikuara 759 00:37:56,540 --> 00:38:01,910 objekte që kanë të brendshme shtet në lidhje me funksionet dhe shumë 760 00:38:01,910 --> 00:38:05,570 Variablat e fshehura, shumë funksionalitetin e fshehur, e cila 761 00:38:05,570 --> 00:38:09,480 ju lejon të kthejnë ato në vargje, e cila ju lejon të iterate mbi ta. 762 00:38:09,480 --> 00:38:12,260 Dhe nëse ju jeni writing-- dhe arsyeja që ata 763 00:38:12,260 --> 00:38:15,710 kanë të gjithë këtë funksionalitetin e pasur është për shkak të people-- 764 00:38:15,710 --> 00:38:17,740 arkitektët e language-- kanë shkuar 765 00:38:17,740 --> 00:38:22,420 përmes dhe për çdo standardi objekt, të vënë në funksionalitetin 766 00:38:22,420 --> 00:38:26,970 të thonë se kjo është se si kjo është e se si kjo do të operojë 767 00:38:26,970 --> 00:38:28,470 në qoftë se dikush dëshiron të iterate mbi të. 768 00:38:28,470 --> 00:38:31,240 >> Pra, çdo gjë që dikush mund të ndoshta duan të iterate mbi, 769 00:38:31,240 --> 00:38:34,529 ka shkruar logjikë në me dorë se si ju jeni 770 00:38:34,529 --> 00:38:36,070 menduar për të iterate mbi atë objekt. 771 00:38:36,070 --> 00:38:40,274 Çdo gjë që ju mund të dëshironi hedhur në një varg ka shkruar logjikë. 772 00:38:40,274 --> 00:38:43,440 Ky është funksioni që ju të telefononi në qoftë se ju doni të hale këtë jashtë në një varg. 773 00:38:43,440 --> 00:38:45,273 Kjo është arsyeja pse ju mund të thërrasë len në gjëra, kjo 774 00:38:45,273 --> 00:38:49,900 është arsyeja pse ju mund të telefononi në, kjo është pse ju mund të telefononi në qoftë se në të çdo gjë 775 00:38:49,900 --> 00:38:53,490 që ju do të duan të, sepse ata të gjithë janë të mbante me ta, 776 00:38:53,490 --> 00:38:55,380 teknike, know-how për të bërë këtë. 777 00:38:55,380 --> 00:38:58,170 778 00:38:58,170 --> 00:39:00,432 >> Kjo është diçka që unë jam super nuk do të shkojë në. 779 00:39:00,432 --> 00:39:03,140 Por për gjë në listë është Subtly ndryshe nga stili C për sythe, 780 00:39:03,140 --> 00:39:06,160 dhe ju mund të lexoni të gjitha në lidhje me atë në në internet në qoftë se ju jeni të interesuar. 781 00:39:06,160 --> 00:39:08,930 Ka një anë të errët për të gjithë për këtë, që unë përmenda, 782 00:39:08,930 --> 00:39:10,359 kështu që nuk ka dy gjëra. 783 00:39:10,359 --> 00:39:13,400 E para është se ky objekt orientuar programimit shton një shumë të lart 784 00:39:13,400 --> 00:39:16,080 për gjëra të rastit, kështu që ju të përfundojë duke përdorur një shumë më shumë memorie; 785 00:39:16,080 --> 00:39:18,640 ju deri në fund duke përdorur një më të vogël herë se ju do të ndryshe. 786 00:39:18,640 --> 00:39:21,300 Other-- por më shumë Ana fshehtë të errët në këtë 787 00:39:21,300 --> 00:39:24,047 është, në qoftë se gjërat vetëm të veprojë si ju doni ta 788 00:39:24,047 --> 00:39:27,130 pa ju pasur nevojë të mendoj super e vështirë nëse kjo duhet të jetë një int 789 00:39:27,130 --> 00:39:29,713 apo nëse duhet të ketë një noton, ajo mund të jetë se këtu 790 00:39:29,713 --> 00:39:34,240 ju të prodhojë një int por mbi këtu ju mendojnë por ata do të always-- keq, 791 00:39:34,240 --> 00:39:36,555 ajo mund të jetë se këtu ju të prodhojë një noton, 792 00:39:36,555 --> 00:39:39,430 por kur ju merrni në pjesën e dytë e programit tuaj, ju jeni duke menduar, 793 00:39:39,430 --> 00:39:41,150 oh mirë, por ata do të gjithmonë të kalojë më një int. 794 00:39:41,150 --> 00:39:43,608 Dhe në qoftë se ata nuk e bëjnë, është e mundur që ju wedged diku, 795 00:39:43,608 --> 00:39:47,600 nëse ju përpiqeni të përdorni atë për të indeksit në një grup, ose çfarë keni. 796 00:39:47,600 --> 00:39:51,050 >> Pra, një nga më të vërtetë gjëra të dobishme në lidhje me C 797 00:39:51,050 --> 00:39:54,219 ajo ju detyron të mendoni me të vërtetë vështirë para se të bëni any-- 798 00:39:54,219 --> 00:39:56,510 para se të sjellë ndonjë variabël në ekzistencë, si ajo që 799 00:39:56,510 --> 00:39:58,764 është lloji i kësaj variable. 800 00:39:58,764 --> 00:40:00,680 Dhe ajo do të ketë se lloji për të gjithë kohën. 801 00:40:00,680 --> 00:40:02,410 >> Kjo nuk eshte e vertete Python, dhe në fakt, ju 802 00:40:02,410 --> 00:40:04,740 can-- në qoftë se ju jeni vetëm lloj i shkon me vesh, 803 00:40:04,740 --> 00:40:07,690 dhe ju bëni disa vendime një mënyrë në një vend, 804 00:40:07,690 --> 00:40:09,870 dhe disa vendime të një mënyrë në vend tjetër 805 00:40:09,870 --> 00:40:12,960 pa vënë gjëra mjaft prapa skenat në vend tjetër 806 00:40:12,960 --> 00:40:16,170 për të kapur gjërat siç duhet, ju mund të merrni disa gabime shumë të çuditshme. 807 00:40:16,170 --> 00:40:19,200 Dhe programi mund të mbani drejtimin për një kohë shumë të gjatë, sepse kjo është 808 00:40:19,200 --> 00:40:23,200 duke bërë një punë shumë e për të thënë, mirë kjo gjë mund të veprojë në këtë mënyrë, 809 00:40:23,200 --> 00:40:25,070 kështu që unë jam duke shkuar për të drejtuar në këtë mënyrë. 810 00:40:25,070 --> 00:40:30,300 >> Dhe në fakt, fakti se ajo shtyn përpara përmes një shumë të gabimeve të vogla 811 00:40:30,300 --> 00:40:33,260 do të thotë se, shpesh kur një gabim në fakt është e keqe 812 00:40:33,260 --> 00:40:38,720 dhe ju bëni në të vërtetë doni për të rregulluar atë, ajo përfundon milje away-- programit 813 00:40:38,720 --> 00:40:41,780 përfundon duke ndaluar milje larg prej kur keni pasur gabim tuaj. 814 00:40:41,780 --> 00:40:46,590 Dhe kështu një gjë që ne do të dëshironim programe për të bërë, sometimes-- një gjë 815 00:40:46,590 --> 00:40:48,910 që ne do të dëshironim programe të bëjmë kur ne jemi debugging 816 00:40:48,910 --> 00:40:54,160 është dështojnë me zë të lartë dhe të dështojnë shumë shpejt kur diçka shkon keq. 817 00:40:54,160 --> 00:40:55,510 >> Python është shumë e keqe në këtë. 818 00:40:55,510 --> 00:40:58,820 Python është shumë i mirë në jo dështuar dhe kodrina përpara 819 00:40:58,820 --> 00:41:00,320 përmes gjërave të papritura. 820 00:41:00,320 --> 00:41:02,820 Pra, kjo është e dobishme për të, kur ju jeni me shkrim programe të vogla. 821 00:41:02,820 --> 00:41:07,110 Kur ju merrni e komplikuar mete ndonjëherë 822 00:41:07,110 --> 00:41:09,300 merr një kohë të gjatë të vë në lojë e tyre jashtë. 823 00:41:09,300 --> 00:41:12,210 >> Pra, ka një anë të errët për të gjithë për këtë, si vetëm ajo punon. 824 00:41:12,210 --> 00:41:13,860 Ajo thjesht punon si ju do të presin që ajo të. 825 00:41:13,860 --> 00:41:18,320 Përveç se kur kjo nuk ndodh, ju të përfundojë deri në një vend krejtësisht të ndryshme 826 00:41:18,320 --> 00:41:21,530 dhe duke u përpjekur të kuptoj se ku ajo ishte se ju shkoi keq. 827 00:41:21,530 --> 00:41:25,180 >> Mbledhja e mbeturinave is-- kështu një gjë që ju do të vini re 828 00:41:25,180 --> 00:41:28,110 është se asnjë nga këto gjëra që Unë e kam sjellë në existence-- 829 00:41:28,110 --> 00:41:34,114 këto vargjeve, këta fjalorë, këto objekte, këto files-- nuk merrni liruar. 830 00:41:34,114 --> 00:41:36,030 Nuk kishte asnjë thirrje për pa në ndonjë prej kësaj bisede. 831 00:41:36,030 --> 00:41:40,340 Dhe që ndodhet C-krah, sepse ne kurrë nuk e mori në këto gjëra. 832 00:41:40,340 --> 00:41:42,220 >> Por në Python-krah, nuk ka një të lirë. 833 00:41:42,220 --> 00:41:43,970 Gjërat të merrni automatikisht liruar kur Python 834 00:41:43,970 --> 00:41:45,386 mendon se ju nuk jeni në kërkim të tyre. 835 00:41:45,386 --> 00:41:49,640 Kjo nuk është me të vërtetë e mirë liruar gjëra që ju mund ndoshta ende të jetë në kërkim në, 836 00:41:49,640 --> 00:41:54,262 por kjo do të thotë se në qoftë se keni qenë do të ndajë këtë gjë të madhe, 837 00:41:54,262 --> 00:41:55,970 dhe ju jeni si, oh Unë jam bërë me këtë tani, 838 00:41:55,970 --> 00:42:00,360 është e vështirë për të të treguar Python se ju jeni bërë me të tani. 839 00:42:00,360 --> 00:42:02,986 >> Ju mund të vendosni ndonjëherë që ndryshueshme të jetë askush, 840 00:42:02,986 --> 00:42:05,110 dhe pastaj shpresoj se përfundimisht koleksionist plehrave 841 00:42:05,110 --> 00:42:06,720 vjen përmes dhe pastron atë. 842 00:42:06,720 --> 00:42:10,177 Por përsëri, ju nuk e bëni kanë kontroll mbi atë. 843 00:42:10,177 --> 00:42:13,510 Dhe një nga arsyet që njerëzit përdorin C për të vërtetë performancën gjëra kritike, 844 00:42:13,510 --> 00:42:16,570 është kjo aftësi për të vërtetë e di kur e kujtesës është e ndarë 845 00:42:16,570 --> 00:42:19,369 dhe kur është e liruar, dhe kanë një shumë të kontrollit mbi duke thënë: 846 00:42:19,369 --> 00:42:20,910 Unë jam duke përdorur jo më shumë memorie se kam nevojë. 847 00:42:20,910 --> 00:42:23,632 E cila është diçka që Python nuk është se e madhe në. 848 00:42:23,632 --> 00:42:25,090 Audienca: Unë mund të një pyetje të pyesni? 849 00:42:25,090 --> 00:42:29,800 Çfarë keni të thoni me zë të lartë të dështojnë? 850 00:42:29,800 --> 00:42:32,070 >> Ross RHEINGANS-Yoo: Pra, nëse diçka po ndodh gabuar 851 00:42:32,070 --> 00:42:34,950 dhe ju jeni në debugging mode, ju do shumë shpesh 852 00:42:34,950 --> 00:42:38,510 dua programi juaj të ju them ku pikërisht është e shkuar keq, 853 00:42:38,510 --> 00:42:42,360 dhe jo vetëm në heshtje të ndalet running. 854 00:42:42,360 --> 00:42:45,085 Por ju do të në fakt për të shtypur nga të gjitha llojet e informacionit në lidhje me 855 00:42:45,085 --> 00:42:46,972 si, këtu ishte kjo. 856 00:42:46,972 --> 00:42:53,957 Kjo gjë ndodhi Nëse ju jeni shtypjen një wen-- qoftë se ju jeni drejtimin e një web server-- 857 00:42:53,957 --> 00:42:55,390 >> Audienca: [padëgjueshme] 858 00:42:55,390 --> 00:42:59,800 >> Ross RHEINGANS-Yoo: Po, në qoftë se ju jeni drejtimin e një web server, 859 00:42:59,800 --> 00:43:02,680 kjo është ndonjëherë keq në qoftë se ju jeni gjithmonë hidhni gabime, 860 00:43:02,680 --> 00:43:04,530 dhe ju jeni duke thënë, mirë që nuk punojnë. 861 00:43:04,530 --> 00:43:05,300 Unë jam duke shkuar për të ndaluar. 862 00:43:05,300 --> 00:43:07,680 Unë jam vetëm duke shkuar për të injorojë ajo dhe për të mbajtur në vazhdim e sipër. 863 00:43:07,680 --> 00:43:11,260 Sepse atëherë ju mund të merrni në qindra nga këto gabime dhe nuk shohin ato. 864 00:43:11,260 --> 00:43:13,910 >> Ajo me siguri do të jetë e dobishme për qëllime debugging 865 00:43:13,910 --> 00:43:20,327 në qoftë se çdo herë web serverin tuaj e bëri një gabim, keni pasur shënime të qëndrueshme të cilat. 866 00:43:20,327 --> 00:43:22,910 Ndoshta ju edhe doni programin për të ndaluar, në mënyrë që këto të dhënat 867 00:43:22,910 --> 00:43:25,471 A nuk merrni varrosur nën gjërave. 868 00:43:25,471 --> 00:43:26,970 Por përsëri, kjo është në mënyrë debugging. 869 00:43:26,970 --> 00:43:31,280 >> Shpesh në mënyrë të prodhimit, Bota është pak më ndryshe. 870 00:43:31,280 --> 00:43:36,380 Dhe në Scripts vogël se unë jam running, ku gjëja që kam thënë për të bërë 871 00:43:36,380 --> 00:43:40,680 mund të jetë vetëm pak jashtë nga ajo që unë do të doja që ajo të bëjë, 872 00:43:40,680 --> 00:43:44,010 pastaj lloj i shtyn përmes Gabimet është diçka që ju mund të dëshironi. 873 00:43:44,010 --> 00:43:49,410 Dhe në këto raste, sigurisht Python vërtetë fiton fillon e saj. 874 00:43:49,410 --> 00:43:54,617 >> Gjëja e fundit që unë nuk të flas në this-- që unë nuk flas për 875 00:43:54,617 --> 00:43:57,700 por mund të jetë me të vërtetë egërsuar i pari herë ju keni një nga këto gabime, 876 00:43:57,700 --> 00:44:00,491 dhe të dytë dhe të tretë dhe të katërt herë ju keni një këto gabime. 877 00:44:00,491 --> 00:44:03,490 Python, e përmenda që përdor hapësirë ​​të bardhë 878 00:44:03,490 --> 00:44:06,700 për të ju tregojnë se çfarë niveli i vulë dhe çfarë bllok funksional ju jeni në, 879 00:44:06,700 --> 00:44:08,840 ajo trajton tabs dhe hapësira të ndryshme. 880 00:44:08,840 --> 00:44:12,780 Pra, nëse ju tab mbi katër, dhe pastaj linjë tjetër ka katër hapësira, 881 00:44:12,780 --> 00:44:16,910 edhe në qoftë se ata shfaqen si njëjtën sasi në editor tuaj, 882 00:44:16,910 --> 00:44:20,160 Python nuk i trajton ata të njëjtën gjë. 883 00:44:20,160 --> 00:44:23,610 >> Në fakt, Python trajton tabs dhe hapësira të tilla si nafta dhe ujë. 884 00:44:23,610 --> 00:44:25,050 Ata janë gjëra vetëm të ndryshme. 885 00:44:25,050 --> 00:44:27,264 Nuk ka asnjë të veçantë gjatësinë që një tab është, 886 00:44:27,264 --> 00:44:30,180 kështu që nuk është si një skedë është e barabartë me 8 hapësira, dhe kështu ju do të merrni rreth tij 887 00:44:30,180 --> 00:44:30,860 ne ate menyre. 888 00:44:30,860 --> 00:44:34,110 Si, kur ai thotë, çfarë Niveli i hapësirë ​​të bardhë unë jam në, 889 00:44:34,110 --> 00:44:37,240 ajo është në të vërtetë duke kërkuar për një model i hapësirave dhe tabs. 890 00:44:37,240 --> 00:44:43,050 Dhe kështu, mënyra më e mirë për t'u marrë me këtë është që të përdorni përherë Spaces gjithë kohës. 891 00:44:43,050 --> 00:44:47,510 >> Dhe në fakt, në Cloud9 IDE dhe CS50 IDE, 892 00:44:47,510 --> 00:44:50,610 tu fut Tab kyçe katër hapësira në vend 893 00:44:50,610 --> 00:44:53,800 e një tab, e cila është e dobishme super. 894 00:44:53,800 --> 00:44:57,074 Edhe pse përsëri, në qoftë se ju ka shkruajtur një Python program me skeda që do të jetë mirë, 895 00:44:57,074 --> 00:44:58,990 kjo është vetëm në qoftë se dikush shkoi dhe u përpoq për të shtuar 896 00:44:58,990 --> 00:45:02,655 një linjë të vetme për programin tuaj që kishte katër hapësira për çdo tab, 897 00:45:02,655 --> 00:45:03,280 ajo do të prishej. 898 00:45:03,280 --> 00:45:07,800 Dhe kjo do të thyejnë në mënyrë të që me të vërtetë nuk është e dukshme. 899 00:45:07,800 --> 00:45:12,390 Edhe pse gabimit aktual Mesazhi që ai hedh 900 00:45:12,390 --> 00:45:15,610 ka të bëjë me të reja indent nuk pritet këtu, 901 00:45:15,610 --> 00:45:18,700 or-- nëse ajo është duke folur rreth pikat dhe kjo duket si ajo është e gabuar, 902 00:45:18,700 --> 00:45:22,090 kjo është ndoshta për shkak ka një problem tab-hapësirë. 903 00:45:22,090 --> 00:45:24,154 Ata janë ende egërsuar të korrigjoj. 904 00:45:24,154 --> 00:45:26,070 Gjithë më i madh në kjo bisedë, të cilën unë nuk e bëri 905 00:45:26,070 --> 00:45:29,740 merrni për të, sepse është e vërtetë një, temë e komplikuar delikate, 906 00:45:29,740 --> 00:45:34,760 dhe nuk ishte e nevojshme për të bërë ndonjë nga gjërat që ne kemi bërë deri më tani, 907 00:45:34,760 --> 00:45:37,140 janë një koncept të quajtur tuples. 908 00:45:37,140 --> 00:45:41,280 Ata janë atje shumë si më vargjeve që ju nuk mund të modifikoni. 909 00:45:41,280 --> 00:45:44,700 Ata të mësohen të gjithë vendin, sepse ato janë të dobishme për shumë gjëra 910 00:45:44,700 --> 00:45:46,300 vargjeve që nuk janë të dobishme për të. 911 00:45:46,300 --> 00:45:49,890 >> Por në qoftë se ju do të donte për të bërë një grup, dhe pastaj premtojnë përkthyes që ju 912 00:45:49,890 --> 00:45:53,140 kurrë nuk do të duan për të ndryshuar atë thing-- në fakt, në qoftë se ju dëshironi të modifikoni, 913 00:45:53,140 --> 00:45:56,800 ju do të bëni një të ri me i ri vlerat në it-- ato janë tuples. 914 00:45:56,800 --> 00:45:58,800 Në vend se duke prodhuar ata me kllapa katrore, 915 00:45:58,800 --> 00:46:00,341 ti prodhojnë ato me kllapa të rrumbullakëta. 916 00:46:00,341 --> 00:46:05,074 Pse ju do të përdorni këto gjëra, është pak e një pyetje. . 917 00:46:05,074 --> 00:46:06,990 E vetmja gjë që unë do thonë në lidhje me atë është që ju 918 00:46:06,990 --> 00:46:10,680 mund të përdorin tuples si Indekset për fjalorë. 919 00:46:10,680 --> 00:46:15,010 Ju nuk mund të përdorni vargjeve si Indekset për fjalorë. 920 00:46:15,010 --> 00:46:18,970 Dhe pse është, përsëri, teknike dhe Unë nuk jam duke shkuar për të kandiduar në të. 921 00:46:18,970 --> 00:46:23,140 >> Pset që unë nuk kam prekur në këtë bisedë është pset6. 922 00:46:23,140 --> 00:46:25,837 Kështu që këtu është se si ju 'd zbatuar a-- këtu është 923 00:46:25,837 --> 00:46:28,140 si ju do të zbatojë pset6 në Python. 924 00:46:28,140 --> 00:46:32,680 Duke mbajtur parasysh Python cikli dizajn, gjëja e parë 925 00:46:32,680 --> 00:46:34,760 që ju të bëni kur ju jeni Programet shkrim është kontroll 926 00:46:34,760 --> 00:46:38,030 për të parë nëse dikush është bërë atë tashmë. 927 00:46:38,030 --> 00:46:42,152 >> Në fakt, në qoftë se ju doni të serve-- Apache 50 928 00:46:42,152 --> 00:46:44,110 e bën përafërsisht këtë, përveç se nuk ka ardhur 929 00:46:44,110 --> 00:46:45,840 standarde i instaluar në makinat Linux. 930 00:46:45,840 --> 00:46:50,490 Python bën, dhe Python Serveri thjeshtë http bën si. 931 00:46:50,490 --> 00:46:54,717 Nëse ju jeni ndonjëherë në një makinë Linux, ose jashtë Cloud9 IDE e CS50 932 00:46:54,717 --> 00:46:57,550 dhe ju do të doja të shërbejë këtë aktuale Lista në një port të veçantë, 933 00:46:57,550 --> 00:47:04,610 python-M SimpleHTTPServer Porti i shërben ajo. 934 00:47:04,610 --> 00:47:07,190 Ju gjithashtu mund të importojë server të thjeshtë http 935 00:47:07,190 --> 00:47:11,240 dhe atë e mori një shumë të funksionalitetit nëse ju doni të rregulloje atë, ose të ndryshojë atë, 936 00:47:11,240 --> 00:47:15,860 ose janë drejtuar it-- shfrytëzojnë atë për të drejtuar shërbimet serverin tuaj. 937 00:47:15,860 --> 00:47:18,032 >> Pra, kjo është Python në një fjalë. 938 00:47:18,032 --> 00:47:20,280 Dhe kjo ka qenë CS50. 939 00:47:20,280 --> 00:47:21,980 Faleminderit. 940 00:47:21,980 --> 00:47:23,468