1 00:00:00,000 --> 00:00:05,426 2 00:00:05,426 --> 00:00:06,800 ROSS RHEINGANS-Yoo: Hi, Im 'Ross. 3 00:00:06,800 --> 00:00:08,570 Ac mae hyn yn seminar CS50. 4 00:00:08,570 --> 00:00:12,100 Bydd yn mynd â chi o raglennu yn C i rhaglennu yn Python. 5 00:00:12,100 --> 00:00:15,120 >> Python yn iaith sgriptio. 6 00:00:15,120 --> 00:00:17,870 Mae'n bennaf fel C cystrawennol, er bod rhai 7 00:00:17,870 --> 00:00:20,390 o'r manylion technegol sut y gystrawen yn cael ei ddienyddio 8 00:00:20,390 --> 00:00:22,240 ychydig yn wahanol. 9 00:00:22,240 --> 00:00:24,780 Mae'n llai pwerus na'r C mewn rhai ffyrdd. 10 00:00:24,780 --> 00:00:28,130 Mae'n llai mynegiannol ar gyfer ble yn union yn eich cyfrifiadur 11 00:00:28,130 --> 00:00:30,030 cof yn cael ei osod allan, sut y mae'n cael ei osod allan, 12 00:00:30,030 --> 00:00:32,030 pan mae'n mynd yn rhyddid, a mathau hynny o beth. 13 00:00:32,030 --> 00:00:36,150 >> Mae'n fwy defnyddiol nag C mewn rhai ffyrdd, am ei fod yn haws i raglen yn. 14 00:00:36,150 --> 00:00:39,920 Mae'r iaith yn, i ryw bobl, yn fwy 'n athrylithgar. 15 00:00:39,920 --> 00:00:44,820 Ac mewn gwirionedd, y nod yw i ei fod yn gyflymach i raglen 16 00:00:44,820 --> 00:00:46,490 ac o bosibl yn arafach i weithredu. 17 00:00:46,490 --> 00:00:48,198 >> Nawr, os ydych yn meddwl am faint o amser 18 00:00:48,198 --> 00:00:50,514 a wariwyd gennych ar eich ddiwethaf gosod ysgrifennu problem 19 00:00:50,514 --> 00:00:52,430 eich cod yn erbyn y faint o amser y byddwch yn ei dreulio 20 00:00:52,430 --> 00:00:55,310 ar eich problem ddiwethaf osod cyflawni eich cod, 21 00:00:55,310 --> 00:00:58,300 byddech yn dychmygu bod yr iaith a oedd yn ddwywaith mor gyflym i ysgrifennu, 22 00:00:58,300 --> 00:01:02,170 a dwywaith yn araf i weithredu, efallai y yn welliant dros C mewn rhai ffyrdd. 23 00:01:02,170 --> 00:01:05,730 Yn sicr pan fyddwch chi'n ceisio ysgrifennu rhaglenni bach i wneud pethau bach, 24 00:01:05,730 --> 00:01:08,520 Python yn iaith defnyddiol o ddewis. 25 00:01:08,520 --> 00:01:10,620 >> Ac ar ddiwedd y seminar, yr wyf yn gobeithio wnewch chi helpu 26 00:01:10,620 --> 00:01:12,950 yn gallu gwneud y dewis mewn prosiectau yn y dyfodol 27 00:01:12,950 --> 00:01:17,710 am ba iaith cywir i'w ddefnyddio, nid yw'r syniad 28 00:01:17,710 --> 00:01:21,405 bod un iaith yn fwy cywiro drwy'r amser. 29 00:01:21,405 --> 00:01:23,030 Mae ychydig o bethau am yr hyn y seminar yw. 30 00:01:23,030 --> 00:01:25,910 Nid yw'r seminar fwriedir i eich dysgu Python o'r dechrau. 31 00:01:25,910 --> 00:01:28,310 Python yn debyg iawn i C, a dwi'n tybio 32 00:01:28,310 --> 00:01:34,056 eich bod chi'n fyfyriwr CS50, neu rywun gyda gyfarwydd tebyg gyda C. 33 00:01:34,056 --> 00:01:36,700 >> Os ydych chi'n fyfyriwr CS50 o gwmpas broblem a osodwyd 6, 34 00:01:36,700 --> 00:01:38,866 Felly, rydych wedi gweld llawer o pethau yn C, byddaf yn rhoi i chi 35 00:01:38,866 --> 00:01:40,740 y prif wahaniaethau, a rhai o'r pethau 36 00:01:40,740 --> 00:01:42,840 sy'n gwneud Python wahanol ac arbennig a defnyddiol, 37 00:01:42,840 --> 00:01:45,256 ond dydw i ddim yn mynd i fynd am beth yw iaith raglennu yn 38 00:01:45,256 --> 00:01:46,920 a sut i ysgrifennu rhaglenni. 39 00:01:46,920 --> 00:01:49,820 Fodd bynnag, bydd y seminar hon yn addysgu chi ysgrifennu rhaglenni Python 40 00:01:49,820 --> 00:01:52,310 os ydych chi'n un o'r ychydig grwpiau hynny. 41 00:01:52,310 --> 00:01:54,820 Unwaith eto byddwn yn edrych ar sut byddech yn gweithredu psets-- 42 00:01:54,820 --> 00:01:57,550 Dylai hynny fod yn 1-6 yn Python-- ac yn darparu awgrymiadau 43 00:01:57,550 --> 00:02:00,322 at ddogfennau swyddogol er mwyn cyfeirio atynt yn y dyfodol. 44 00:02:00,322 --> 00:02:03,030 Y peth arall sy'n bwysig am y ffordd y sgwrs hon yn cael ei neilltuo, 45 00:02:03,030 --> 00:02:05,360 Bydd y fideo hwn yn ar-lein, trwy garedigrwydd CS50, 46 00:02:05,360 --> 00:02:07,550 felly ni ddylai ydych yn teimlo fel mae angen i chi gymryd nodiadau. 47 00:02:07,550 --> 00:02:11,180 Gallwch chi bob amser yn mynd yn ôl ac edrych arno nes ymlaen fel cyfeiriad. 48 00:02:11,180 --> 00:02:13,340 Yn ogystal, mae'r sleidiau ar gael ar hyn o bryd 49 00:02:13,340 --> 00:02:16,480 ar y safle hwn, a ddylai yn mynd â chi yn gwneud doc Google. 50 00:02:16,480 --> 00:02:21,010 Mae'n fersiwn talfyredig ychydig o'r hyn yr wyf i'n dangos ar y sgrin. 51 00:02:21,010 --> 00:02:24,850 >> Mae un cafeat yn ofalus cyn rydym yn neidio i mewn, Python 3 52 00:02:24,850 --> 00:02:26,700 yn iaith wahanol i Python 2. 53 00:02:26,700 --> 00:02:30,020 Maent yn edrych yn llawer yr un fath; Mae yna gwahaniaethau technegol bach iawn 54 00:02:30,020 --> 00:02:32,530 a fydd yn achosi rhaglenni a ysgrifennwyd yn Python 2 55 00:02:32,530 --> 00:02:37,140 beidio â bod yn gallu ei wneud yn yr amgylchedd Python 3. 56 00:02:37,140 --> 00:02:41,969 >> Mae'r peiriant CS50 yn dod gyda Python, yn ddiofyn mae'n defnyddio Python 2. 57 00:02:41,969 --> 00:02:44,010 Gallwch wirio hyn drwy teipio yn eich llinell gorchymyn 58 00:02:44,010 --> 00:02:51,310 --version Python, a ddylai allbwn 2.7.6 ar y peiriant ar hyn o bryd. 59 00:02:51,310 --> 00:02:53,580 Rhowch gynnig ar Python 3, sy'n gwneud gweithio yn y peiriant, 60 00:02:53,580 --> 00:02:58,500 os Python ddiffygion i 2.X.Y, naill ai ar yr offer neu ar eich beiriannau hun. 61 00:02:58,500 --> 00:03:03,730 Dylech gymryd lle Python 3 ar unrhyw adeg yn y sgwrs hon yr wyf yn ysgrifennu Python. 62 00:03:03,730 --> 00:03:05,760 Os yw eich peiriant yn rhedeg 2 yn ddiofyn, math 63 00:03:05,760 --> 00:03:09,770 Python 3 er mwyn gallu mewn gwirionedd yn dilyn ar hyd a gweithredu'r pethau hyn. 64 00:03:09,770 --> 00:03:12,280 >> Yn ogystal, byddaf yn pwyntio i chi ar adnoddau swyddogol erbyn hyn. 65 00:03:12,280 --> 00:03:16,082 docs.python.org/3-- yn ofalus bod hynny'n 3 ac nid yn 2-- 66 00:03:16,082 --> 00:03:17,030 Mae cyfeiriadau defnyddiol. 67 00:03:17,030 --> 00:03:19,280 Bydd Tiwtorial yn eich tywys trwy'r llawer o'r un pethau 68 00:03:19,280 --> 00:03:21,460 fy mod yn gwneud yn awr, ac eithrio ar ffurf testun. 69 00:03:21,460 --> 00:03:23,725 Cyfeirnod yn ddefnyddiol fel cyfeirio ar gyfer yr iaith, 70 00:03:23,725 --> 00:03:26,100 a Llyfrgell Safonol yn rhoi i chi rai o'r estyniadau 71 00:03:26,100 --> 00:03:27,770 gyda swyddogaethau ychwanegol. 72 00:03:27,770 --> 00:03:31,300 >> Felly rhaglen Python cyntaf. 73 00:03:31,300 --> 00:03:34,410 Ar y chwith mae gennym safon C, ar y dde, rydym wedi Python. 74 00:03:34,410 --> 00:03:36,780 Efallai eich bod wedi cydnabod y broblem hon, 'i' 75 00:03:36,780 --> 00:03:40,760 un o'r broblem gyntaf setiau yn CS50, ac mae'r rhain 76 00:03:40,760 --> 00:03:42,677 datrys gan ddefnyddio'r un ateb. 77 00:03:42,677 --> 00:03:45,010 Yn awr, y rheswm ein bod yn edrych ar y rhain ochr yn ochr 78 00:03:45,010 --> 00:03:46,830 mor gallwn edrych ar gwahaniaethau cystrawennol. 79 00:03:46,830 --> 00:03:49,580 Un o'r eliffantod yn yr ystafell y gallai eich bod wedi sylwi yn iawn 80 00:03:49,580 --> 00:03:56,350 oddi ar y ystlumod, yw nad Python Nid oes Prif lapio swyddogaeth o gwmpas y cod. 81 00:03:56,350 --> 00:03:59,170 Felly, yn C, byddwch yn ysgrifennu criw o ffeiliau, byddwch yn cysylltu â'i gilydd, 82 00:03:59,170 --> 00:04:02,590 ac mae'r rhaglen yn dechrau gweithredu yn y peth hyn a elwir prif int. 83 00:04:02,590 --> 00:04:04,930 >> Yn Python, byddwch yn ysgrifennu ffeilio chi, gweithredu y ffeil, 84 00:04:04,930 --> 00:04:07,882 y rhaglen yn dechrau gweithredu ar frig y ffeil. 85 00:04:07,882 --> 00:04:09,590 Felly, mae'n mynd i ddechrau ar frig y ffeil 86 00:04:09,590 --> 00:04:11,280 mynd i lawr nes ei fod yn dod o hyd i rywbeth arall. 87 00:04:11,280 --> 00:04:14,440 Os yw'n canfod diffiniad swyddogaeth, ni fydd yn mewn gwirionedd yn gweithredu y cod, 88 00:04:14,440 --> 00:04:15,940 bydd yn syml yn diffinio'r swyddogaeth. 89 00:04:15,940 --> 00:04:18,459 Ond yma, pan fydd y cyntaf rhaglen yn n hafal 10, 90 00:04:18,459 --> 00:04:21,273 y peth cyntaf bod y rhaglen hon Bydd ei wneud yw cymryd y gwerth hwn o 10 91 00:04:21,273 --> 00:04:24,120 ac yn gosod i mewn newidyn a elwir yn n. 92 00:04:24,120 --> 00:04:27,690 >> Wrth siarad am y llinell, un o eraill things-- sorry-- hwn 93 00:04:27,690 --> 00:04:31,040 yn golygu bod rhaglenni C, byddwch yn eu hysgrifennu, 94 00:04:31,040 --> 00:04:34,899 byddwch yn eu gwneud yn, a fydd invoke rhai gorchmynion chlang, 95 00:04:34,899 --> 00:04:36,690 ac yna byddwch yn rhedeg sy'n deillio gweithredadwy. 96 00:04:36,690 --> 00:04:41,030 Rhaglenni Python, byddwch yn rhedeg y testun file-- mario.py hwn gallai 97 00:04:41,030 --> 00:04:44,900 fod y ffeil hon yr wyf newydd yn dangos you-- byddwch yn rhedeg y ffeil 98 00:04:44,900 --> 00:04:47,450 a byddwch yn gweithredu, a chynnwys ei 99 00:04:47,450 --> 00:04:50,390 Bydd yn cael ei gyflawni gan y cyfieithydd Python. 100 00:04:50,390 --> 00:04:52,470 Gallwch wneud hyn yn eich IDE. 101 00:04:52,470 --> 00:05:02,260 >> Felly, os oes gen i ffeil Helo, sydd yn syml wedi cynnwys hyn. 102 00:05:02,260 --> 00:05:04,840 Mae hyn mewn gwirionedd Python 2, nid yw Python 3, felly peidiwch 103 00:05:04,840 --> 00:05:06,600 poeni am y gystrawen am y tro. 104 00:05:06,600 --> 00:05:14,230 Ond byddaf yn rhedeg Python, ar hello.py, ac mae'n rhedeg. 105 00:05:14,230 --> 00:05:18,890 >> Ffordd arall y gallaf eu defnyddio Python bod Ni fyddaf yn delio â chymaint yn y sgwrs hon, 106 00:05:18,890 --> 00:05:21,840 yw os Fi jyst deipio Python, mae'n diferion fi i amgylchedd lle 107 00:05:21,840 --> 00:05:24,370 Gallaf fwydo llinell Python wrth linell. 108 00:05:24,370 --> 00:05:31,260 Felly dyma, os wyf yn teipio mewn gofod print 'helo, byd. 109 00:05:31,260 --> 00:05:32,360 Teipiwch mynd i mewn. 110 00:05:32,360 --> 00:05:37,430 Bydd yn poeri mi fod yn ôl canlyniadau y llinell unigol ar unwaith. 111 00:05:37,430 --> 00:05:38,470 >> Mae hyn yn allai fod yn ddefnyddiol. 112 00:05:38,470 --> 00:05:40,700 Yn y sgwrs hon byddaf yn gwneud pethau ar sleidiau. 113 00:05:40,700 --> 00:05:43,940 Ac felly byddwch yn gallu dilyn ar hyd naill ai yn fan hyn, neu drwy ysgrifennu 114 00:05:43,940 --> 00:05:45,725 Ffeiliau gwirioneddol ac yna eu gweithredu. 115 00:05:45,725 --> 00:05:48,340 116 00:05:48,340 --> 00:05:50,995 >> Ond, yn mynd yn ôl at hyn cod, beth arall 117 00:05:50,995 --> 00:05:53,230 y gallai fod gennych noticed-- yn dda, mae ' 118 00:05:53,230 --> 00:05:55,980 dau beth yr ydych yn allai sylwi am blociau hyn. 119 00:05:55,980 --> 00:05:59,280 Mae'r cyntaf, ychydig yn fwy cyffredin, yw bod yr Python nid oes gan hanner colon diwedd. 120 00:05:59,280 --> 00:06:02,630 >> Hanner colon yn ddewisol ym mhob man a diniwed ym mhob man. 121 00:06:02,630 --> 00:06:03,722 Gallwch eu hychwanegu. 122 00:06:03,722 --> 00:06:06,430 Gallai fod gwneud pobl sy'n ysgrifennu Python ar gyfer snicker byw ar chi 123 00:06:06,430 --> 00:06:08,860 tu ôl i'ch cefn, oherwydd dydyn nhw ddim yn angenrheidiol. 124 00:06:08,860 --> 00:06:13,497 Maent yn aml yn arwydd o gael eu cynnal dros o C. Mae dylunwyr yr iaith 125 00:06:13,497 --> 00:06:16,580 yn teimlo ei bod yn fwy eglur y modd hwn ac nad yw'n angenrheidiol i ddatgan 126 00:06:16,580 --> 00:06:18,700 bob tro y byddwch yn dod i ben llinell. 127 00:06:18,700 --> 00:06:21,799 >> Beth rhyfedd arall am n hwn yw nad oes ganddo fath ynghlwm. 128 00:06:21,799 --> 00:06:24,590 Un o'r darnau hud Python-- ac yr wyf i'n mynd i alw hud, 129 00:06:24,590 --> 00:06:26,381 ond mae yna iawn rhesymau technegol pam ei 130 00:06:26,381 --> 00:06:28,560 works-- un o'r darnau hud o Python 131 00:06:28,560 --> 00:06:32,700 yw y gall newidynnau ehangu neu crebachu i gynnwys pa bynnag ddata 132 00:06:32,700 --> 00:06:34,530 mathau byddech am iddynt. 133 00:06:34,530 --> 00:06:35,580 >> Felly, mae hwn yn 10. 134 00:06:35,580 --> 00:06:40,060 Os yn ddiweddarach i lawr yr wyf yn ei neilltuo i hyn n 0.5, byddai'n cymryd bod 0.5. 135 00:06:40,060 --> 00:06:43,770 Dim ots bod ei fod yn int yma ac arnofio yno, unrhyw beth sy'n defnyddio n hwn 136 00:06:43,770 --> 00:06:47,057 Bydd, fwy neu lai, yn gallu chug ar hyd os bydd yn mynd yn un o'r rheini. 137 00:06:47,057 --> 00:06:49,640 Oni bai bod rhai real iawn rheswm pam na all ddefnyddio'r data 138 00:06:49,640 --> 00:06:52,170 teipiwch sydd ar hyn o bryd n ganddo, a phryd hynny bydd yn cael 139 00:06:52,170 --> 00:06:54,490 wedged a thaflu gwall, a mathau hynny o beth. 140 00:06:54,490 --> 00:06:57,050 >> Ond yma, Python Nid yw yn poeni beth 141 00:06:57,050 --> 00:06:59,140 mae'n fy mod i'n mynd i aros yn hyn dedfryd, fel, yr ydych am y peth hyn? 142 00:06:59,140 --> 00:06:59,840 Mae hyn yn beth yn hynny? 143 00:06:59,840 --> 00:07:00,640 Yeah, mae'n fath o beth. 144 00:07:00,640 --> 00:07:01,810 'N annhymerus' cadw yn y diwedd. 145 00:07:01,810 --> 00:07:04,740 Bydd yn broblem yn nes ymlaen, os rhywun sydd eisiau defnyddio perwyl hwnnw 146 00:07:04,740 --> 00:07:05,710 Ni all drin. 147 00:07:05,710 --> 00:07:08,500 Mae hwn yn un o'r prif gwahaniaethau rhwng Python a C 148 00:07:08,500 --> 00:07:10,790 sy'n ei gwneud yn hawdd i ysgrifennu rhaglenni C mawr iawn 149 00:07:10,790 --> 00:07:15,120 ac yn ei gwneud yn haws i ysgrifennu rhaglen Python fach iawn. 150 00:07:15,120 --> 00:07:19,564 >> Nid yw'r am gystrawen yn iawn yn wahanol yn yr hyn y mae'n ei wneud. 151 00:07:19,564 --> 00:07:21,480 Mae'n ychydig yn wahanol yn y ffordd y mae'n cael ei mynegi. 152 00:07:21,480 --> 00:07:25,370 Felly, mae hwn yn iawn, yr hyn a elwir Pythonic, ffordd o ysgrifennu arno. 153 00:07:25,370 --> 00:07:28,969 ar gyfer rhes yn ystod (n), dyma'r ystod o rifau o 0 i n, 154 00:07:28,969 --> 00:07:31,010 cynhwysol ar y gwaelod ac yn ecsgliwsif ar y top. 155 00:07:31,010 --> 00:07:34,790 Felly mae'n o 0 i n-1, sef yn union beth y cod C yn ei wneud, 156 00:07:34,790 --> 00:07:38,690 ac eithrio ei fod yn llawer haws i edrych ar o bosibl. 157 00:07:38,690 --> 00:07:42,710 >> Mae'r bloc berthnasol yw heb ei osod i ffwrdd gan braces, 158 00:07:42,710 --> 00:07:44,540 yn lle hynny mae wedi cychwyn gan y mewnoliad hwn. 159 00:07:44,540 --> 00:07:47,580 Felly yr holl o'r llinellau hyn yn cael eu pedwar lle drosodd i'r dde, 160 00:07:47,580 --> 00:07:50,410 neu debyg am led eliffant. 161 00:07:50,410 --> 00:07:54,570 A'r rhai yw'r rhai sy'n cael eu mynd i gael ei chyflawni fel hyn am. 162 00:07:54,570 --> 00:07:57,020 Os byddaf yn llanast i fyny y mewnoliad ar hyn ac yr wyf yn 163 00:07:57,020 --> 00:08:01,420 gwthio fod print yn ôl i y mewnoliad gwreiddiol, 164 00:08:01,420 --> 00:08:04,320 Bydd y print yn gadael y am ddolen. 165 00:08:04,320 --> 00:08:08,560 Yn wahanol i C, lle yma Fi 'n weithredol angen symud y Brace ar gau o gwmpas. 166 00:08:08,560 --> 00:08:11,820 >> Mae hyn yn golygu nad ydych yn cael gwallau sy'n neidio allan ar chi oherwydd eich bod 167 00:08:11,820 --> 00:08:13,580 rhoi Brace yn eu lle anghywir. 168 00:08:13,580 --> 00:08:16,460 Mae'n golygu eich bod yn cael gwallau sy'n neidio allan ar chi oherwydd eich bod 169 00:08:16,460 --> 00:08:17,620 mewnoli yn anghywir llinell. 170 00:08:17,620 --> 00:08:19,290 Felly mae'n gwneud indentations super ofalus. 171 00:08:19,290 --> 00:08:22,123 Gobeithio eich bod yn bod yn super yn ofalus gyda'ch bant beth bynnag, 172 00:08:22,123 --> 00:08:25,300 ac felly nid yw hyn yn bod llawer mwy o faich. 173 00:08:25,300 --> 00:08:28,762 >> Ond rheol sylfaenol ar gyfer Python, a bydd gennym un neu ddau o'r rhain 174 00:08:28,762 --> 00:08:30,970 y byddwn yn mynd drwy'r drwy cwrs y sgwrs, 175 00:08:30,970 --> 00:08:33,840 yn cael ei roi cynnig ar gystrawen naturiol cyn edrych unrhyw beth hyd. 176 00:08:33,840 --> 00:08:37,610 Felly cystrawen hwn, er rhif hwn yn ystod, 177 00:08:37,610 --> 00:08:41,460 yn nodedig iawn o ran arddull. 178 00:08:41,460 --> 00:08:45,260 Mae llawer o bethau yn Python byddwn yn gweld cymryd ffurflen hon. 179 00:08:45,260 --> 00:08:47,420 >> Ac felly os ydych yn dod i fyny gyda gwrthrych newydd sy'n chi 180 00:08:47,420 --> 00:08:50,870 meddwl y dylech chi fod yn gallu ailadrodd dros hyn, yn y fformat hwn, 181 00:08:50,870 --> 00:08:53,720 troi allan ei fod yn ôl pob tebyg cefnogi y fformat hwnnw. 182 00:08:53,720 --> 00:08:56,990 Nid ydym yn mynd i fynd super yn ddwfn yn y rhesymau technegol pam mae hynny'n wir. 183 00:08:56,990 --> 00:09:00,167 >> Ond mae'n greddf ddefnyddiol cael pan fyddwch yn agosáu rhaglenni Python, 184 00:09:00,167 --> 00:09:01,750 bod y peth hyn yn unig yw mynd i weithio. 185 00:09:01,750 --> 00:09:03,020 Rhowch gynnig arni. 186 00:09:03,020 --> 00:09:06,480 Lesewch i fyny 'r Archa Bannod Dehonglydd, weld a yw'n gweithio, 187 00:09:06,480 --> 00:09:09,827 symud ymlaen gyda phethau, cyn i chi hyd yn oed angen i agor Google a dweud, 188 00:09:09,827 --> 00:09:11,660 beth yw'r cystrawen ar gyfer y peth arbennig? 189 00:09:11,660 --> 00:09:14,740 Llawer o Python gallech darganfod dim ond drwy roi cynnig. 190 00:09:14,740 --> 00:09:19,005 >> Mae hyn os yn oed yn fwy tebyg i C yna mae'r fors yn cael eu. 191 00:09:19,005 --> 00:09:20,380 Sylwer nad oes unrhyw cromfachau. 192 00:09:20,380 --> 00:09:23,490 Mae'r cromfachau yw, unwaith eto, ddiniwed ond yn ddiangen. 193 00:09:23,490 --> 00:09:25,750 Mae yna colon ar y diwedd yn union fel y ar gyfer dolenni, 194 00:09:25,750 --> 00:09:30,800 ac unwaith eto, y blociau cymharol yn hindentio yn hytrach na gwrthbwyso gan braces. 195 00:09:30,800 --> 00:09:33,080 Mae'r arall sydd yn y gwreiddiol lefel y pant, 196 00:09:33,080 --> 00:09:35,930 ac mae ei bloc perthnasol mewnoli eto. 197 00:09:35,930 --> 00:09:41,720 Mae'r rhai gwaith yn union fel y maent yn ei wneud yn C. 198 00:09:41,720 --> 00:09:44,520 >> Mae hyn mewn gwirionedd yn fawr iawn yr un fath. 199 00:09:44,520 --> 00:09:49,430 Unwaith eto, print yn colli un cymeriad oddi ar printf Byddwch yn pasio rhai llinynnau. 200 00:09:49,430 --> 00:09:51,520 Mae'n troi allan llinynnau naill ai y gellir ei farcio i ffwrdd 201 00:09:51,520 --> 00:09:53,562 gan dyfyniadau sengl neu dyfynodau dwbl. 202 00:09:53,562 --> 00:09:55,270 Does dim gwahaniaeth, ac eithrio bod y tu mewn 203 00:09:55,270 --> 00:09:57,722 o dyfynodau sengl y gallwch eu defnyddio dyfynodau dwbl gyda rhoi'r gorau, 204 00:09:57,722 --> 00:09:59,430 yn hytrach na gorfod dianc pob un ohonynt. 205 00:09:59,430 --> 00:10:01,480 Ac tu mewn dyfynodau dwbl, byddwch yn gallu defnyddio dyfynodau sengl gyda rhoi'r gorau 206 00:10:01,480 --> 00:10:02,420 heb orfod i ddianc iddynt. 207 00:10:02,420 --> 00:10:04,253 Os ydych yn awyddus i gymysgu nhw, gallwch yn sicr 208 00:10:04,253 --> 00:10:06,100 edrych i fyny ar-lein sut i wneud hynny. 209 00:10:06,100 --> 00:10:09,581 >> Byddwch yn sylwi bod dros yma, Rwyf wedi pasio yn diwedd = y peth hyn. 210 00:10:09,581 --> 00:10:12,580 Mae hon yn enghraifft o opsiynol dadl, sydd yn un o'r pethau hynny 211 00:10:12,580 --> 00:10:14,990 bod Python yn cefnogi hynny yn ei gwneud yn eithaf defnyddiol. 212 00:10:14,990 --> 00:10:18,240 Felly mewn gwirionedd wedi print lawer o dadleuon, sydd fel arfer 213 00:10:18,240 --> 00:10:20,140 a osodwyd ar eu ball gwerth, ond dyma dwi wedi 214 00:10:20,140 --> 00:10:21,924 penderfynu diystyru'r un o'r enw pen. 215 00:10:21,924 --> 00:10:24,340 Y rheswm y mae'n rhaid i mi ddiystyru ei gyda llinyn gwag 216 00:10:24,340 --> 00:10:26,756 yw bod print yn Python, gan ball, yn argraffu allan llinell newydd 217 00:10:26,756 --> 00:10:28,630 ar ôl y peth yr ydych yn dweud hynny hefyd. 218 00:10:28,630 --> 00:10:31,462 >> Felly hash hwn mewn gwirionedd yn mynd i argraffu hash mewn llinell newydd. 219 00:10:31,462 --> 00:10:34,670 Ac os nad wyf am hash i argraffu llinell newydd ar ôl iddo, yna rhaid i mi ddweud 220 00:10:34,670 --> 00:10:35,340 peidiwch â argraffu un. 221 00:10:35,340 --> 00:10:37,980 222 00:10:37,980 --> 00:10:43,690 Ond, eto felly, yr un peth olaf y mae y rhaglen hon ar goll bod un wedi ei 223 00:10:43,690 --> 00:10:44,960 yn cynnwys ar y brig. 224 00:10:44,960 --> 00:10:48,120 Print wedi ei bobi mewn i Python felly y bôn nad oes unrhyw pennawd neu fodiwl 225 00:10:48,120 --> 00:10:49,869 y mae angen i chi yn cynnwys, ond os eisiau 226 00:10:49,869 --> 00:10:52,029 i gynnwys pethau eraill mewn sgript Python, 227 00:10:52,029 --> 00:10:55,320 Byddwn yn gwneud hynny mewn format-- debyg iawn y geiriau yn unig ychydig yn wahanol. 228 00:10:55,320 --> 00:10:58,840 229 00:10:58,840 --> 00:11:01,360 >> Soniais am ein bod yn Nid oes angen prif fan hyn, 230 00:11:01,360 --> 00:11:03,372 oherwydd bod y Python dechrau weithredu ar y brig. 231 00:11:03,372 --> 00:11:05,080 Os oeddwn i eisiau i lapio hyn mewn swyddogaeth, yr wyf yn 232 00:11:05,080 --> 00:11:07,667 Byddai gwneud hynny fel this-- wyf Byddai dweud def enw swyddogaeth, 233 00:11:07,667 --> 00:11:10,500 Gallai dadleuon mynd i mewn yma ac rydym yn chi helpu weld rhai o'r rheini yn nes ymlaen, colon, 234 00:11:10,500 --> 00:11:13,040 ac yna eto, mae hyn yn bloc cychwyn cyfan 235 00:11:13,040 --> 00:11:16,810 yw beth yw'r gweithredol bloc ar gyfer y swyddogaeth honno. 236 00:11:16,810 --> 00:11:18,560 Felly, dyma'r diffiniad y swyddogaeth. 237 00:11:18,560 --> 00:11:21,587 Ac mae datganiad, ac yna i lawr yma, gallaf ffoniwch y swyddogaeth. 238 00:11:21,587 --> 00:11:23,920 Ac eto, mae'r rhaglen cyfieithydd, gan ddechrau ar y brig, 239 00:11:23,920 --> 00:11:25,280 Bydd yn gweld hyn yn y diffiniad. 240 00:11:25,280 --> 00:11:27,960 Ni fydd yn gweithredu hyn nes ei fod cyrraedd yma, ac yna mae fel, oh 241 00:11:27,960 --> 00:11:30,860 nawr eich bod wedi ei alw, yr wyf yn dyfalu y dylwn chyflawni. 242 00:11:30,860 --> 00:11:33,850 >> Mae peth sy'n gyffredin iawn i weld mewn ffeiliau Python, 243 00:11:33,850 --> 00:11:36,700 yn enwedig ffeiliau Python sy'n yn cael eu rhyddhau i'r cyhoedd 244 00:11:36,700 --> 00:11:41,650 ac wedi datblygu by-- a'i ddatblygu a cynnal, yn rhywbeth y ffurflen hon. 245 00:11:41,650 --> 00:11:44,540 Caiff hyn ei basically-- hynny oherwydd Python, byddwch yn dechrau ar y brig 246 00:11:44,540 --> 00:11:50,310 ac yna i chi weithredu i lawr i waelod, Rwyf os Fi jyst wedi Mario galw allan fan hyn, 247 00:11:50,310 --> 00:11:54,190 Yna, unrhyw bryd yr wyf yn cynnwys ffeil hon yn ffeil arall, am fy mod eisiau defnyddio 248 00:11:54,190 --> 00:11:58,580 yw swyddogaeth Mario, y byddai'r ffeil eraill Mae gan yr alwad hon i Mario ynddo. 249 00:11:58,580 --> 00:12:01,000 A phan wyf yn rhedeg y ffeil, byddai'n galw Mario. 250 00:12:01,000 --> 00:12:04,520 >> Felly mae'n bosibl fy mod yn unig eisiau rhedeg hyn os wyf i wedi mewn gwirionedd 251 00:12:04,520 --> 00:12:07,290 ddienyddio y ffeil benodol. 252 00:12:07,290 --> 00:12:11,520 Ac felly y gallaf lapio hyn mewn phriod-ddull fel hyn, lle yr wyf yn ei ddweud, 253 00:12:11,520 --> 00:12:14,820 os enw'r gweithredu hwn amgylchedd yn brif, 254 00:12:14,820 --> 00:12:16,200 yna rwyf am wneud y pethau hyn. 255 00:12:16,200 --> 00:12:18,710 Fel arall, gall rhywun arall use-- cynnwys fy function-- 256 00:12:18,710 --> 00:12:22,510 fy ffeil, a dim ond er mwyn cael mynediad i'r swyddogaethau hyn 257 00:12:22,510 --> 00:12:25,552 heb orfod redeg y pethau fy mod am i weithredu yn y ffeil hon. 258 00:12:25,552 --> 00:12:27,260 Mae hyn, unwaith eto, dewisol ond yn gyffredin iawn. 259 00:12:27,260 --> 00:12:30,450 260 00:12:30,450 --> 00:12:33,840 >> Mae'r pethau hyn yn cael eu entirely-- union yr un fath rhwng C a Python, 261 00:12:33,840 --> 00:12:35,100 yn sicr yn 3. 262 00:12:35,100 --> 00:12:38,610 Rwy'n credu yn 2, caiff y gweithredydd is-adran weithiau yn rhoi i chi yn ôl fflotiau pryd 263 00:12:38,610 --> 00:12:41,450 ydych yn gweithredu ar ints, a naill ai oeddech am hynny, neu na wnaethoch. 264 00:12:41,450 --> 00:12:44,777 Ond plws, minws, ac amseroedd yn gweithio'n union fel y byddech yn disgwyl, 265 00:12:44,777 --> 00:12:46,110 eithrio ar dros ychydig yn fwy o fathau. 266 00:12:46,110 --> 00:12:49,740 Felly, gallwch luosi fflotiau gan ints, a mathau hynny o beth. 267 00:12:49,740 --> 00:12:52,480 >> set yn gweithio yn union yr un fath. 268 00:12:52,480 --> 00:12:54,310 Gallwch ddefnyddio dau arwydd cyfartal. 269 00:12:54,310 --> 00:12:59,000 inequals-- fwy na, yn llai na, mathau hyn o things-- 270 00:12:59,000 --> 00:13:02,580 yr ystyr a roddir ydych yn gyfarwydd â nhw. 271 00:13:02,580 --> 00:13:05,770 >> Lle C yn defnyddio'r gweithredwyr hyn, Python yn defnyddio ychydig yn fwy Saesneg 272 00:13:05,770 --> 00:13:06,390 rhai darllenadwy. 273 00:13:06,390 --> 00:13:09,348 Felly, yn lle dau, ampersands, byddwch yn llythrennol teipiwch y gair "and," "neu," 274 00:13:09,348 --> 00:13:10,740 neu ddim." 275 00:13:10,740 --> 00:13:13,420 Fel yn eich Os-- yn eich Datganiadau amodol, 276 00:13:13,420 --> 00:13:17,670 gwelsom yn gynharach y gystrawen hon yn C cyfateb i cystrawen hwn yn Python. 277 00:13:17,670 --> 00:13:21,010 Ac mae nid yw llawer gwahanol yno, ac eithrio ar gyfer ychydig 278 00:13:21,010 --> 00:13:24,780 o atalnodi o amgylch yr ochrau. 279 00:13:24,780 --> 00:13:28,890 Unwaith eto, lle y byddai C arall os, Python yn defnyddio elif, 280 00:13:28,890 --> 00:13:33,960 ond mae'r rhain yn bennaf newidiadau ar lefel wyneb. 281 00:13:33,960 --> 00:13:38,450 >> Iteriad fel hyn yn aml hysgrifennu mewn idiom hon yn Python. 282 00:13:38,450 --> 00:13:42,350 Gallwch gynhyrchu math hwn o peth gyda dolen tra ar y tu allan 283 00:13:42,350 --> 00:13:46,387 os ydych chi eisiau, ond i chi yn sicr nid oes rhaid i chi. 284 00:13:46,387 --> 00:13:48,970 Ac eto, os ydych eisiau'r argraffu elfennau mewn o amrywiaeth 285 00:13:48,970 --> 00:13:50,560 y gallech ei wneud fel hyn. 286 00:13:50,560 --> 00:13:52,927 Un o'r pethau hwyl am Python fodd bynnag, 287 00:13:52,927 --> 00:13:54,760 yw nad oes angen i chi i ddefnyddio'r patrwm hwn, 288 00:13:54,760 --> 00:13:57,290 a gallwch ddefnyddio un ychydig yn fwy cain. 289 00:13:57,290 --> 00:13:59,370 Yr ydych yn dweud am yn ary. 290 00:13:59,370 --> 00:14:02,980 >> Felly yn hytrach na mynd yma ac yn rhedeg dros y mynegeion, 291 00:14:02,980 --> 00:14:05,630 ac yna tynnu allan elfennau unigol, 292 00:14:05,630 --> 00:14:08,644 chi ddweud wrth y am i mewn gwirionedd yn unig rhedeg dros yr elfennau eu hunain. 293 00:14:08,644 --> 00:14:11,060 Ac yna beth bynnag rydych yn ei wneud y tu mewn all weithredu yn uniongyrchol 294 00:14:11,060 --> 00:14:13,260 ar yr elfennau, sydd yn hwyl 'n bert. 295 00:14:13,260 --> 00:14:16,710 A byddwn yn see-- byddwn yn eu defnyddio hynny idiom dro ar ôl tro 296 00:14:16,710 --> 00:14:18,050 wrth i ni gerdded trwy'r cod. 297 00:14:18,050 --> 00:14:20,091 >> Mae hyn, unwaith eto, yn enghraifft o rywbeth sydd 'n annhymerus' 298 00:14:20,091 --> 00:14:23,300 ffoniwch Python hud, er bod rhesymau technegol iawn pam y mae'n gweithio. 299 00:14:23,300 --> 00:14:26,340 Ac mae yna bethau technegol sy'n Mae angen i fod yn wir am amrywiaeth er mwyn 300 00:14:26,340 --> 00:14:28,340 er mwyn i hyn weithio tu ôl i'r llenni. 301 00:14:28,340 --> 00:14:31,390 Y peth yw bod y rhan fwyaf o fathau sy'n byddech yn disgwyl i hyn weithio 302 00:14:31,390 --> 00:14:36,610 wedi cael hyn yn rhoi ar waith ar gyfer chi yn yr iaith adeiledig yn. 303 00:14:36,610 --> 00:14:40,030 >> Peth arall y byddai'n braf os yw hyn yn gweithio ym mhob iaith, 304 00:14:40,030 --> 00:14:45,460 ond mae rhai rhesymau pam nad yw'n gallu, argraffwch llinyn hwn amseroedd rhif hwn. 305 00:14:45,460 --> 00:14:48,860 Troi allan yn Python, mae hyn yn gwneud yn union beth yr hoffech, sydd ychydig yn hwyl, 306 00:14:48,860 --> 00:14:52,840 ac yn golygu y gallwn mewn gwirionedd lleihau y rhaglen hon, unwaith eto mario.c. 307 00:14:52,840 --> 00:14:57,150 Yn hytrach na ailadrodd llawer, y gallwn dim ond dweud, yr wyf am gael rhywfaint nifer y lleoedd, 308 00:14:57,150 --> 00:15:01,120 Rwyf am nifer y hashes, ac mae rhai hashes ar y diwedd. 309 00:15:01,120 --> 00:15:02,640 Ac eto, rydym yn defnyddio fformat hwn. 310 00:15:02,640 --> 00:15:05,340 >> Yma, rydym yn pasio mewn newidyn y modd hwn. 311 00:15:05,340 --> 00:15:08,050 Unwaith eto, nid oes angen i ni ddweud pa fath o newidyn y mae, 312 00:15:08,050 --> 00:15:11,322 a'r unig amser yr ydym chi helpu cael gwallau ar adeg ei redeg. 313 00:15:11,322 --> 00:15:13,030 Pan fydd rhywun yn ceisio i basio rhywbeth yn, 314 00:15:13,030 --> 00:15:14,860 bydd yn dod i mewn i'r swyddogaeth jyst ddirwya. 315 00:15:14,860 --> 00:15:18,240 Os byddwn yn lletem yma oherwydd nad yw hyn yn beth y gallwch greu ystodau drosodd, 316 00:15:18,240 --> 00:15:22,100 Byddaf yn cael gwall Rhedeg yno, a bydd yn rhaid i mi debug felly. 317 00:15:22,100 --> 00:15:25,050 Ond yn y cyfamser, nid oes gennyf fod yn ofalus iawn ynghylch yr hyn 318 00:15:25,050 --> 00:15:32,800 cael ei drosglwyddo i mewn, cyhyd ag yn y gwir gweithredu i gyd yn gweithio'n lân iawn. 319 00:15:32,800 --> 00:15:35,080 >> Gallwn hyd yn oed wneud hyn ychydig glanhawr bit 320 00:15:35,080 --> 00:15:41,770 gan ddefnyddio swyddogaeth adeiledig yn benodol ar linynnau, sy'n cael ei Cyfiawnhewch Hawl. 321 00:15:41,770 --> 00:15:45,250 Mae hyn yn unig yw swyddogaeth ddefnyddiol o gwmpas y llyfrgell. 322 00:15:45,250 --> 00:15:47,660 Mae yn y ddogfennaeth os ydych yn mynd i chwilio am ei. 323 00:15:47,660 --> 00:15:51,650 Ac yr wyf yn ei ddweud, yn dda i ddim yn mynd i gael llinyn hwn, mae rhai nifer o hashes, 324 00:15:51,650 --> 00:15:56,390 a hoffwn i'r dde gyfiawnhau pad iddo-- allan gyda bylchau i fod hyd hwn. 325 00:15:56,390 --> 00:16:00,584 >> Unwaith eto, mae hyn yn y dogfennaeth, sy'n dod us-- 326 00:16:00,584 --> 00:16:03,500 'N annhymerus' mewn gwirionedd yn clicio drwy'r these-- sy'n dod â ni at ein hail rheol 327 00:16:03,500 --> 00:16:06,990 ar gyfer Python-- llyfrgell safonol Dulliau swyddogaeth yw eich ffrindiau. 328 00:16:06,990 --> 00:16:09,880 Ac mae'n aml yn werth eich tra i fynd i chwilio am Tybed 329 00:16:09,880 --> 00:16:12,310 os oes rhywbeth sydd ond yn gwneud hyn. 330 00:16:12,310 --> 00:16:13,830 Mae'n debyg mae yna. 331 00:16:13,830 --> 00:16:15,990 Os hoffech chi pad allan llinyn, os byddech yn 332 00:16:15,990 --> 00:16:17,470 Hoffwn gymryd y cefn hanner y llinyn, os byddech yn 333 00:16:17,470 --> 00:16:20,370 yn hoffi i chwilio drwy llinyn, os hoffech chi dorri un neu ddau o bethau 334 00:16:20,370 --> 00:16:22,420 ynghyd â llinyn gyda coma rhyngddynt, 335 00:16:22,420 --> 00:16:24,640 mae yna lyfrgell safonol swyddogaethau ar gyfer gwneud hyn. 336 00:16:24,640 --> 00:16:27,190 >> Ac mae'n gwneud eich bywyd haws os ydych yn eu defnyddio 337 00:16:27,190 --> 00:16:29,240 yn lle cyflwyno popeth ar eich pen eich hun 338 00:16:29,240 --> 00:16:31,650 yn bum llinell o god yma, bum llinell o god yma. 339 00:16:31,650 --> 00:16:34,430 Sydd wir yn dechrau am ychwanegu hyd at amser real. 340 00:16:34,430 --> 00:16:37,430 >> Un o'r pethau diddorol am sut mae hyn yn cael ei alw. 341 00:16:37,430 --> 00:16:39,980 Byddwch yn sylwi bod yna beth dot. 342 00:16:39,980 --> 00:16:43,490 Mae gen i ryw wrthrych ar y chwith, ac yna mi a elwir yn dot swyddogaeth. 343 00:16:43,490 --> 00:16:49,780 Mae hwn yn un o'r patrymau sy'n Python defnyddio ar gyfer atodi dulliau i wrthrychau. 344 00:16:49,780 --> 00:16:54,410 Byddwn yn siarad am yr hyn y mae hyn yn fyr iawn ar y diwedd, 345 00:16:54,410 --> 00:16:58,510 ond gwybod y gall y ddau ohonom yn gweithredu ar pethau drwy gymryd y peth yn dweud dot 346 00:16:58,510 --> 00:17:01,690 beth bynnag, neu drwy ffonio swyddogaeth sy'n cymryd 347 00:17:01,690 --> 00:17:04,339 bod gwrthrych a rhai dadleuon eraill. 348 00:17:04,339 --> 00:17:07,450 >> Felly mae'r rhain yn ddwy ffordd sy'n pethau'n cael eu gwneud yn Python. 349 00:17:07,450 --> 00:17:09,780 Ac a yw arbennig ymarferoldeb cael ei weithredu 350 00:17:09,780 --> 00:17:14,230 yn yr arddull hwn neu hon arddull yn rhywbeth yr ydych 351 00:17:14,230 --> 00:17:19,990 Dylai edrych i fyny hyd nes y byddwch yn cael hongian y mae un ei fod yn debygol o ddisgyn i mewn. 352 00:17:19,990 --> 00:17:22,660 Mae 'na fwy neu lai cydlynol athroniaeth y tu ôl Python 353 00:17:22,660 --> 00:17:24,930 eich bod yn amsugno yn bennaf drwy ysgrifennu llawer ynddo. 354 00:17:24,930 --> 00:17:28,190 Ar ryw adeg, pa un o'r rhain Bydd rhywbeth yn cael ei weithredu fel 355 00:17:28,190 --> 00:17:29,470 yn dod yn naturiol. 356 00:17:29,470 --> 00:17:32,420 Am y tro, 'i' jyst rhywbeth byddwch yn dysgu wrth i chi chyfrif i maes 357 00:17:32,420 --> 00:17:34,140 pob peth unigol. 358 00:17:34,140 --> 00:17:36,420 >> Llyfrgell Felly safonol swyddogaethau yw eich ffrindiau, 359 00:17:36,420 --> 00:17:41,320 ac maent yn gadael i chi ysgrifennu pethau sy'n cymryd cymaint â hyn o le 'n sylweddol yn fuan, 360 00:17:41,320 --> 00:17:42,040 'n sylweddol gain. 361 00:17:42,040 --> 00:17:45,670 Ac mae hyn yn mewn gwirionedd yn ôl pob tebyg yn fwy ddarllenadwy, byddwn i'n dweud, na'r rhaglen C 362 00:17:45,670 --> 00:17:46,780 dros yno. 363 00:17:46,780 --> 00:17:49,730 Heb sôn am y ffaith bod mor byr, gallwch ffitio eliffant cyfan 364 00:17:49,730 --> 00:17:52,250 yn y gofod yr ydym wedi eu hachub. 365 00:17:52,250 --> 00:17:56,270 >> Peth arall, mae hwn yn gweithredu o Mario dyna dot C, yr wyf yn meddwl 366 00:17:56,270 --> 00:17:57,890 yw'r byrraf gallwch ei gael. 367 00:17:57,890 --> 00:18:00,757 Nid oes ganddo'r int get, ond mae'n codau caled gwerth 10 368 00:18:00,757 --> 00:18:02,090 yr un ffordd ag y mae hyn yn un yn ei wneud. 369 00:18:02,090 --> 00:18:06,080 Troi allan bod hyn yn un clociau mewn o 84 cymeriadau, tra Python yw 64. 370 00:18:06,080 --> 00:18:11,490 Ac mae hyn yn llawer mwy darllenadwy na garbage hon fan hyn. 371 00:18:11,490 --> 00:18:14,610 Felly Python yn fwy effeithlon yn y gofod. 372 00:18:14,610 --> 00:18:17,260 Mae'n ychydig yn llai effeithlon mewn amser, ond nid gan lawer. 373 00:18:17,260 --> 00:18:18,890 >> Rhestrau yn beth pwysig yn Python. 374 00:18:18,890 --> 00:18:21,540 375 00:18:21,540 --> 00:18:24,587 Nid ydym wedi gweld nhw, ond maent yn yn gweithredu yn debyg iawn i araeau ei wneud yn C. 376 00:18:24,587 --> 00:18:27,170 Felly dyma, gallwch eu datgan, gallwch eu trosglwyddo i mewn i beth. 377 00:18:27,170 --> 00:18:29,810 Nawr sgwariau yn cynnal amrywiaeth o'r pethau hyn. 378 00:18:29,810 --> 00:18:33,480 Unwaith eto, nid ydym wedi datgan fel math, ond os ydym byth ceisiwch ddefnyddio, 379 00:18:33,480 --> 00:18:36,260 unrhyw beth y byddech yn disgwyl i yn gweithio ar amrywiaeth o gyfanrifau 380 00:18:36,260 --> 00:18:40,130 yn mynd i weithio ar amrywiaeth o gyfanrifau. 381 00:18:40,130 --> 00:18:42,030 >> Mae hyn yn beth sy'n chi'n hollol ni all 382 00:18:42,030 --> 00:18:47,390 ei wneud yn C, gan fod y cof ei bod mor ymarferol, 383 00:18:47,390 --> 00:18:48,950 ond yn hawdd iawn i'w wneud yn Python. 384 00:18:48,950 --> 00:18:55,310 Os ydw i eisiau fy arae fod yn fwy, gallaf atodi elfen iddo ac mae'n iawn. 385 00:18:55,310 --> 00:18:57,150 >> Beth sy'n digwydd tu ôl i'r llenni? 386 00:18:57,150 --> 00:18:59,150 Bydd y cyfieithydd yn mynd allan ac yn cael rhywfaint o cof, 387 00:18:59,150 --> 00:19:00,860 ac efallai y bydd yn cael ychydig bach o gof ychwanegol, 388 00:19:00,860 --> 00:19:03,090 felly nid wyf yn felly rwy'n Nid oes rhaid i i realloc bob tro. 389 00:19:03,090 --> 00:19:04,897 Ond faint yn cael mwy cof a oes angen? 390 00:19:04,897 --> 00:19:06,730 Nid yw hyn yn benderfyniadau bod yn rhaid i chi eu gwneud, 391 00:19:06,730 --> 00:19:10,540 mae'r rhain yn benderfyniadau y mae'r cyfieithydd yn mynd i'w wneud. 392 00:19:10,540 --> 00:19:12,270 >> Yma rydym yn gweld y gall amrywiaeth cymryd dwy ddadl, 393 00:19:12,270 --> 00:19:16,430 ond mae'n dal yn mynd i fod yn gynhwysol o'r top, felly rydym yn ychwanegu 1 yno. 394 00:19:16,430 --> 00:19:21,970 Mae hwn yn idiom, sydd yn hyd yn oed mwy ffordd glyfar i ysgrifennu pethau fel hyn. 395 00:19:21,970 --> 00:19:25,980 Mae'n cael ei alw Rhestr deall, ac yma yr hyn yr ydym yn ei ddweud 396 00:19:25,980 --> 00:19:32,560 yn Hoffwn i roi i sgwâr ar gyfer pob gwerth ff yn ystod hon. 397 00:19:32,560 --> 00:19:35,770 Gallai hyn beth ar y dde fod yn un arall array, ac y peth hyn ar y chwith 398 00:19:35,770 --> 00:19:40,740 bod unrhyw swyddogaeth benodol a fyddai'n cymryd mewn ff fel newidyn 399 00:19:40,740 --> 00:19:42,250 ac yn rhoi i mi rhai canlyniad. 400 00:19:42,250 --> 00:19:43,480 >> Yr hyn yr wyf i'n mynd i wneud yw, Rydw i'n mynd i adeiladu 401 00:19:43,480 --> 00:19:46,200 arae dyna i gyd o'r pethau hyn ar gyfer pob gwerth yn ystod hon. 402 00:19:46,200 --> 00:19:48,960 403 00:19:48,960 --> 00:19:55,670 Ac mae hyn yn super cain, super byr, ac mae'n glir iawn beth mae'n ei olygu. 404 00:19:55,670 --> 00:19:59,190 Mae hwn yn un o'r things-- mae hyn yn unwaith eto, 405 00:19:59,190 --> 00:20:03,860 un o- arwyddluniol iawn o'r rhesymau pam fod pobl fel Python. 406 00:20:03,860 --> 00:20:05,900 Os ydych yn hoffi rhaglennu fel hyn, yna Python 407 00:20:05,900 --> 00:20:07,830 yn iaith yr hoffech ddysgu. 408 00:20:07,830 --> 00:20:10,950 >> Ac eto, mae yna dechnegol rhesymau pam mae hyn yn gweithio. 409 00:20:10,950 --> 00:20:14,730 Ond, cyn belled ag yr ydym yn pryderu, rydym heb fod yn fwy neu lai yn poeni. 410 00:20:14,730 --> 00:20:18,500 >> Felly os ydych am i argraffu rhestrau, rhai o'r un idiomau yn ddefnyddiol. 411 00:20:18,500 --> 00:20:20,940 Ar gyfer ff yn ystod hon, gallem mynegai drwy'r holl bethau 412 00:20:20,940 --> 00:20:23,140 ac yna ei argraffu nhw i gyd allan. 413 00:20:23,140 --> 00:20:24,650 A byddwch yn gweld LEN yma. 414 00:20:24,650 --> 00:20:27,150 Os ydych chi erioed wedi bod eisiau cael hyd y rhesi, dyna 415 00:20:27,150 --> 00:20:31,150 hawdd iawn yn Python, mae'n anodd iawn yn C. 416 00:20:31,150 --> 00:20:33,720 Byddai hyn yn argraffu yn union yr hyn y byddech yn disgwyl iddi. 417 00:20:33,720 --> 00:20:36,986 Gallem hefyd, fel yr ydym wedi ei weld o'r blaen, ailadrodd dros yr elfennau mewn amrywiaeth 418 00:20:36,986 --> 00:20:39,860 yn uniongyrchol, ac yna dim ond siarad am hwy, yn hytrach na chael y mynegai 419 00:20:39,860 --> 00:20:43,190 yn ôl i'r casgliad bob tro. 420 00:20:43,190 --> 00:20:45,990 >> Ac mae hyn yn beth y gallwch ei wneud. 421 00:20:45,990 --> 00:20:49,984 Felly, yn C, os byddwch yn gofyn am rywbeth fel hyn, byddai print dweud, 422 00:20:49,984 --> 00:20:51,150 dyna amrywiaeth o gyfanrifau. 423 00:20:51,150 --> 00:20:53,456 Nid yw hyn yn bendant yn llinyn, ni allaf ei hargraffu. 424 00:20:53,456 --> 00:20:54,830 Python heb fod yn fwy neu lai ddim yn poeni. 425 00:20:54,830 --> 00:20:57,496 Mae fel, a oes ffordd i mi Gallai droi hyn mewn i llinyn? 426 00:20:57,496 --> 00:20:58,500 Yeah, 'n annhymerus' yn gwneud hynny. 427 00:20:58,500 --> 00:21:01,600 Ac felly bydd Fi jyst print that allan. 428 00:21:01,600 --> 00:21:03,640 Mae hyn yn golygu eich bod yn gallu gwneud pethau like-- rhain 429 00:21:03,640 --> 00:21:06,530 yn y rhan fwyaf o'r rhannau caled o gêm o bymtheg, a ysgrifennwyd 430 00:21:06,530 --> 00:21:08,930 iawn am gyfnod byr yn Python. 431 00:21:08,930 --> 00:21:11,320 >> Byddwch yn gweld fod yna ychydig o- yma 432 00:21:11,320 --> 00:21:14,441 Rydw i wedi bwrw cyfanrif i'r llinyn, ac rhaid i mi wneud hynny â llaw. 433 00:21:14,441 --> 00:21:16,190 Ac yr wyf i'n mynd i ychwanegu i linyn arall, 434 00:21:16,190 --> 00:21:17,590 neu fel arall yn Python yn cael drysu. 435 00:21:17,590 --> 00:21:19,840 Ond a yw pan fyddwch chi'n ychwanegu llinyn i cyfanrif, 436 00:21:19,840 --> 00:21:22,630 wyf Mae'n debyg i gael cyfanrif yn ôl neu llinyn yn ôl? 437 00:21:22,630 --> 00:21:24,480 Ond unwaith eto, os ydych yn unig yn galw str ar beth, 438 00:21:24,480 --> 00:21:27,240 ac y gallai mewn unrhyw bosibl byd yn cael ei droi yn llinyn, 439 00:21:27,240 --> 00:21:30,390 Mae'n debyg y bydd yn drawsnewid i mewn i linyn. 440 00:21:30,390 --> 00:21:33,120 >> Yma, rydym yn gweld defnyddio Rhestr deall nythu 441 00:21:33,120 --> 00:21:38,690 ar y chwith, mae rhai mynegeio, a oedd yn yn union fel y byddech yn ei ddefnyddio i iddo, 442 00:21:38,690 --> 00:21:40,060 ac mae rhai argraffu allan o bethau. 443 00:21:40,060 --> 00:21:42,560 Unwaith eto, rydym wedi diffinio'n rhai swyddogaethau ac fe rown alwad i lawr 444 00:21:42,560 --> 00:21:45,820 yn y prif pan fyddwn mewn gwirionedd yn cael y ffeil. 445 00:21:45,820 --> 00:21:52,004 dychwelyd yn gweithio yn union fel byddech yn ddisgwyl gan weithio gyda C. Dod o hyd i, 446 00:21:52,004 --> 00:21:54,420 gallwn sefydlu pethau fel this-- dyma restr a deall 447 00:21:54,420 --> 00:21:59,245 mae 'na aseiniad newidyn, a gallwn ei wneud mewn gwirionedd yn haws fyth. 448 00:21:59,245 --> 00:22:01,870 Nid oes angen i ni ysgrifennu chwilio, oherwydd adeiledig mewn i'r iaith 449 00:22:01,870 --> 00:22:04,230 yw os y peth hyn yn amrywiaeth hwn. 450 00:22:04,230 --> 00:22:05,680 Dychwelyd yn wir, arall yn dychwelyd ffug. 451 00:22:05,680 --> 00:22:08,830 Felly dyna y cyfan o'r darganfyddiad. 452 00:22:08,830 --> 00:22:12,230 >> Y cyfan o'r fath yn golygu galw yn didoli, 453 00:22:12,230 --> 00:22:15,462 sy'n yw-- mae gweithrediadau o hyn a adeiladwyd i mewn i lyfrgelloedd C penodol. 454 00:22:15,462 --> 00:22:17,170 Os hoffech chi hyn fath o ôl, yr ydych 455 00:22:17,170 --> 00:22:20,450 Gall ddiystyru hyn yn ddewisol ddadl o chwith gyda wir. 456 00:22:20,450 --> 00:22:23,350 457 00:22:23,350 --> 00:22:27,860 Ac os hoffech i roi trefn dros llinynnau, sy'n adeiledig yn ogystal. 458 00:22:27,860 --> 00:22:31,950 >> Felly, nid yw hyn yn dweud y rhain yn pethau y mae angen i chi ei wneud bob dydd, 459 00:22:31,950 --> 00:22:34,280 ond mae'r syniad yw bod hyn yn yw athroniaeth Python, 460 00:22:34,280 --> 00:22:37,530 fod yr holl bethau hyn sydd byddech yn fath o am ei wneud yn cael eu hadeiladu i mewn. 461 00:22:37,530 --> 00:22:42,410 Ac yn y rhan fwyaf o swyddogaethau safonol, felly didoli, hyd, beth bynnag, 462 00:22:42,410 --> 00:22:44,380 cefnogi mewnbwn mwyaf synhwyrol yn rhesymegol. 463 00:22:44,380 --> 00:22:49,020 Byddwch yn ffonio Len ar amrywiaeth yr un fath ffordd yr ydych ffoniwch Len ar linyn. 464 00:22:49,020 --> 00:22:55,785 Rydych multiply-- i ddatrys llinynnau yr un ffordd i ddatrys arrays. 465 00:22:55,785 --> 00:22:58,930 466 00:22:58,930 --> 00:23:00,740 >> Mae'r rhan fwyaf o swyddogaethau safonol bod pobl yn adeiladu, 467 00:23:00,740 --> 00:23:03,000 ac mae'r rhan fwyaf trydydd parti llyfrgelloedd y mae pobl 468 00:23:03,000 --> 00:23:06,980 adeiladu, oherwydd eu bod yn efelychu cynllun y llyfrgell safonol, 469 00:23:06,980 --> 00:23:10,190 gellir eu galw ar bopeth eich bod yn fel, pam nad yw hyn yn unig yn gweithio, 470 00:23:10,190 --> 00:23:12,800 yn C. Mae mwy neu lai, bydd yn gweithio yn Python 471 00:23:12,800 --> 00:23:15,930 oherwydd bod pobl yn gweithio y tu ôl i'r ffigwr allan beth yw beth yw ac yna gweithredu 472 00:23:15,930 --> 00:23:17,510 yn briodol arno. 473 00:23:17,510 --> 00:23:22,760 Felly unwaith eto, cefndir technegol, ond mae'n gwneud ein bywydau yn haws fel rhaglenwyr. 474 00:23:22,760 --> 00:23:26,820 >> Felly dyma ffeil I / O. ffeil I / O lawer o pethau bach sy'n ei wneud yn gymhleth, 475 00:23:26,820 --> 00:23:29,890 ac felly mae adnoddau ar-lein, ond yn gryno, 476 00:23:29,890 --> 00:23:33,010 byddwch yn ffonio agor ar ffeil enwi gyda math arbennig. 477 00:23:33,010 --> 00:23:37,640 Felly mae hynny'n ei darllen, darllen ac ysgrifennu, ysgrifennu neu atodi. 478 00:23:37,640 --> 00:23:41,790 Cewch ddarllen nifer penodol o cymeriadau allan ac rydych yn argraffu hynny, 479 00:23:41,790 --> 00:23:42,595 byddwch yn cael Helo! 480 00:23:42,595 --> 00:23:43,970 Yr wyf yn golygu, fel oedd gan y ffeil hon Helo! 481 00:23:43,970 --> 00:23:46,480 Ynddo, ffoniwch i ddarllen, a'r hyn y byddwch yn ei gael yn ôl 482 00:23:46,480 --> 00:23:49,520 yn llinyn sy'n cynnwys yr holl o weddill y rhesi, 483 00:23:49,520 --> 00:23:50,860 neu'r cyfan o weddill y ffeil. 484 00:23:50,860 --> 00:23:53,805 485 00:23:53,805 --> 00:23:56,055 Os byddwch yn ffonio darllen eto, eich bod ar ddiwedd y ffeil, 486 00:23:56,055 --> 00:23:58,138 ac felly nad ydych yn cael unrhyw beth a felly byddwch yn cau. 487 00:23:58,138 --> 00:24:02,510 Unwaith eto, mae hyn yn .close yn hytrach na ffeil agos, fel y byddai er C. 488 00:24:02,510 --> 00:24:07,190 Mae hyn yn fwy neu lai am fod f yn beth, ac yr hoffech i f i gau. 489 00:24:07,190 --> 00:24:12,092 Ond nid yw ffeil sylfaenol I / O yn yn arbennig o gymhleth. 490 00:24:12,092 --> 00:24:15,300 Unwaith eto, os hoffech chi agor ffeil, os hoffech chi ddarllen llinell benodol, 491 00:24:15,300 --> 00:24:17,870 y gallwch ei gael allan o arbennig line-- mae hadeiladu i mewn ar gyfer hynny. 492 00:24:17,870 --> 00:24:19,995 Os hoffech chi ysgrifennu peth, gallwch ysgrifennu hyn. 493 00:24:19,995 --> 00:24:23,412 Os hoffech chi ysgrifennu allan unigol brathiadau, gallwch ysgrifennu hynny. 494 00:24:23,412 --> 00:24:25,620 Ac os hoffech chi ailadrodd dros y llinellau o ffeil 495 00:24:25,620 --> 00:24:29,557 yn unigol, fel y gwnaethom mewn darn o ychydig wythnosau yn ôl, gallwch wneud hynny i. 496 00:24:29,557 --> 00:24:32,140 Unwaith eto, mae'r rhan fwyaf gwrthrychau sy'n byddech yn yn hoffi gallu i ailadrodd drosodd 497 00:24:32,140 --> 00:24:33,780 cefnogaeth ailadrodd drostynt. 498 00:24:33,780 --> 00:24:37,430 Mewn Pythons, ffeil yn efallai peth sy'n Hoffwn ailadrodd dros fesul llinell. 499 00:24:37,430 --> 00:24:39,138 Os oedd geiriadur o eiriau ac roeddwn yn 500 00:24:39,138 --> 00:24:42,181 ceisio cael rhai unigolion geiriau allan, yna, o fewn y ddolen hon, 501 00:24:42,181 --> 00:24:44,180 llinell ei fod yn mynd i fod yn pob gair yn ei dro, ac mae hyn 502 00:24:44,180 --> 00:24:47,880 yn mynd i gael ei ddienyddio ar gyfer pob llinell yn y ffeil tan ddiwedd y ffeil. 503 00:24:47,880 --> 00:24:52,280 Ac eto, os wyf yn argraffu pob un llinell, y llinellau yn dod gyda llinellau newydd, 504 00:24:52,280 --> 00:24:54,740 felly rwy'n gosod y pen Nôl i beth fel hyn. 505 00:24:54,740 --> 00:24:56,580 Yna byddwn i'n cael cynnwys fy ffeil. 506 00:24:56,580 --> 00:25:03,610 507 00:25:03,610 --> 00:25:07,480 >> Yr ail beth sy'n gweithredu yn rhai ffyrdd fel rhestrau, ac mewn rhai ffyrdd 508 00:25:07,480 --> 00:25:11,870 fel rhywbeth sylweddol yn fwy pwerus, 509 00:25:11,870 --> 00:25:16,170 yn geiriaduron, sydd yn wirioneddol oer i'w ddefnyddio ond yn y bôn yn cael eu hash 510 00:25:16,170 --> 00:25:17,670 tablau yn cuddio. 511 00:25:17,670 --> 00:25:23,330 Byddwch yn creu un gan ddefnyddio union ddau gymeriad, sydd yn awesome 512 00:25:23,330 --> 00:25:25,959 os ydych chi wedi ceisio i weithredu'r tabl hash ar gyfer eich set problem, 513 00:25:25,959 --> 00:25:27,250 eich bod yn gwybod llawer o boen a all fod. 514 00:25:27,250 --> 00:25:29,390 Ond mae pobl wedi gwneud iddo, ac yn gwneud hyn mor dda, 515 00:25:29,390 --> 00:25:32,260 nad oes rhaid i chi poeni am y peth anymore. 516 00:25:32,260 --> 00:25:35,180 >> Yna gallwch mewnosod bethau unigol. 517 00:25:35,180 --> 00:25:38,110 Tables-- neu geiriaduron Hash peidiwch arbennig 518 00:25:38,110 --> 00:25:40,240 gofal yr hyn yr ydych yn storio ynddynt. 519 00:25:40,240 --> 00:25:44,210 Felly, os yw rhai cofnodion yn cael eu rhifau, a rhai cofnodion yn cael eu rhestrau, 520 00:25:44,210 --> 00:25:47,360 os yw rhai cofnodion yn cael eu geiriaduron eraill, a rhai cofnodion yn cael eu llinynnau, 521 00:25:47,360 --> 00:25:49,930 Nid yw Python yn gwneud llawer ofal. 522 00:25:49,930 --> 00:25:53,460 >> Unwaith eto, os ydych yn mynd i mewn iddo ddisgwyl llinyn a'r hyn yr ydych yn mynd yn ôl 523 00:25:53,460 --> 00:25:56,269 yn arae, dyna eich problem. 524 00:25:56,269 --> 00:25:58,810 Ac efallai ei fod yn fai pwy bynnag meddwl ei fod yn rhoi pethau 525 00:25:58,810 --> 00:26:00,476 yn y geiriadur, efallai dyna chi. 526 00:26:00,476 --> 00:26:02,350 Os oedd rhywun arall, gobeithio eu bod yn 527 00:26:02,350 --> 00:26:04,520 ymddwyn yn dda am yr hyn oedd yn mynd yn y geiriadur 528 00:26:04,520 --> 00:26:07,420 ac nid oedd yn gadael unrhyw beryglon i chi syrthio i. 529 00:26:07,420 --> 00:26:10,890 >> Ond bydd y swyddogaethau safonol rhoi chi yn ôl pethau ymddwyn yn dda. 530 00:26:10,890 --> 00:26:13,500 Felly, maent yn dweud hyn yn dychwelyd gefnogi geiriadur o linynnau, 531 00:26:13,500 --> 00:26:15,860 yna popeth rydych chi'n mynd i fynd allan o yn llinyn. 532 00:26:15,860 --> 00:26:20,710 Os ydych yn gwneud rhywfaint o hyn ac mae'n theithiau chi i fyny, yn dda, y gallai fod ar chi. 533 00:26:20,710 --> 00:26:25,542 Python yn sicr yn rhoi digon o chi rhaff i hongian eich hun, os hoffech. 534 00:26:25,542 --> 00:26:28,250 Nawr gallwn argraffu unigol elfennau o hyn ac mae hyn yn dychwelyd 535 00:26:28,250 --> 00:26:29,935 yn union beth y byddech yn ei ddisgwyl. 536 00:26:29,935 --> 00:26:32,810 Yn union yr hyn y byddech yn ei ddisgwyl, yr wyf yn dyfalu, yn ymadrodd sy'n Im 'yn arfer llawer, 537 00:26:32,810 --> 00:26:35,070 ond mae hynny'n fwy neu llai sut Python yn gweithio. 538 00:26:35,070 --> 00:26:39,880 Os byddwch yn gofyn am beth sydd ddim yn hynny, bydd Python taflu allan camgymeriad 539 00:26:39,880 --> 00:26:43,194 a bydd yn eich rhoi'r gorau iddi y tu allan i beth bynnag y rhaglen yr oeddech yn. 540 00:26:43,194 --> 00:26:45,360 Bydd yn mewn gwirionedd yn argraffu mwy o wybodaeth na hynny, 541 00:26:45,360 --> 00:26:49,110 bydd yn pwyntio you-- ei chi helpu ychwanegu llinell, ac yn y blaen. 542 00:26:49,110 --> 00:26:52,190 >> Ac, unwaith eto, efallai yr ydym am i ailadrodd dros geiriaduron 543 00:26:52,190 --> 00:26:54,410 a dod o hyd yr holl bethau sydd ynddo. 544 00:26:54,410 --> 00:26:57,440 Yma rydym yn ailadrodd drosodd dau beth ar yr un pryd. 545 00:26:57,440 --> 00:27:03,040 Ac felly byddwn yn ei wneud gyda allweddol, gwerth, ond wedyn argraffwch pob un o'r rhain. 546 00:27:03,040 --> 00:27:06,300 >> Ac os ydym yn awyddus i cast-- os ydym mewn gwirionedd yn rhedeg hyn, 547 00:27:06,300 --> 00:27:10,840 byddem yn cael rhywfaint o drafferth oherwydd on-- pan aeth yr ydym yn â David, 548 00:27:10,840 --> 00:27:13,920 na allai add-- os nad ydym yn gwneud bwrw ef i llinyn cyntaf, 549 00:27:13,920 --> 00:27:17,802 ni allem ychwanegu bod amrywiaeth o linynnau ar linyn. 550 00:27:17,802 --> 00:27:19,760 Ond os ydym yn bwrw ef i llinyn, rydym yn cael rhywbeth 551 00:27:19,760 --> 00:27:22,590 fel hyn, sydd yn efallai yr hyn y byddem yn hoffi ei ddarllen. 552 00:27:22,590 --> 00:27:27,000 553 00:27:27,000 --> 00:27:30,500 >> Ac mae hyn yn sillafu. 554 00:27:30,500 --> 00:27:32,460 Rydym yn unig yn darllen mewn pethau. 555 00:27:32,460 --> 00:27:35,770 Felly rydym yn gallu darllen yn geiriau unigol fel llinellau. 556 00:27:35,770 --> 00:27:38,240 Rydym yn torri oddi ar yr olaf peth, felly colon minws 1 557 00:27:38,240 --> 00:27:41,651 chomps oddi ar y peth olaf y mae we-- cymeriad olaf o gyfres. 558 00:27:41,651 --> 00:27:42,150 Byddwn yn dweud. 559 00:27:42,150 --> 00:27:44,730 OK, mae pob un o'r rheini yn cael mewnosod yn y geiriadur hwn, 560 00:27:44,730 --> 00:27:45,810 mapio hyd at werth o 1. 561 00:27:45,810 --> 00:27:48,006 Rydym yn gwneud yn arbennig o yn gofalu am hynny un, 562 00:27:48,006 --> 00:27:51,130 ond mae'r un yno i ddweud, oh yn dda, y peth hyn 'n annhymerus' roi yn y geiriadur. 563 00:27:51,130 --> 00:27:53,182 Gan fod yn hwyrach yr hyn rydym yn mynd i'w wneud yw ein bod 564 00:27:53,182 --> 00:27:55,390 mynd i ddweud, wel, os yw'n yn y geiriadur o gwbl. 565 00:27:55,390 --> 00:27:57,650 >> Unwaith eto, y gwiriad hwn ar gyfer aelodaeth i fyny gweithredu 566 00:27:57,650 --> 00:28:00,940 gan ddefnyddio hollol wahanol algorithm nag mewn rhestr, 567 00:28:00,940 --> 00:28:05,709 ond rydym yn galw ei yr un ffordd, a oedd yn rhywfaint o hynny cotio siwgr Python 568 00:28:05,709 --> 00:28:07,250 pethau fel eu bod yn haws i'w defnyddio. 569 00:28:07,250 --> 00:28:10,230 Ac eto, rydym wedi gweld pethau fel hyn o'r blaen. 570 00:28:10,230 --> 00:28:12,940 Mae hyn yn y bôn yn dod o hyd, neu 'i' yn union yr un gystrawen 571 00:28:12,940 --> 00:28:16,480 fel dod o hyd i, ond yn gweithredu dros strwythur cwbl wahanol. 572 00:28:16,480 --> 00:28:20,170 Ac nid ydym yn arbennig o ofal. 573 00:28:20,170 --> 00:28:25,540 Felly dyna'r pethau sy'n eich Gofynnwyd i weithredu am sillafu. 574 00:28:25,540 --> 00:28:29,278 Ar y gyfradd hon, rydym yn mynd i gael mwy neu lai bob un o'r psets wneud. 575 00:28:29,278 --> 00:28:31,474 >> GYNULLEIDFA: Felly y y bôn yn unig yn dod yn ôl 576 00:28:31,474 --> 00:28:34,852 fel y sillafu'n anghywir os nad yw'n gwneud yn cyd-fynd rhywbeth yn y geiriadur? 577 00:28:34,852 --> 00:28:36,060 ROSS RHEINGANS-Yoo: Ie, ie. 578 00:28:36,060 --> 00:28:38,964 579 00:28:38,964 --> 00:28:40,880 Ac felly, mae hwn yn Addasiad Cymraeg o broblem a osodwyd 580 00:28:40,880 --> 00:28:43,150 sy'n gofyn i chi i wneud yn union hynny. 581 00:28:43,150 --> 00:28:46,357 >> GYNULLEIDFA: Pam mae'r llinell minws 1 yno? 582 00:28:46,357 --> 00:28:48,190 ROSS RHEINGANS-Yoo: Felly pan fyddwch yn ailadrodd 583 00:28:48,190 --> 00:28:50,300 dros ffeil yn gofyn am gan linellau, y llinellau 584 00:28:50,300 --> 00:28:53,900 dod gyda chymeriad llinell newydd ar ddiwedd y iddo-- y minws 1 585 00:28:53,900 --> 00:28:55,260 yn unig i siopa rheini i ffwrdd. 586 00:28:55,260 --> 00:28:59,549 Ac mae hyn yn arbennig o hyblyg ffordd o mynegeio i mewn i bethau. 587 00:28:59,549 --> 00:29:01,590 Felly, os oes gennych llinyn, a hoffech, wel dwi'n 588 00:29:01,590 --> 00:29:05,340 mynd i ddechrau ar gymeriad dri ac yr wyf i'n mynd i fynd hyd y diwedd. 589 00:29:05,340 --> 00:29:07,140 Bydd 3 colon yn gwneud hynny ar eich rhan. 590 00:29:07,140 --> 00:29:10,570 Os ydych chi fel, yr wyf am ddechrau yn y dechrau ac yn mynd i'r minws 1 ddiwethaf 591 00:29:10,570 --> 00:29:12,400 cymeriad, colon minws 1. 592 00:29:12,400 --> 00:29:14,940 Ac os ydych yn dymuno i fynd o y trydydd i'r minws gyntaf, 593 00:29:14,940 --> 00:29:16,570 Yna, byddech yn dweud 3 minws 1. 594 00:29:16,570 --> 00:29:19,464 595 00:29:19,464 --> 00:29:22,400 >> Yn ogystal, os ydych am mynegai i mewn i bethau cyfrif o'r cefn, 596 00:29:22,400 --> 00:29:24,470 'ch jyst mynegai mewn gyda rhifau minws. 597 00:29:24,470 --> 00:29:26,980 Ac oherwydd, lle mae C Byddai ffrwydro neu efallai 598 00:29:26,980 --> 00:29:31,090 bwydo cof eraill nad oedd gennych chi mynediad i, clywed y gallwch ddweud minws 1 599 00:29:31,090 --> 00:29:34,104 yn golygu'r diwethaf ond 1 cymeriad mewn llinyn. 600 00:29:34,104 --> 00:29:36,950 601 00:29:36,950 --> 00:29:43,590 >> Modiwlau yn version-- yna analogs i lyfrgelloedd yn C 602 00:29:43,590 --> 00:29:45,119 ac yn ddefnyddiol ar gyfer llawer o bethau. 603 00:29:45,119 --> 00:29:46,910 Mae llawer o bethau byddech yn hoffi ei wneud yn Python, 604 00:29:46,910 --> 00:29:50,040 heblaw syml trin newidynnau, 605 00:29:50,040 --> 00:29:52,290 ydych am i bachyn i mewn i'r llyfrgelloedd mwy gyda mwy o faint 606 00:29:52,290 --> 00:29:55,910 rhyngwynebau a mwy galluoedd ar gyfer rhyngweithio 607 00:29:55,910 --> 00:29:57,195 gyda rhannau eraill o'r byd. 608 00:29:57,195 --> 00:29:58,910 sys yn un o'r rhai a gyda chriw o offer 609 00:29:58,910 --> 00:30:01,159 sy'n ddefnyddiol ar gyfer rhyngweithio gyda'r system ei hun 610 00:30:01,159 --> 00:30:05,050 a bydd yn fewnforio fel sys mewnforio. 611 00:30:05,050 --> 00:30:07,820 >> Mae mwy dogfennaeth gan hynny, a gallech fynd fan hyn, 612 00:30:07,820 --> 00:30:11,490 neu fe allech chi ddod o hyd ar Google drwy googling sys Python. 613 00:30:11,490 --> 00:30:12,640 Rydych yn teipio i mewn. 614 00:30:12,640 --> 00:30:15,140 Mae'r cyswllt cyntaf yn mynd i fod y dogfennau yn Python 2, 615 00:30:15,140 --> 00:30:19,260 yr ail ddolen yn mynd i fod y Python ddogfennaeth 3. 616 00:30:19,260 --> 00:30:24,830 >> Ac os ydym yn ysgrifennu allan ffeil a oedd yn edrych fel this-- Os yn arbennig, rydym yn 617 00:30:24,830 --> 00:30:27,910 yn edrych ar weithredu ar dadleuon llinell orchymyn, 618 00:30:27,910 --> 00:30:30,040 fel rydym yn dysgu i wneud iawn yn gynnar yn y dosbarth hwn. 619 00:30:30,040 --> 00:30:32,190 Nid yw hyn yn anodd. Gallwch gael allan argv, 620 00:30:32,190 --> 00:30:34,565 sydd yn un o'r pethau hynny sy'n cael ei weithredu gan sys. 621 00:30:34,565 --> 00:30:37,210 Dyw hi ddim yn adeiladu i mewn i'r pecyn sylfaenol, ond unwaith eto, i chi 622 00:30:37,210 --> 00:30:40,080 Gall ei ymestyn drwy fewnforio bod ymarferoldeb o sys. 623 00:30:40,080 --> 00:30:41,090 Byddwch yn ei alw'n sys. 624 00:30:41,090 --> 00:30:42,611 Beth bynnag. 625 00:30:42,611 --> 00:30:43,360 Yma, mae 'argv. 626 00:30:43,360 --> 00:30:45,193 Does dim gwirionedd argc yn sys, oherwydd eich bod 627 00:30:45,193 --> 00:30:47,880 yn gallu cael ei mor hawdd drwy ffonio Len. 628 00:30:47,880 --> 00:30:55,390 Yna, byddwn yn argraffedig a allan, yna rydym yn yn rhedeg ar ein echo-args.py terfynol. 629 00:30:55,390 --> 00:30:58,360 Rydym yn mynd yn ôl amrywiaeth, a oedd yn yw hyn ddadl gyntaf. 630 00:30:58,360 --> 00:31:02,240 Unwaith eto, mae hyn yn argv 0, sef y enwi y peth a gafodd eu galw. 631 00:31:02,240 --> 00:31:04,870 Os byddem ni'n ei alw gyda ychwanegol dadleuon, byddem yn cael y rhai yn ôl. 632 00:31:04,870 --> 00:31:07,687 633 00:31:07,687 --> 00:31:09,770 Mae hwn yn un ffordd o gael dadleuon llinell orchymyn. 634 00:31:09,770 --> 00:31:13,440 Os ydych chi am faneri lle rydych yn troi pethau penodol ar neu gwrthwneud 635 00:31:13,440 --> 00:31:16,050 diofyn penodol, argparse yw eich ffrind. 636 00:31:16,050 --> 00:31:21,550 Ac eto, byddwch yn canfod bod ar-lein yn python argparse yn Google. 637 00:31:21,550 --> 00:31:24,300 >> Mae un neu ddau o cyfleustodau modiwlau yr ydych yn cael eich hun gan ddefnyddio 638 00:31:24,300 --> 00:31:27,630 ac eto, os ydych yn treulio unrhyw amser o yr iaith hon mewnforio jsons 639 00:31:27,630 --> 00:31:33,300 am ddarllen mewn ac allan o JSON ffeiliau, nid yw hynny yn gymhleth. 640 00:31:33,300 --> 00:31:37,139 Rydych yn agor i fyny ffeil, gwnaethoch alw json.load ar y ffeil a byddwch yn cael yn ôl yn beth. 641 00:31:37,139 --> 00:31:37,930 Beth yw y peth? 642 00:31:37,930 --> 00:31:40,329 Mae'n gwrthrych JSON. 643 00:31:40,329 --> 00:31:42,370 Lle bo gan y JSON array, mae gan y Python araeau. 644 00:31:42,370 --> 00:31:44,420 Pan fydd y JSON wedi araeau cysylltiadol, Python yn 645 00:31:44,420 --> 00:31:48,810 geiriaduron, llinynnau, a rhifau, ac yn y blaen. 646 00:31:48,810 --> 00:31:53,560 Rydych am i adael hynny allan, i chi agor ffeil newydd, byddwch yn ffonio daflu i lawr, 647 00:31:53,560 --> 00:31:57,590 a llwythi ac yn gollwng i mynd i mewn ac allan o dannau. 648 00:31:57,590 --> 00:32:02,120 >> Yn yr un modd, phicl cael ei alw yn y bôn yr un rhyngwyneb. 649 00:32:02,120 --> 00:32:04,740 Mae'n ychydig yn fwy defnyddiol os eich bod yn dympio gwrthrychau Python. 650 00:32:04,740 --> 00:32:08,370 Felly, os ydych chi erioed wedi bod eisiau achub fersiwn o'r statws presennol 651 00:32:08,370 --> 00:32:11,930 o newidyn ar gyfer dyfodol rhedeg eich rhaglen, 652 00:32:11,930 --> 00:32:14,740 phicl yn Python yn llyfrgell ar gyfer gwneud hynny. 653 00:32:14,740 --> 00:32:19,140 >> Os oes gennych unrhyw fath o amrywiol y gellir eu hysgrifennu allan 654 00:32:19,140 --> 00:32:21,990 mewn geiriau a chymeriadau tebyg a bytes-- hoffi geiriadur hwn, 655 00:32:21,990 --> 00:32:24,230 gallem ysgrifennu i lawr, rydym yn Gallai ysgrifennu i lawr fel 656 00:32:24,230 --> 00:32:26,670 fel gwrthrych JSON, a oedd llythrennol cymeriadau hyn. 657 00:32:26,670 --> 00:32:29,420 Ac yna byddai'n hawdd iawn i dynol i'w agor up-- agor 658 00:32:29,420 --> 00:32:30,889 a'i ddarllen. 659 00:32:30,889 --> 00:32:33,180 Os nad ydym yn gwneud yn arbennig gofalu am bobl ei ddarllen, 660 00:32:33,180 --> 00:32:38,490 gallem pecynnu hyd yn oed yn fwy effeithlon i mewn i ffurflenni a allai wedyn gael ei dadbacio 661 00:32:38,490 --> 00:32:42,860 neu a allai hynny yn nes ymlaen yn cael ei chwyddo. 662 00:32:42,860 --> 00:32:46,740 Ac mae hyn yn arbed 80% o'r lle y gallai eich gwrthrychau 663 00:32:46,740 --> 00:32:49,390 cymryd os ydych yn ysgrifennu nhw allan longhand. 664 00:32:49,390 --> 00:32:52,384 >> Ffonio phicl yn fawr iawn yr un fath way-- domen, llwyth, 665 00:32:52,384 --> 00:32:53,800 ac yna byddwch yn cael eich pethau yn ôl. 666 00:32:53,800 --> 00:32:56,880 Felly os ydych yn ysgrifennu iawn rhaglenni Python byr sy'n 667 00:32:56,880 --> 00:32:59,952 am arbed wladwriaeth, ac yna darllenwch yn ôl yn ddiweddarach, pethau fel hyn 668 00:32:59,952 --> 00:33:00,660 yw eich ffrindiau. 669 00:33:00,660 --> 00:33:02,640 Bod gallech iawn nhw daflu i lawr yn hawdd fel JSON. 670 00:33:02,640 --> 00:33:04,550 Mae'r rhan fwyaf gwrthrychau Python Gall daflu i lawr y JSON 671 00:33:04,550 --> 00:33:11,310 os oes unrhyw obaith y strwythurol gallent gael eu cynrychioli yn y ffordd honno. 672 00:33:11,310 --> 00:33:14,410 >> Mae'r rhain yn unig y blaen y mynydd iâ ar fodiwlau sy'n ddefnyddiol. 673 00:33:14,410 --> 00:33:19,510 Felly sys, if, multiprocessing, yn cael eu math o workhorses sylfaenol ar gyfer pethau 674 00:33:19,510 --> 00:33:23,120 mae angen i ni ryngweithio â y system weithredu system ffeil., 675 00:33:23,120 --> 00:33:28,764 fel os.isfile, os.isdirectory, os.makefile, mae'r rhain yn eich ffrindiau. 676 00:33:28,764 --> 00:33:30,930 Os ydych am i ryngweithio gyda math ffeil penodol, 677 00:33:30,930 --> 00:33:32,190 JSON, phicl, csv. 678 00:33:32,190 --> 00:33:37,160 Os ydych am i ryngweithio gyda gwe tudalennau, mae'r urllib ar gyfer cael http 679 00:33:37,160 --> 00:33:41,370 tudalennau. bs4-- BeautifulSoup-- mae'n parser gwych ar gyfer html. 680 00:33:41,370 --> 00:33:47,047 Rydych yn rhedeg ar html a chi cael hyn gwrthrych array nythol yn awr, 681 00:33:47,047 --> 00:33:49,630 y gallwch croesi drosodd Lookin, ei debyg ond yn chwilio am 682 00:33:49,630 --> 00:33:52,380 os, yw, yn, a oedd yn wych. 683 00:33:52,380 --> 00:33:55,920 >> Mae 'na griw o pecynnau ar gyfer running-- 684 00:33:55,920 --> 00:33:57,960 ar gyfer gwneud yn arbennig o Mathy pethau. 685 00:33:57,960 --> 00:34:01,790 Felly os ydych am i luosi, gwrthdro, trawsnewid matricsau, 686 00:34:01,790 --> 00:34:05,690 numpy yn cael ei ddefnyddio gan bobl i gyd dros y byd am hynny. 687 00:34:05,690 --> 00:34:09,620 scipy yn oed yn fwy defnyddiol offer i'r cyfeiriad hwnnw. 688 00:34:09,620 --> 00:34:13,980 dysgu peiriant sklearn--, prosesu iaith naturiol, 689 00:34:13,980 --> 00:34:17,880 super stwff defnyddiol, yn cael rhoi ar waith yn Python drwy'r amser. 690 00:34:17,880 --> 00:34:21,469 >> Ac eto, yn cymryd ychydig mwy o amser i write-- ddrwg gennym, 691 00:34:21,469 --> 00:34:26,199 yn cymryd ychydig yn hwy i redeg, ond y rheswm bod peirianwyr go iawn yn tueddu 692 00:34:26,199 --> 00:34:29,900 defnydd Python yw oherwydd eich bod yn tueddu i fod blocio arnoch chi ysgrifennu'r cod, yn hytrach 693 00:34:29,900 --> 00:34:32,699 na'ch cyfrifiadur yn rhedeg y cod. 694 00:34:32,699 --> 00:34:35,860 Felly, os ydych yn mynd i ysgrifennu rhaglen, a llawer o bobl eraill 695 00:34:35,860 --> 00:34:37,699 yn mynd i ddefnyddio am byth, fel Linux, chi 696 00:34:37,699 --> 00:34:41,900 gallai ysgrifennu yn C. Os ydych yn mynd i ysgrifennu injan cyfrifiant, 697 00:34:41,900 --> 00:34:46,124 efallai y byddwch yn ysgrifennu mewn Python os ydych angen ei newid bob mis cwpl. 698 00:34:46,124 --> 00:34:48,540 Byddai rhai pobl yn ysgrifennu mewn C oherwydd eu bod fel 'na. 699 00:34:48,540 --> 00:34:51,100 700 00:34:51,100 --> 00:34:54,050 >> Felly, rydym wedi gweld sys mewnforio fel ffordd o gael pethau 701 00:34:54,050 --> 00:34:57,070 o gael modiwl i mewn i'ch rhaglen. 702 00:34:57,070 --> 00:35:00,370 Gallwch hefyd yn mewnforio fel llysenw, os hoffech chi. 703 00:35:00,370 --> 00:35:03,660 Unwaith eto multiprocessing yn boen i teipio allan bob amser, felly mewnforio fel as 704 00:35:03,660 --> 00:35:05,900 ac yna unrhyw adeg rydych ei ddefnyddio yn y rhaglen, 705 00:35:05,900 --> 00:35:09,732 byddwch yn dweud mp.process, neu beth sydd gennych. 706 00:35:09,732 --> 00:35:12,670 Os hoffech chi mewnforio Dim ond un peth, 707 00:35:12,670 --> 00:35:19,450 felly urllib ganddo beth o'r enw cais, fel y gallwch jyst fewnforio hynny. 708 00:35:19,450 --> 00:35:22,610 Yn nes ymlaen, ni fyddwch yn galw fel urllib.request, ond yn union fel y cais 709 00:35:22,610 --> 00:35:24,590 ei ben ei hun. 710 00:35:24,590 --> 00:35:30,110 >> A gallwch fewnforio popeth o fodwl os hoffech. 711 00:35:30,110 --> 00:35:34,820 Nid yw hyn yn achlysurol yn idea-- da mae hyn fel arfer ni yn syniad da, mewn gwirionedd. 712 00:35:34,820 --> 00:35:39,080 Oherwydd eich bod very-- oherwydd os unrhyw beth yn y modiwl hwnnw wedi enw yr ydych 713 00:35:39,080 --> 00:35:41,640 yn awyddus i ddefnyddio rhywle arall yn eich rhaglen, ni allwch. 714 00:35:41,640 --> 00:35:44,127 >> Ac nid yw bob amser yn amlwg bod hynny'n wir. 715 00:35:44,127 --> 00:35:46,460 Er mwyn gwneud yn siŵr bod yr hyn yr ydych yn ei wneud yn ddiogel, 716 00:35:46,460 --> 00:35:47,920 mae angen i chi agor i fyny y modiwl ac yn gweld yr holl 717 00:35:47,920 --> 00:35:50,295 o'r enwau sy'n diweddu mewn there-- holl swyddogaethau, 718 00:35:50,295 --> 00:35:53,010 pob un o'r newidynnau sy'n byw yn y modiwl hwnnw, 719 00:35:53,010 --> 00:35:57,040 oherwydd eich bod yn dod i gyd hwy yn eich namespace lleol. 720 00:35:57,040 --> 00:35:58,680 >> Felly mae pobl yn gwneud hyn. 721 00:35:58,680 --> 00:36:01,322 Argymhellir yn gyffredinol nad ydych yn gwneud hyn. 722 00:36:01,322 --> 00:36:03,280 Ond mae pobl yn gwneud hyn i gyd yr amser oherwydd eu bod yn 723 00:36:03,280 --> 00:36:05,180 diog ac nad ydych am i deipio allan as. 724 00:36:05,180 --> 00:36:06,310 unrhyw beth, erioed. 725 00:36:06,310 --> 00:36:09,560 726 00:36:09,560 --> 00:36:13,310 >> Holl sôn am fodiwlau dod â fi o gwmpas i sgwrs fer 727 00:36:13,310 --> 00:36:15,930 ar sut yr ydych yn cynllunio rhaglenni yn Python. 728 00:36:15,930 --> 00:36:19,860 Y cam cyntaf yw edrych i weld a oes unrhyw un arall eisoes wedi gwneud y peth, 729 00:36:19,860 --> 00:36:22,160 neu ei wneud 90% o'r peth. 730 00:36:22,160 --> 00:36:26,010 Tebygolrwydd yw eu bod yn debygol o gael, ac i chi Dylai fynd gael eu beth a rhedeg hynny. 731 00:36:26,010 --> 00:36:28,900 Neu ysgrifennwch papur lapio o amgylch ei i addasu at eich pwrpas. 732 00:36:28,900 --> 00:36:31,250 Dim ond ar ôl hynny yn cael Methodd eich bod Id wedyn 733 00:36:31,250 --> 00:36:35,529 fynd ymlaen ac write-- dechrau meddwl am sut y byddech yn ei roi y peth hyn at ei gilydd. 734 00:36:35,529 --> 00:36:37,320 Mae llawer o bethau i maes 'na, a dyna 735 00:36:37,320 --> 00:36:39,180 un o'r rhai mwyaf defnyddiol pethau am Python. 736 00:36:39,180 --> 00:36:40,930 Fel yr iaith yn cain, yr iaith 737 00:36:40,930 --> 00:36:43,800 yn hawdd i'w defnyddio, ond hefyd oherwydd mae mor cain ac yn hawdd i'w defnyddio, 738 00:36:43,800 --> 00:36:47,420 mae pobl wedi bod yn ei ddefnyddio ar gyfer amser hir ac mae llawer o bethau 739 00:36:47,420 --> 00:36:52,520 allan yna eich bod yn gallu harneisio ar gyfer eich defnydd eich hun. 740 00:36:52,520 --> 00:36:58,457 >> Felly rheol olaf Python yw, rhywun arall eisoes wedi ysgrifennu yn ôl pob tebyg 741 00:36:58,457 --> 00:37:00,290 modiwl ar gyfer hynny, rhywun arall eisoes 742 00:37:00,290 --> 00:37:02,980 yn ôl pob tebyg a ysgrifennwyd llyfrgell ar gyfer hynny. 743 00:37:02,980 --> 00:37:06,579 Cyn i chi geisio gwneud rhywbeth, edrychwch i weld a yw'n wedi cael ei roi ar waith. 744 00:37:06,579 --> 00:37:07,370 Dyw hi ddim yn bod yn anodd. 745 00:37:07,370 --> 00:37:11,960 Mae pob un o'r modiwlau sy'n wyf yn rhoi i fyny o'r blaen, gydag efallai un eithriad, 746 00:37:11,960 --> 00:37:15,220 yn dod cyn-gosod ym mhob gosod Python safonol. 747 00:37:15,220 --> 00:37:17,769 Ac felly gyda galwad i mewnforio beth bynnag, yr ydych 748 00:37:17,769 --> 00:37:19,852 rhaid i hynny i gyd functionality ar flaenau eich bysedd. 749 00:37:19,852 --> 00:37:24,660 750 00:37:24,660 --> 00:37:28,920 >> Dechrau i lapio fyny hwn siarad, mae yna ychydig o bethau 751 00:37:28,920 --> 00:37:32,770 fy mod i wedi gadael fel blychau du a math o fychanu, 752 00:37:32,770 --> 00:37:37,217 ac mae yna ychydig o gwyn yn gorwedd fy mod i wedi gwybod bod er mwyn gonestrwydd, 753 00:37:37,217 --> 00:37:39,050 'N annhymerus' o leiaf bwynt ar yma, hyd yn oed os nad wyf fydd 754 00:37:39,050 --> 00:37:43,980 mynd super ddwfn i mewn i bob un ohonynt a'u esboniadau technegol. 755 00:37:43,980 --> 00:37:46,010 >> Mae llawer o'r pethau fy mod wedi galw hud 756 00:37:46,010 --> 00:37:48,980 mae hyn y byddai pobl eraill yn galw wrthwynebu rhaglennu oriented. 757 00:37:48,980 --> 00:37:52,470 Felly mae llawer o things-- felly newidynnau yn aml iawn, nid yw 758 00:37:52,470 --> 00:37:56,540 bytes syml eistedd mewn, cof, ond yn gymhleth iawn 759 00:37:56,540 --> 00:38:01,910 gwrthrychau sydd wedi mewnol wladwriaeth am swyddogaethau a llawer 760 00:38:01,910 --> 00:38:05,570 newidynnau o cudd, llawer o swyddogaeth cudd, a oedd yn 761 00:38:05,570 --> 00:38:09,480 yn gadael i chi eu troi i mewn i llinynnau, sy'n gadael i chi ailadrodd drostynt. 762 00:38:09,480 --> 00:38:12,260 Ac os ydych yn writing-- a'r rheswm eu bod yn 763 00:38:12,260 --> 00:38:15,710 cael yr holl ymarferoldeb cyfoethog hwn oherwydd bod y people-- 764 00:38:15,710 --> 00:38:17,740 y penseiri y language-- wedi mynd 765 00:38:17,740 --> 00:38:22,420 drwy ac ar gyfer pob safon gwrthrych, roi yn y functionality 766 00:38:22,420 --> 00:38:26,970 i ddweud hyn yw sut mae hyn yn sut y mae hyn yn mynd i weithredu 767 00:38:26,970 --> 00:38:28,470 os bydd rhywun am ailadrodd drosto. 768 00:38:28,470 --> 00:38:31,240 >> Felly popeth y gallai rhywun o bosibl yn awyddus i ailadrodd drosodd, 769 00:38:31,240 --> 00:38:34,529 wedi rhesymeg a ysgrifennwyd yn llaw ar sut yr ydych chi'n 770 00:38:34,529 --> 00:38:36,070 i fod i ailadrodd dros y gwrthrych. 771 00:38:36,070 --> 00:38:40,274 Popeth y gallech o bosibl eisiau dympio i mewn llinyn wedi rhesymeg ysgrifenedig. 772 00:38:40,274 --> 00:38:43,440 Mae hyn yn y swyddogaeth yr ydych yn ffonio os ydych am i adael hwn allan i linyn. 773 00:38:43,440 --> 00:38:45,273 Dyma pam y gallwch ffoniwch Len ar bethau, mae hyn yn 774 00:38:45,273 --> 00:38:49,900 Dyna pam y gallwch alw am i mewn, mae hyn yn pam y gallwch ei ffonio os yn ar bopeth 775 00:38:49,900 --> 00:38:53,490 y byddech yn dymuno, oherwydd y rhai i gyd yn cario gyda hwy, 776 00:38:53,490 --> 00:38:55,380 y technegol yn gwybod-sut i wneud hynny. 777 00:38:55,380 --> 00:38:58,170 778 00:38:58,170 --> 00:39:00,432 >> Mae hyn yn rhywbeth fy mod super ddim yn mynd i fynd i mewn i. 779 00:39:00,432 --> 00:39:03,140 Ond ar gyfer beth yn rhestr yn gynnil yn wahanol i arddull C ar gyfer dolenni, 780 00:39:03,140 --> 00:39:06,160 a gallwch ddarllen am hynny ar y rhyngrwyd os oes gennych ddiddordeb. 781 00:39:06,160 --> 00:39:08,930 Mae ochr dywyll i bawb o hyn, y soniais amdano, 782 00:39:08,930 --> 00:39:10,359 felly mae dau beth. 783 00:39:10,359 --> 00:39:13,400 Y cyntaf yw bod gwrthrych oriented rhaglennu yn ychwanegu llawer o gorbenion 784 00:39:13,400 --> 00:39:16,080 i bethau ar hap, felly ydych yn darfod gan ddefnyddio llawer mwy o gof; 785 00:39:16,080 --> 00:39:18,640 ydych yn darfod i fyny gan ddefnyddio ychydig mwy amser nag y byddech fel arall. 786 00:39:18,640 --> 00:39:21,300 Mae'r other-- ond po fwyaf ochr dywyll llechwraidd i hyn 787 00:39:21,300 --> 00:39:24,047 yw, os bydd pethau yn unig yn gweithredu fel chi eu eisiau 788 00:39:24,047 --> 00:39:27,130 heb i chi orfod meddwl super caled ynghylch a ddylai hyn fod yn int 789 00:39:27,130 --> 00:39:29,713 neu a ddylid cael arnofio, gallai fod yn bod dros yma 790 00:39:29,713 --> 00:39:34,240 rydych yn ei gynhyrchu yn int, ond dros yma i chi yn meddwl ond byddant yn always-- ddrwg gennym, 791 00:39:34,240 --> 00:39:36,555 gallai fod yn bod yma ydych yn cynhyrchu fflôt, 792 00:39:36,555 --> 00:39:39,430 ond pan fyddwch yn cyrraedd yr ail ran eich rhaglen, rydych chi'n meddwl, 793 00:39:39,430 --> 00:39:41,150 oh yn dda, ond maent yn chi helpu bob amser yn pasio mi int. 794 00:39:41,150 --> 00:39:43,608 Ac os nad ydynt yn gwneud hynny, mae'n bosibl eich bod yn sownd yn rhywle, 795 00:39:43,608 --> 00:39:47,600 os ydych yn ceisio defnyddio hynny i mynegai i mewn arae, neu beth sydd gennych. 796 00:39:47,600 --> 00:39:51,050 >> Felly, un o'r gwir pethau defnyddiol am C yw 797 00:39:51,050 --> 00:39:54,219 ei fod yn gorfodi i chi feddwl 'n sylweddol galed cyn i chi wneud any-- 798 00:39:54,219 --> 00:39:56,510 cyn i chi ddod ag unrhyw newidyn i fodolaeth, fel beth 799 00:39:56,510 --> 00:39:58,764 yw'r math o newidyn hwn. 800 00:39:58,764 --> 00:40:00,680 Ac mae'n mynd i gael y math hwnnw am byth. 801 00:40:00,680 --> 00:40:02,410 >> Nid yw hyn yn wir Python, ac yn wir, yr ydych 802 00:40:02,410 --> 00:40:04,740 can-- os ydych yn unig math o fynd yn ôl y glust, 803 00:40:04,740 --> 00:40:07,690 ac rydych yn gwneud rhai penderfyniadau un ffordd mewn un lle, 804 00:40:07,690 --> 00:40:09,870 ac mae rhai penderfyniadau un ffordd yn y lle arall 805 00:40:09,870 --> 00:40:12,960 heb roi digon o bethau y tu ôl i'r llenni yn y lle arall 806 00:40:12,960 --> 00:40:16,170 i ddal pethau'n iawn, chi yn gallu cael rhai camgymeriadau rhyfedd iawn. 807 00:40:16,170 --> 00:40:19,200 A gall y rhaglen yn cadw rhedeg am amser hir iawn, am ei fod yn 808 00:40:19,200 --> 00:40:23,200 gwneud llawer o waith i'w ddweud, yn dda Gallai peth hyn weithredu fel hyn, 809 00:40:23,200 --> 00:40:25,070 felly dwi'n mynd i redeg y ffordd honno. 810 00:40:25,070 --> 00:40:30,300 >> Ac yn wir, y ffaith ei fod yn gwthio anfon drwy lawer o wallau bach 811 00:40:30,300 --> 00:40:33,260 yn golygu, yn aml pan gwall yn ddrwg mewn gwirionedd 812 00:40:33,260 --> 00:40:38,720 ac yr ydych mewn gwirionedd yn dymuno atgyweiria 'i, mae'n dod i ben i fyny milltir away-- y rhaglen 813 00:40:38,720 --> 00:40:41,780 yn dod i ben i fyny stopio milltir i ffwrdd o'r adeg pan gawsoch eich camgymeriadau. 814 00:40:41,780 --> 00:40:46,590 Ac felly un peth y byddem yn hoffi rhaglenni i wneud, sometimes-- un peth 815 00:40:46,590 --> 00:40:48,910 y byddem yn hoffi rhaglenni i'w wneud pan fyddwn ni'n debugging 816 00:40:48,910 --> 00:40:54,160 yn methu yn uchel ac yn methu iawn yn gyflym pan fydd rhywbeth yn mynd o'i le. 817 00:40:54,160 --> 00:40:55,510 >> Python yn ddrwg iawn ar hynny. 818 00:40:55,510 --> 00:40:58,820 Python yn dda iawn am beidio methu a rholio ymlaen 819 00:40:58,820 --> 00:41:00,320 drwy bethau annisgwyl. 820 00:41:00,320 --> 00:41:02,820 Felly, mae hyn yn ddefnyddiol ar gyfer pryd eich bod yn ysgrifennu rhaglenni bach. 821 00:41:02,820 --> 00:41:07,110 Pan fyddwch yn cael gymhleth bugs weithiau 822 00:41:07,110 --> 00:41:09,300 yn cymryd amser hir i wraidd y rheini. 823 00:41:09,300 --> 00:41:12,210 >> Felly mae 'na ochr dywyll i bawb o hyn, fel 'i jyst yn gweithio. 824 00:41:12,210 --> 00:41:13,860 'I jyst yn gweithio fel y byddech yn disgwyl iddo. 825 00:41:13,860 --> 00:41:18,320 Ac eithrio pan nad yw'n gwneud hynny, ydych yn darfod i fyny mewn lle hollol wahanol 826 00:41:18,320 --> 00:41:21,530 ac yn ceisio at chyfrif i maes lle roedd eich bod aeth o'i le. 827 00:41:21,530 --> 00:41:25,180 >> Casglu sbwriel yw-- mor un peth y byddwch yn sylwi 828 00:41:25,180 --> 00:41:28,110 yw bod unrhyw un o'r pethau hyn sydd Rwyf wedi dod i mewn i existence-- 829 00:41:28,110 --> 00:41:34,114 araeau hyn, geiriaduron hyn, mae'r rhain gwrthrychau, mae'r rhain files-- byth yn cael eu rhyddhau. 830 00:41:34,114 --> 00:41:36,030 Nid oedd unrhyw alwad i rhad ac am ddim yn unrhyw un sgwrs hon. 831 00:41:36,030 --> 00:41:40,340 A dyna oedd ar y ochr C, gan fod ni byth yn mynd i mewn pethau hynny. 832 00:41:40,340 --> 00:41:42,220 >> Ond yn Python-ochr, nid oes rhad ac am ddim. 833 00:41:42,220 --> 00:41:43,970 Pethau mynd yn awtomatig rhyddhau pan Python 834 00:41:43,970 --> 00:41:45,386 yn meddwl nad ydych yn edrych arnynt. 835 00:41:45,386 --> 00:41:49,640 Mae'n dda iawn peidio rhyddhau pethau sy'n efallai y byddwch yn dal i fod o bosibl yn edrych ar, 836 00:41:49,640 --> 00:41:54,262 ond mae hyn yn golygu, os ydych yn mynd dyrannu hyn peth mawr, 837 00:41:54,262 --> 00:41:55,970 ac ydych chi fel, oh Rydw i'n ei wneud ag ef yn awr, 838 00:41:55,970 --> 00:42:00,360 mae'n anodd dweud Python eich bod yn ei wneud ag ef yn awr. 839 00:42:00,360 --> 00:42:02,986 >> Gallwch osod weithiau hynny newidyn i fod yn un, 840 00:42:02,986 --> 00:42:05,110 ac yna gobeithio y bydd yn y pen draw y casglwr garbage 841 00:42:05,110 --> 00:42:06,720 dod drwy ac yn glanhau 'ii maes. 842 00:42:06,720 --> 00:42:10,177 Ond unwaith eto, nid ydych yn ei wneud gael rheolaeth dros hynny. 843 00:42:10,177 --> 00:42:13,510 Ac un o'r rhesymau pam fod pobl yn defnyddio C am 'n sylweddol perfformiad pethau beirniadol, 844 00:42:13,510 --> 00:42:16,570 yw gallu hwn i 'n sylweddol gwybod pryd cof yn cael ei ddyrannu 845 00:42:16,570 --> 00:42:19,369 a pan gaiff ei rhyddhau, ac mae ganddynt llawer o reolaeth dros ddweud, 846 00:42:19,369 --> 00:42:20,910 Im 'yn arfer dim mwy nag gof ei angen arnaf. 847 00:42:20,910 --> 00:42:23,632 Sy'n rhywbeth y Nid yw Python yw bod wych yn. 848 00:42:23,632 --> 00:42:25,090 GYNULLEIDFA: A gaf i ofyn i chi gwestiwn? 849 00:42:25,090 --> 00:42:29,800 Beth oeddech chi'n ei olygu wrth methu yn uchel? 850 00:42:29,800 --> 00:42:32,070 >> ROSS RHEINGANS-Yoo: Felly, os rhywbeth sy'n mynd o'i le 851 00:42:32,070 --> 00:42:34,950 ac rydych mewn debugging modd, fyddech chi yn aml iawn 852 00:42:34,950 --> 00:42:38,510 am i'ch rhaglen i ddweud wrthych ble yn union mae wedi mynd o'i le, 853 00:42:38,510 --> 00:42:42,360 ac nid dim ond yn dawel yn rhoi'r gorau i redeg. 854 00:42:42,360 --> 00:42:45,085 Ond byddech yn mewn gwirionedd iddo i argraffu allan bob math o wybodaeth am 855 00:42:45,085 --> 00:42:46,972 fel, dyma oedd hyn. 856 00:42:46,972 --> 00:42:53,957 Digwyddodd hyn peth Os ydych yn argraffu yn wen-- os ydych chi'n rhedeg server-- y we 857 00:42:53,957 --> 00:42:55,390 >> GYNULLEIDFA: [Anghlywadwy] 858 00:42:55,390 --> 00:42:59,800 >> ROSS RHEINGANS-Yoo: Yeah, os eich bod yn rhedeg gweinydd gwe, 859 00:42:59,800 --> 00:43:02,680 weithiau mae'n ddrwg os ydych chi'n bob amser yn taflu gwallau, 860 00:43:02,680 --> 00:43:04,530 ac rydych yn ei ddweud, yn dda nad oedd yn gweithio. 861 00:43:04,530 --> 00:43:05,300 Rydw i'n mynd i roi'r gorau iddi. 862 00:43:05,300 --> 00:43:07,680 Im 'jyst yn mynd i anwybyddu ac yn dal i fynd ymlaen. 863 00:43:07,680 --> 00:43:11,260 Gan fod yna gallwch gael mewn cannoedd o'r gwallau hyn ac nid eu gweld. 864 00:43:11,260 --> 00:43:13,910 >> Byddai'n sicr yn ddefnyddiol ar gyfer dibenion debugging 865 00:43:13,910 --> 00:43:20,327 os bob tro gwneud eich gweinydd gwe yn camgymeriad, yr oedd gennych gofnodion gwydn o hynny. 866 00:43:20,327 --> 00:43:22,910 Efallai eich bod hyd yn oed am y rhaglen i stopio, fel bod cofnodion hynny 867 00:43:22,910 --> 00:43:25,471 peidiwch â chael eu claddu o dan bethau. 868 00:43:25,471 --> 00:43:26,970 Ond unwaith eto, dyna yn y modd debugging. 869 00:43:26,970 --> 00:43:31,280 >> Yn aml yn y modd cynhyrchu, mae'r byd yn ychydig yn wahanol. 870 00:43:31,280 --> 00:43:36,380 Ac mewn sgriptiau bach fy mod i'n rhedeg, lle y peth a ddywedais i wneud 871 00:43:36,380 --> 00:43:40,680 Efallai fod dim ond ychydig i ffwrdd o'r hyn yr hoffwn iddo wneud, 872 00:43:40,680 --> 00:43:44,010 Yna fath o gwthio drwy camgymeriadau yn rhywbeth efallai y byddwch am. 873 00:43:44,010 --> 00:43:49,410 Ac yn yr achosion hynny, yn sicr Python 'n sylweddol yn ennill ei dechrau. 874 00:43:49,410 --> 00:43:54,617 >> Y peth diwethaf nad oeddwn yn siarad yn this-- nad oeddwn yn siarad am 875 00:43:54,617 --> 00:43:57,700 ond gall fod yn wirioneddol gwylltio y cyntaf tro y byddwch yn cael un o'r gwallau hyn, 876 00:43:57,700 --> 00:44:00,491 a'r ail a'r trydydd a phedwerydd tro y byddwch yn cael un gwallau hyn. 877 00:44:00,491 --> 00:44:03,490 Python, soniais ei bod yn defnyddio gofod gwyn 878 00:44:03,490 --> 00:44:06,700 i ddweud pa lefel o pant chi a pha bloc swyddogaethol ydych chi mewn, 879 00:44:06,700 --> 00:44:08,840 mae'n trin tabiau a mannau wahanol. 880 00:44:08,840 --> 00:44:12,780 Felly, os ydych tab dros bedair, ac yna mae gan y llinell nesaf pedwar lle, 881 00:44:12,780 --> 00:44:16,910 hyd yn oed os ydynt yn dangos i fyny fel y un faint yn eich golygydd, 882 00:44:16,910 --> 00:44:20,160 Nid yw Python yn trin nhw yr un fath. 883 00:44:20,160 --> 00:44:23,610 >> Yn wir, Python trin tabs a mannau fel olew a dŵr. 884 00:44:23,610 --> 00:44:25,050 Maent yn bethau unig yn wahanol. 885 00:44:25,050 --> 00:44:27,264 Nid oes unrhyw arbennig Hyd y tab yw, 886 00:44:27,264 --> 00:44:30,180 felly nid yw'n debyg i tab yn dychwelyd 8 mannau, ac felly byddech yn ei gael o'i gwmpas 887 00:44:30,180 --> 00:44:30,860 y ffordd honno. 888 00:44:30,860 --> 00:44:34,110 Fel, pan mae'n ei ddweud, beth lefel y gofod gwyn dwi yn, 889 00:44:34,110 --> 00:44:37,240 mae'n cael ei gwirionedd yn chwilio am patrwm o leoedd a tabs. 890 00:44:37,240 --> 00:44:43,050 Ac felly, y ffordd orau i ymdrin â hyn yw bob amser yn defnyddio gofodau drwy'r amser. 891 00:44:43,050 --> 00:44:47,510 >> Ac yn wir, yn y Cloud9 IDE a'r CS50 IDE, 892 00:44:47,510 --> 00:44:50,610 eich allwedd Tab mewnosod pedwar lle yn lle hynny 893 00:44:50,610 --> 00:44:53,800 o tab, sydd yn super ddefnyddiol. 894 00:44:53,800 --> 00:44:57,074 Er eto, os ydych yn ysgrifennu Python rhaglen gyda tabs byddai hynny'n iawn, 895 00:44:57,074 --> 00:44:58,990 'i' jyst os bydd rhywun aeth i mewn ac yn ceisio ychwanegu 896 00:44:58,990 --> 00:45:02,655 un llinell at eich rhaglen sy'n Roedd pedwar lle ar gyfer pob tab, 897 00:45:02,655 --> 00:45:03,280 byddai'n torri. 898 00:45:03,280 --> 00:45:07,800 A byddai'n torri mewn ffordd hynny ddim wir yn weladwy. 899 00:45:07,800 --> 00:45:12,390 Er bod y gwall gwirioneddol neges y mae'n taflu 900 00:45:12,390 --> 00:45:15,610 wedi ei wneud gyda newydd indent Ni ddisgwylir yma, 901 00:45:15,610 --> 00:45:18,700 or-- os yw'n sôn am mewnoliadau ac mae'n edrych fel ei fod yn anghywir, 902 00:45:18,700 --> 00:45:22,090 mae'n debyg oherwydd bod bod yna broblem tab-gofod. 903 00:45:22,090 --> 00:45:24,154 Maent yn dal i gwylltio i debug. 904 00:45:24,154 --> 00:45:26,070 Mae'r cyfan mwyaf yn sgwrs hon, ac nid wyf yn gwneud 905 00:45:26,070 --> 00:45:29,740 cyrraedd am ei fod yn wir yn pwnc cymhleth, cynnil, 906 00:45:29,740 --> 00:45:34,760 ac nid oedd yn angenrheidiol i wneud unrhyw o'r pethau rydym wedi ei wneud hyd yn hyn, 907 00:45:34,760 --> 00:45:37,140 yn gysyniad o'r enw tuples. 908 00:45:37,140 --> 00:45:41,280 Maent yno yn debyg iawn i'r araeau na allwch addasu. 909 00:45:41,280 --> 00:45:44,700 Maent yn dod i arfer dros y lle, oherwydd eu bod yn ddefnyddiol ar gyfer llawer o bethau 910 00:45:44,700 --> 00:45:46,300 nad yw araeau yn ddefnyddiol ar gyfer. 911 00:45:46,300 --> 00:45:49,890 >> Ond os hoffech i wneud amrywiaeth, ac Yna, yn addo y cyfieithydd eich bod 912 00:45:49,890 --> 00:45:53,140 byth yn mynd i eisiau i addasu hynny thing-- yn wir, os ydych am addasu, 913 00:45:53,140 --> 00:45:56,800 byddwch yn gwneud un newydd gyda'r newydd gwerthoedd mewn iddo-- hynny tuples. 914 00:45:56,800 --> 00:45:58,800 Yn hytrach na chynhyrchu iddynt cromfachau sgwâr, 915 00:45:58,800 --> 00:46:00,341 eich bod yn eu cynhyrchu gyda cromfachau crwn. 916 00:46:00,341 --> 00:46:05,074 Pam y byddech yn defnyddio'r pethau hyn, yn ychydig bach o gwestiwn. . 917 00:46:05,074 --> 00:46:06,990 Yr unig beth y byddaf ddweud am hynny yw i chi 918 00:46:06,990 --> 00:46:10,680 gallu defnyddio tuples fel mynegeion i geiriaduron. 919 00:46:10,680 --> 00:46:15,010 Ni allwch ddefnyddio araeau fel mynegeion i geiriaduron. 920 00:46:15,010 --> 00:46:18,970 A pham mae, unwaith eto, technegol a Dydw i ddim yn mynd i redeg i mewn iddo. 921 00:46:18,970 --> 00:46:23,140 >> Mae'r pset nad wyf wedi cyffwrdd ymlaen yn y sgwrs yma yn pset6. 922 00:46:23,140 --> 00:46:25,837 Felly dyma sut rydych d gweithredu a-- dyma 923 00:46:25,837 --> 00:46:28,140 sut y byddech yn gweithredu pset6 yn Python. 924 00:46:28,140 --> 00:46:32,680 Cadw mewn cof y Python cylch cynllunio, y peth cyntaf 925 00:46:32,680 --> 00:46:34,760 eich bod yn gwneud pan fyddwch chi rhaglenni ysgrifennu yn gwirio 926 00:46:34,760 --> 00:46:38,030 i weld a yw rhywun yn ei wneud yn barod. 927 00:46:38,030 --> 00:46:42,152 >> Yn wir, os ydych chi am i serve-- Apache 50 928 00:46:42,152 --> 00:46:44,110 yn gwneud rhyw hyn, ac eithrio nad yw'n dod 929 00:46:44,110 --> 00:46:45,840 safonol gosod ar beiriannau Linux. 930 00:46:45,840 --> 00:46:50,490 Python yn ei wneud, ac mae'r Python gweinydd http syml yn gwneud hefyd. 931 00:46:50,490 --> 00:46:54,717 Os ydych erioed ar beiriant Linux, neu'r Cloud9 IDE y tu allan i CS50 932 00:46:54,717 --> 00:46:57,550 a hoffech i wasanaethu'r gyfredol hon cyfeiriadur i borthladd penodol, 933 00:46:57,550 --> 00:47:04,610 Python-m SimpleHTTPServer porthladd gwasanaethu hynny. 934 00:47:04,610 --> 00:47:07,190 Gallwch hefyd yn mewnforio y gweinydd http syml 935 00:47:07,190 --> 00:47:11,240 ac mae wedi cael llawer o functionality os rydych am ei addasu, neu ei newid, 936 00:47:11,240 --> 00:47:15,860 neu yn cael eu rhedeg iddo-- harneisio i rhedeg eich gwasanaethau gweinydd eich hun. 937 00:47:15,860 --> 00:47:18,032 >> Felly dyna Python yn gryno. 938 00:47:18,032 --> 00:47:20,280 Ac mae hyn wedi bod yn CS50. 939 00:47:20,280 --> 00:47:21,980 Diolch. 940 00:47:21,980 --> 00:47:23,468