1 00:00:00,000 --> 00:00:05,426 2 00:00:05,426 --> 00:00:06,800 ROSS RHEINGANS-YOO: Živjo, jaz sem Ross. 3 00:00:06,800 --> 00:00:08,570 In to je CS50 seminar. 4 00:00:08,570 --> 00:00:12,100 To vas bo popeljal iz programiranja v C programiranja v Python. 5 00:00:12,100 --> 00:00:15,120 >> Python je skriptni jezik. 6 00:00:15,120 --> 00:00:17,870 To je v veliki meri kot C v skladnji, čeprav nekateri 7 00:00:17,870 --> 00:00:20,390 tehničnih podrobnosti kako gets da skladnja usmrčen 8 00:00:20,390 --> 00:00:22,240 so nekoliko drugačni. 9 00:00:22,240 --> 00:00:24,780 To je manj močna kot C v nekaterih pogledih. 10 00:00:24,780 --> 00:00:28,130 To je manj ekspresivna za kje v računalniku 11 00:00:28,130 --> 00:00:30,030 spomin dobi določeno, kako se dobi določeno, 12 00:00:30,030 --> 00:00:32,030 ko postane svobodo, in te vrste stvari. 13 00:00:32,030 --> 00:00:36,150 >> To je bolj koristno kot C, v nekaterih pogledih, ker je lažje programirati v. 14 00:00:36,150 --> 00:00:39,920 Jezik je, da se nekateri ljudje, bolj intuitivno. 15 00:00:39,920 --> 00:00:44,820 In res je cilj za to, da se hitreje programirati 16 00:00:44,820 --> 00:00:46,490 in potencialno počasneje izvršiti. 17 00:00:46,490 --> 00:00:48,198 >> Zdaj, če menite, da o količina časa 18 00:00:48,198 --> 00:00:50,514 ste porabili za tvoj zadnji problem je določeno pisanje 19 00:00:50,514 --> 00:00:52,430 tvoj kodeks proti Količina časa, ki ga porabite 20 00:00:52,430 --> 00:00:55,310 na zadnji problem nastavite izvršitve kodo, 21 00:00:55,310 --> 00:00:58,300 ki ste jo predstavljam, da jeziku kar je dvakrat hitreje pisati, 22 00:00:58,300 --> 00:01:02,170 in dvakrat počasi izvršiti, morda je izboljšanje v C v nekaterih pogledih. 23 00:01:02,170 --> 00:01:05,730 Zagotovo ko poskušate pisati majhni programi narediti malo stvari, 24 00:01:05,730 --> 00:01:08,520 Python je uporaben jezik izbire. 25 00:01:08,520 --> 00:01:10,620 >> In na koncu tega seminar, upam, da boste 26 00:01:10,620 --> 00:01:12,950 lahko da izbira v prihodnjih projektih 27 00:01:12,950 --> 00:01:17,710 o tem, kateri jezik je pravilno uporabljati, ne ideja 28 00:01:17,710 --> 00:01:21,405 da je en jezik več popravi ves čas. 29 00:01:21,405 --> 00:01:23,030 A nekaj stvari o tem, kaj Seminar je. 30 00:01:23,030 --> 00:01:25,910 Seminar ni namenjen Nauči vas, Python iz nič. 31 00:01:25,910 --> 00:01:28,310 Python je zelo podoben na C, in sem ob predpostavki, 32 00:01:28,310 --> 00:01:34,056 da ste CS50 študent, ali je nekdo s podobno poznavanje C. 33 00:01:34,056 --> 00:01:36,700 >> Če ste CS50 študent okoli problem nastaviti 6, 34 00:01:36,700 --> 00:01:38,866 tako da ste videli veliko stvari v C, jaz vam bom dal 35 00:01:38,866 --> 00:01:40,740 so velike razlike, in nekatere stvari, 36 00:01:40,740 --> 00:01:42,840 da bi Python razlikuje in posebno in koristno, 37 00:01:42,840 --> 00:01:45,256 ampak ne bom šel za kaj je programski jezik, je 38 00:01:45,256 --> 00:01:46,920 in kako pisati programe. 39 00:01:46,920 --> 00:01:49,820 Vendar pa bo ta seminar naučil vas, da napišete pitona programe 40 00:01:49,820 --> 00:01:52,310 Če ste eden tistih redkih skupin. 41 00:01:52,310 --> 00:01:54,820 Spet bomo pogledali, kako bi izvajanje psets-- 42 00:01:54,820 --> 00:01:57,550 da mora biti 1-6 v Python-- in zagotavljajo kazalci 43 00:01:57,550 --> 00:02:00,322 na uradni dokumentaciji za poznejšo uporabo. 44 00:02:00,322 --> 00:02:03,030 Druga stvar, ki je pomembna o tem, kako je dodeljena ta pogovor, 45 00:02:03,030 --> 00:02:05,360 Ta video bo spletu, courtesy of CS50, 46 00:02:05,360 --> 00:02:07,550 zato se nikoli ne počutim kot morate zapiske. 47 00:02:07,550 --> 00:02:11,180 Lahko vedno iti nazaj in pogled na njej kasneje kot referenca. 48 00:02:11,180 --> 00:02:13,340 Dodatno diapozitive Na voljo zdaj 49 00:02:13,340 --> 00:02:16,480 na tem mestu, ki naj bi vzemite si naredil Google doc. 50 00:02:16,480 --> 00:02:21,010 To je nekoliko skrajšana verzija kaj sem prikazuje na zaslonu. 51 00:02:21,010 --> 00:02:24,850 >> Ena previdni opozorilo pred skočimo v, Python 3 52 00:02:24,850 --> 00:02:26,700 je drugačen jezik od Python 2. 53 00:02:26,700 --> 00:02:30,020 Izgledajo veliko enako; obstajajo neznatne tehnične razlike 54 00:02:30,020 --> 00:02:32,530 ki bo povzročila programe napisana v Python 2 55 00:02:32,530 --> 00:02:37,140 niso sposobni, da se izvrši v Python 3 okolju. 56 00:02:37,140 --> 00:02:41,969 >> CS50 aparata prihaja z Python, ki ga privzeto uporablja Python 2. 57 00:02:41,969 --> 00:02:44,010 To lahko preverite tako, tipkanje v ukazni vrstici 58 00:02:44,010 --> 00:02:51,310 python --version, ki naj bi proizvodnja 2.7.6 na trenutne aparata. 59 00:02:51,310 --> 00:02:53,580 Poskusite Python 3, kar počne delo v aparatu 60 00:02:53,580 --> 00:02:58,500 če Python privzame 2.X.Y, bodisi na aparat ali na svojih strojih. 61 00:02:58,500 --> 00:03:03,730 Moral bi zamenjati Python 3 kadarkoli V tem predavanju da pišem Python. 62 00:03:03,730 --> 00:03:05,760 Če je vaš stroj teče 2, ki ga privzeto, tip 63 00:03:05,760 --> 00:03:09,770 Python 3, da bi lahko dejansko sledite skupaj in izvršitev te stvari. 64 00:03:09,770 --> 00:03:12,280 >> Poleg tega bom točko na uradnih virov zdaj. 65 00:03:12,280 --> 00:03:16,082 docs.python.org/3--~~V previdni da, da je 3 in ne 2-- 66 00:03:16,082 --> 00:03:17,030 ima koristne reference. 67 00:03:17,030 --> 00:03:19,280 Tutorial vas bo popeljal skozi velik del iste stvari 68 00:03:19,280 --> 00:03:21,460 da delam zdaj, razen v besedilni obliki. 69 00:03:21,460 --> 00:03:23,725 Referenčna je uporabna kot reference za jezik, 70 00:03:23,725 --> 00:03:26,100 in standardna knjižnica daje kar nekaj podaljškov 71 00:03:26,100 --> 00:03:27,770 z dodatno funkcionalnostjo. 72 00:03:27,770 --> 00:03:31,300 >> Torej zelo prvi program Python. 73 00:03:31,300 --> 00:03:34,410 Na levi strani imamo standardni C, na desni strani imamo Python. 74 00:03:34,410 --> 00:03:36,780 Morda ste priznana ta problem, to je 75 00:03:36,780 --> 00:03:40,760 eden od prvega problema kompleti v CS50, in ti 76 00:03:40,760 --> 00:03:42,677 rešiti z isto raztopino. 77 00:03:42,677 --> 00:03:45,010 Zdaj, razlog, da smo gledaš te ob bok 78 00:03:45,010 --> 00:03:46,830 je, da bomo lahko ogledate na skladenjske razlike. 79 00:03:46,830 --> 00:03:49,580 Eden od sloni v sobi da ste morda opazili, prav 80 00:03:49,580 --> 00:03:56,350 off kij, je, da ima Python ni Glavna funkcija zavijanje okrog kode. 81 00:03:56,350 --> 00:03:59,170 Torej v C, pišete kup datoteke, jih povezati, 82 00:03:59,170 --> 00:04:02,590 in se program zažene izvršitve na to stvar imenujemo int glavno. 83 00:04:02,590 --> 00:04:04,930 >> V Python, pišete te datoteke, izvajajo datoteko, 84 00:04:04,930 --> 00:04:07,882 se program zažene izvršitve Na vrhu spisa. 85 00:04:07,882 --> 00:04:09,590 Tako se dogaja, da začnete Na vrhu spisa 86 00:04:09,590 --> 00:04:11,280 dol, dokler ne najdejo kaj drugega. 87 00:04:11,280 --> 00:04:14,440 Če ugotovi, definicijo funkcije, ne bo dejansko izvede to kodo, 88 00:04:14,440 --> 00:04:15,940 se bo preprosto opredeliti funkcijo. 89 00:04:15,940 --> 00:04:18,459 Ampak tukaj, ko je prvi Program je n enak 10, 90 00:04:18,459 --> 00:04:21,273 prva stvar, ki ta program bo naredil, je, da ta vrednost 10 91 00:04:21,273 --> 00:04:24,120 in jo nastavite v spremenljivko z imenom n. 92 00:04:24,120 --> 00:04:27,690 >> Ko že govorimo o tej progi, eno od drugi things-- sorry-- to 93 00:04:27,690 --> 00:04:31,040 pomeni, da se programi C, jih boste napisali, 94 00:04:31,040 --> 00:04:34,899 boste, da jih, ki bo sklicuje na nekatere Jek ukazov, 95 00:04:34,899 --> 00:04:36,690 in potem boste teči Nastalo izvedljivo. 96 00:04:36,690 --> 00:04:41,030 Python programi, zaženete Besedilo file-- tem mario.py morda 97 00:04:41,030 --> 00:04:44,900 biti to datoteko, da sem pravkar pokazala you-- boste zagnati datoteko 98 00:04:44,900 --> 00:04:47,450 in boste izvršiti, in vsebine njej 99 00:04:47,450 --> 00:04:50,390 Izvajal se bo s Python tolmač. 100 00:04:50,390 --> 00:04:52,470 To lahko storite v vašem IDE. 101 00:04:52,470 --> 00:05:02,260 >> Torej, če imam Hello datoteko, ki preprosto je to vsebino. 102 00:05:02,260 --> 00:05:04,840 To je pravzaprav Python 2, ne Python 3, tako da ne 103 00:05:04,840 --> 00:05:06,600 skrbeti skladnji za zdaj. 104 00:05:06,600 --> 00:05:14,230 Ampak bom teči Python, na hello.py in teče. 105 00:05:14,230 --> 00:05:18,890 >> Drug način, da sem lahko uporabite Python, ki Ne bom se ukvarjajo s toliko v tem predavanju, 106 00:05:18,890 --> 00:05:21,840 je, če sem samo tip Python, je mi pade v okolju, kjer 107 00:05:21,840 --> 00:05:24,370 Lahko ga nahraniti Python po vrsticah. 108 00:05:24,370 --> 00:05:31,260 Torej, tukaj, če sem tip v print prostor "Hello, world". 109 00:05:31,260 --> 00:05:32,360 Vnesite enter. 110 00:05:32,360 --> 00:05:37,430 To mi bo pljunil, da nazaj na rezultate da posameznik linija takoj. 111 00:05:37,430 --> 00:05:38,470 >> To je lahko koristno. 112 00:05:38,470 --> 00:05:40,700 V tem predavanju bom delati stvari na diapozitivih. 113 00:05:40,700 --> 00:05:43,940 In tako boste lahko spremljali vzdolž bodisi tukaj, ali s pisanjem 114 00:05:43,940 --> 00:05:45,725 Dejanske datoteke in jih nato izvršitve. 115 00:05:45,725 --> 00:05:48,340 116 00:05:48,340 --> 00:05:50,995 >> Ampak, vrača v to koda, druga stvar 117 00:05:50,995 --> 00:05:53,230 da boste morda morali noticed-- dobro, tam je 118 00:05:53,230 --> 00:05:55,980 dve stvari, ki jih lahko obvestilo o teh blokov. 119 00:05:55,980 --> 00:05:59,280 Prvi, precej bolj preprostega, je, da Python nima zaključne podpičjem. 120 00:05:59,280 --> 00:06:02,630 >> Podpičja so neobvezna povsod in neškodljivo povsod. 121 00:06:02,630 --> 00:06:03,722 Lahko jih dodate. 122 00:06:03,722 --> 00:06:06,430 To lahko povzroči, da ljudje, ki pišejo Python za dnevno snicker na vas 123 00:06:06,430 --> 00:06:08,860 za tvojim hrbtom, ker oni niso potrebni. 124 00:06:08,860 --> 00:06:13,497 Oni so pogosto znak, da so bila prestavljena iz C. Oblikovalci jeziku 125 00:06:13,497 --> 00:06:16,580 menijo, da je bolj jasno, na ta način in da je ni treba razglasiti 126 00:06:16,580 --> 00:06:18,700 vsakič, ko na koncu črto. 127 00:06:18,700 --> 00:06:21,799 >> Druga čudna stvar pri tem je n je nima tip priloženi. 128 00:06:21,799 --> 00:06:24,590 Eden od čarobnih kosov Python-- in jaz grem, da ga pokličete magic, 129 00:06:24,590 --> 00:06:26,381 vendar pa so zelo tehnične razloge, zakaj je 130 00:06:26,381 --> 00:06:28,560 works-- eno od čarobne kosov Python 131 00:06:28,560 --> 00:06:32,700 je, da lahko spremenljivke razširi ali skrči, da vsebujejo karkoli podatke 132 00:06:32,700 --> 00:06:34,530 vrste, ki bi jih želeli. 133 00:06:34,530 --> 00:06:35,580 >> Torej, to je 10. 134 00:06:35,580 --> 00:06:40,060 Če kasneje dol sem dodeljena ta n 0.5, bi bilo potrebno, da je 0,5. 135 00:06:40,060 --> 00:06:43,770 Ne glede na to, da je int tukaj in plavajo tam, karkoli, ki uporablja ta n 136 00:06:43,770 --> 00:06:47,057 bo, bolj ali manj, lahko chug vzdolž če postane eden od teh. 137 00:06:47,057 --> 00:06:49,640 Razen če obstaja nekaj zelo resnična Razlog, zakaj je ni mogoče uporabiti podatke 138 00:06:49,640 --> 00:06:52,170 tip, ki n trenutno ima, na kateri točki bomo dobili 139 00:06:52,170 --> 00:06:54,490 klinasta in vrgel napako, in tiste vrste stvari. 140 00:06:54,490 --> 00:06:57,050 >> Ampak tukaj, Python v resnici ne zanima, kaj 141 00:06:57,050 --> 00:06:59,140 je to, da bom, da se držijo v tem stavek, kot so, hočeš to stvar? 142 00:06:59,140 --> 00:06:59,840 Ta stvar v tem? 143 00:06:59,840 --> 00:07:00,640 Ja, to je nekako stvar. 144 00:07:00,640 --> 00:07:01,810 Bom držijo na koncu. 145 00:07:01,810 --> 00:07:04,740 To bo problem kasneje, če nekdo, ki želi uporabiti to konec 146 00:07:04,740 --> 00:07:05,710 ne zmorem. 147 00:07:05,710 --> 00:07:08,500 To je eden izmed glavnih Razlike med Python in C 148 00:07:08,500 --> 00:07:10,790 ki omogoča enostavno pisanje zelo velike programe C 149 00:07:10,790 --> 00:07:15,120 in omogoča lažje pisati zelo majhen program Python. 150 00:07:15,120 --> 00:07:19,564 >> FOR skladnje ni zelo razlikuje v tem, kar počne. 151 00:07:19,564 --> 00:07:21,480 To je nekoliko drugačen v tem, kako se je izrazil. 152 00:07:21,480 --> 00:07:25,370 Torej, to je zelo, kar se imenuje Pythonic, način pisanja. 153 00:07:25,370 --> 00:07:28,969 za vrstico v območju (n), to je Razpon števila od 0 do n, 154 00:07:28,969 --> 00:07:31,010 vključujoča na dnu in izključno na vrhu. 155 00:07:31,010 --> 00:07:34,790 Torej je od 0 do n-1, ki je točno to, kar je koda C počne, 156 00:07:34,790 --> 00:07:38,690 razen da je veliko lažje pogled na morda. 157 00:07:38,690 --> 00:07:42,710 >> Ustrezni blok je ne pobota s naramnicami, 158 00:07:42,710 --> 00:07:44,540 namesto tega je to pobota iz te vdolbine. 159 00:07:44,540 --> 00:07:47,580 Torej, vse od teh progah so štirje prostori več kot v desno, 160 00:07:47,580 --> 00:07:50,410 ali kot o širino slona. 161 00:07:50,410 --> 00:07:54,570 In to so tisti, ki so dogaja se izvrši v to za. 162 00:07:54,570 --> 00:07:57,020 Če sem mess up razcepljenost na to in I 163 00:07:57,020 --> 00:08:01,420 potisnite to print nazaj original zamik, 164 00:08:01,420 --> 00:08:04,320 da print bo zapusti zanko. 165 00:08:04,320 --> 00:08:08,560 V nasprotju s C, kjer je tu dejansko morali premakniti, da zaprto oklepaja okoli. 166 00:08:08,560 --> 00:08:11,820 >> To pomeni, da ne boste dobili napak da skoči ven na vas, ker vas 167 00:08:11,820 --> 00:08:13,580 dal opornico na napačnem mestu. 168 00:08:13,580 --> 00:08:16,460 To ne pomeni, da boste dobili napake da skoči ven na vas, ker vas 169 00:08:16,460 --> 00:08:17,620 zamaknjen linijo narobe. 170 00:08:17,620 --> 00:08:19,290 Torej naredi vdolbine super previdni. 171 00:08:19,290 --> 00:08:22,123 Upam, da ste bili pa super previdni pri zarezi vseeno, 172 00:08:22,123 --> 00:08:25,300 in zato je to ne da veliko več breme. 173 00:08:25,300 --> 00:08:28,762 >> Toda osnovno pravilo za Python, in bomo imeli nekaj teh 174 00:08:28,762 --> 00:08:30,970 da bomo šli skozi skozi potek pogovora, 175 00:08:30,970 --> 00:08:33,840 se poskusite naravne skladnje preden je videti ničesar gor. 176 00:08:33,840 --> 00:08:37,610 Torej, to sintakso, za to število v območju, 177 00:08:37,610 --> 00:08:41,460 je zelo razlikovalen v smislu sloga. 178 00:08:41,460 --> 00:08:45,260 Veliko stvari v Python bomo videli, pri čemer ta obrazec. 179 00:08:45,260 --> 00:08:47,420 >> In tako, če ste prišli do z novo predmet, ki ga 180 00:08:47,420 --> 00:08:50,870 mislim, da bi morali biti sposobni Ponovil nad tem, v tej obliki, 181 00:08:50,870 --> 00:08:53,720 Izkazalo se je, da verjetno podpira ta format. 182 00:08:53,720 --> 00:08:56,990 Nismo šli super globoko v tehnični razlogi, da je res. 183 00:08:56,990 --> 00:09:00,167 >> Ampak to je koristno, intuicija, da imajo ko ste približuje Python programe, 184 00:09:00,167 --> 00:09:01,750 da je to stvar, le, da bo delovalo. 185 00:09:01,750 --> 00:09:03,020 Poskusi. 186 00:09:03,020 --> 00:09:06,480 Zagnati v ukazni vrstici Tolmač, vidim, če deluje, 187 00:09:06,480 --> 00:09:09,827 korak naprej s stvarmi, pred vami tudi ni treba odpirati Google in pravijo, 188 00:09:09,827 --> 00:09:11,660 kaj je sintaksa za to predvsem stvar? 189 00:09:11,660 --> 00:09:14,740 Veliko Python, da bi lahko odkriti samo s poskušanjem. 190 00:09:14,740 --> 00:09:19,005 >> To, če je še bolj podoben za C potem FORS so. 191 00:09:19,005 --> 00:09:20,380 Upoštevajte, da tam ni oklepaje. 192 00:09:20,380 --> 00:09:23,490 Oklepajih so, spet, neškodljivi, ampak nepotrebna. 193 00:09:23,490 --> 00:09:25,750 Obstaja kolona konec tako kot za zanke, 194 00:09:25,750 --> 00:09:30,800 in spet relativne bloki so zamaknjen ne pobota s naramnic. 195 00:09:30,800 --> 00:09:33,080 To je še v izvirniku Stopnja vdolbine, 196 00:09:33,080 --> 00:09:35,930 in njegova ustrezna blok spet zamaknjen. 197 00:09:35,930 --> 00:09:41,720 Tisti, ki dela natanko tako, kot to počnejo v C. 198 00:09:41,720 --> 00:09:44,520 >> To je dejansko zelo podobna. 199 00:09:44,520 --> 00:09:49,430 Again, print izgubi en znak off printf Hodite nekaj nizov. 200 00:09:49,430 --> 00:09:51,520 Izkazalo se je, strune se lahko bodisi označi 201 00:09:51,520 --> 00:09:53,562 s enojnimi narekovaji ali dvojne narekovaje. 202 00:09:53,562 --> 00:09:55,270 Ni razlike, razen tega notranjosti 203 00:09:55,270 --> 00:09:57,722 enojnih narekovajev lahko uporabite dvojne kotacije s opustiti, 204 00:09:57,722 --> 00:09:59,430 namesto da bi pobeg vse izmed njih. 205 00:09:59,430 --> 00:10:01,480 In znotraj dvojnih narekovajev, si Lahko uporabite enojne narekovaje z opustiti 206 00:10:01,480 --> 00:10:02,420 ne da bi jih pobeg. 207 00:10:02,420 --> 00:10:04,253 Če boste želeli, da se pomešajo njih, lahko zagotovo 208 00:10:04,253 --> 00:10:06,100 poglej gor na spletu, kako to storiti. 209 00:10:06,100 --> 00:10:09,581 >> Opazili boste, da tukaj, Sem opravil na koncu = to stvar. 210 00:10:09,581 --> 00:10:12,580 To je primer opcijski argument, ki je ena od tistih stvari 211 00:10:12,580 --> 00:10:14,990 da Python podpira, da zaradi česar je zelo koristno. 212 00:10:14,990 --> 00:10:18,240 Torej print dejansko ima veliko Argumenti, ki so običajno 213 00:10:18,240 --> 00:10:20,140 nastavite na privzeto vrednost, ampak tukaj sem imel 214 00:10:20,140 --> 00:10:21,924 odločila, da bo prepisala tisto, ki se imenuje konec. 215 00:10:21,924 --> 00:10:24,340 Razlog, da moram preglasiti s praznim nizom 216 00:10:24,340 --> 00:10:26,756 je, da je tisk v Python, ki jih privzeto, natisne novo vrstico 217 00:10:26,756 --> 00:10:28,630 po stvar, ki jo je povedal preveč. 218 00:10:28,630 --> 00:10:31,462 >> Torej, to hash se dejansko dogaja, da natisnite hashem v novo vrstico. 219 00:10:31,462 --> 00:10:34,670 In če nočem hash natisniti nova linija po njej, potem moram reči, 220 00:10:34,670 --> 00:10:35,340 ne natisnejo enega. 221 00:10:35,340 --> 00:10:37,980 222 00:10:37,980 --> 00:10:43,690 Vendar pa ni bil, tista zadnja stvar, ki ta program manjka, da ima ena 223 00:10:43,690 --> 00:10:44,960 vključujejo na vrhu. 224 00:10:44,960 --> 00:10:48,120 Tiskanje se peče v Python tako da v bistvu da ni glavo ali modul 225 00:10:48,120 --> 00:10:49,869 da morate vključujejo, čeprav, če je želel 226 00:10:49,869 --> 00:10:52,029 da vključuje tudi druge stvari, v Python skript, 227 00:10:52,029 --> 00:10:55,320 Jaz bi to naredil na zelo podoben format-- besede so le nekoliko drugačna. 228 00:10:55,320 --> 00:10:58,840 229 00:10:58,840 --> 00:11:01,360 >> Omenil sem, da bomo Ne potrebujemo glavni tukaj, 230 00:11:01,360 --> 00:11:03,372 ker je Python začne izvršitve na vrhu. 231 00:11:03,372 --> 00:11:05,080 Če sem hotel zaviti to funkcijo, sem 232 00:11:05,080 --> 00:11:07,667 bi to naredil kot this-- I bi rekel, def ime funkcije, 233 00:11:07,667 --> 00:11:10,500 argumenti bi šel noter in bomo glej nekatere od teh kasnejši, debelega črevesa, 234 00:11:10,500 --> 00:11:13,040 in nato še enkrat, to Celotna pobota blok 235 00:11:13,040 --> 00:11:16,810 je tisto, kar je operativni blok za to funkcijo. 236 00:11:16,810 --> 00:11:18,560 Torej je ta definicija funkcije. 237 00:11:18,560 --> 00:11:21,587 In tam je izjava, potem navzdol tukaj, lahko sem samo pokličite funkcijo. 238 00:11:21,587 --> 00:11:23,920 In spet, program tolmač, ki se začne na vrhu, 239 00:11:23,920 --> 00:11:25,280 boste videli, da je to definicija. 240 00:11:25,280 --> 00:11:27,960 Da ne bo izvrševala to do njega tu, in potem je všeč, oh 241 00:11:27,960 --> 00:11:30,860 Sedaj ste jo poklical, sem Verjetno bi ga morali izvesti. 242 00:11:30,860 --> 00:11:33,850 >> Stvar, ki je zelo pogosto videti v Python datotek 243 00:11:33,850 --> 00:11:36,700 predvsem Python datoteke, ki se sprosti za javnost 244 00:11:36,700 --> 00:11:41,650 in razviti by-- in razvili in vzdrževana, je nekaj tega obrazca. 245 00:11:41,650 --> 00:11:44,540 To je basically-- zato, ker Python, začnete na vrhu 246 00:11:44,540 --> 00:11:50,310 in potem se izvrši na dno, Jaz, če sem imel Mario zaklical tukaj, 247 00:11:50,310 --> 00:11:54,190 potem pa vsak čas sem vključil to datoteko v druga datoteka, ker sem hotel uporabiti 248 00:11:54,190 --> 00:11:58,580 je funkcija Mario, da bi druge datoteke imajo tudi ta poziv k mario v njej. 249 00:11:58,580 --> 00:12:01,000 In ko sem tekel to datoteko, bi poklical Mario. 250 00:12:01,000 --> 00:12:04,520 >> Torej je možno, da sem samo želite zagnati to, če sem dejansko 251 00:12:04,520 --> 00:12:07,290 Lepa to posebno datoteko. 252 00:12:07,290 --> 00:12:11,520 In tako sem lahko to zaviti v idiom, kot je ta, kjer sem rekel, 253 00:12:11,520 --> 00:12:14,820 če je ime te izvedbe okolje je glavno, 254 00:12:14,820 --> 00:12:16,200 potem želim narediti te stvari. 255 00:12:16,200 --> 00:12:18,710 V nasprotnem primeru nekdo drug lahko use-- vključujejo moje function-- 256 00:12:18,710 --> 00:12:22,510 moje datoteke, in samo da bi dobili dostop do teh funkcij 257 00:12:22,510 --> 00:12:25,552 ne da bi morali teči stvari da želim izvesti v tej datoteki. 258 00:12:25,552 --> 00:12:27,260 To je, še enkrat, neobvezno vendar je zelo pogosta. 259 00:12:27,260 --> 00:12:30,450 260 00:12:30,450 --> 00:12:33,840 >> Te stvari so entirely-- so popolnoma enaka med C in Python, 261 00:12:33,840 --> 00:12:35,100 gotovo v 3. 262 00:12:35,100 --> 00:12:38,610 Mislim, da v 2, upravljavec delitev Včasih vam daje nazaj plava, ko 263 00:12:38,610 --> 00:12:41,450 ti delujejo na ints, in bodisi si je želel, da ali nisi. 264 00:12:41,450 --> 00:12:44,777 Ampak plus, minus in časi deluje natanko tako kot ste pričakovali, 265 00:12:44,777 --> 00:12:46,110 razen z nekoliko več vrst. 266 00:12:46,110 --> 00:12:49,740 Torej si lahko pomnožimo boje, ki jih Ints, in tiste vrste stvari. 267 00:12:49,740 --> 00:12:52,480 >> sklop deluje popolnoma enak. 268 00:12:52,480 --> 00:12:54,310 Lahko uporabite dveh enakih znakov. 269 00:12:54,310 --> 00:12:59,000 inequals-- večja od manj kot, te vrste things-- 270 00:12:59,000 --> 00:13:02,580 pomene, ki ste seznanjeni z njimi. 271 00:13:02,580 --> 00:13:05,770 >> Kjer je C uporablja te subjekte, Python uporablja nekoliko več angleščine 272 00:13:05,770 --> 00:13:06,390 berljivi tisti. 273 00:13:06,390 --> 00:13:09,348 Torej, namesto dveh, ampersands, si dobesedno vnesite besedo "in", "ali" 274 00:13:09,348 --> 00:13:10,740 ali ne." 275 00:13:10,740 --> 00:13:13,420 Tako kot v vašem if-- v vaš pogojni stavki, 276 00:13:13,420 --> 00:13:17,670 smo videli že prej, da je ta sintaksa v C ustreza tej sintakso v Python. 277 00:13:17,670 --> 00:13:21,010 In tam ni veliko drugačen tam, razen za malo 278 00:13:21,010 --> 00:13:24,780 ločil okoli stranic. 279 00:13:24,780 --> 00:13:28,890 Še enkrat, če bi C drugje če, Python uporablja Elif, 280 00:13:28,890 --> 00:13:33,960 vendar so ti večinoma Spremembe na ravni površini. 281 00:13:33,960 --> 00:13:38,450 >> Ponovitev, kot je to pogosto napisano v tem idiom v Python. 282 00:13:38,450 --> 00:13:42,350 Lahko izdelavo te vrste stvar z while na zunanji 283 00:13:42,350 --> 00:13:46,387 če boste želeli, vendar boste zagotovo ne bi bilo treba. 284 00:13:46,387 --> 00:13:48,970 In še enkrat, če si želel izpisal elemente iz matrike 285 00:13:48,970 --> 00:13:50,560 morda to storite na ta način. 286 00:13:50,560 --> 00:13:52,927 Ena izmed zabavnih stvari o Python, čeprav, 287 00:13:52,927 --> 00:13:54,760 je, da vam ni treba uporabljati to paradigmo, 288 00:13:54,760 --> 00:13:57,290 in jih lahko uporabite nekoliko bolj elegantna ena. 289 00:13:57,290 --> 00:13:59,370 Praviš, da za A arja. 290 00:13:59,370 --> 00:14:02,980 >> Torej, namesto da gre tu in teče preko indeksov, 291 00:14:02,980 --> 00:14:05,630 in nato izvlečete posamezni elementi, 292 00:14:05,630 --> 00:14:08,644 vam povem, da dejansko samo povozil elementov samih. 293 00:14:08,644 --> 00:14:11,060 In potem karkoli ti počneš notri lahko deluje neposredno 294 00:14:11,060 --> 00:14:13,260 o elementih, ki je precej zabavno. 295 00:14:13,260 --> 00:14:16,710 In bomo see-- bomo uporabili znova in znova, da idiom 296 00:14:16,710 --> 00:14:18,050 saj hodimo skozi kodo. 297 00:14:18,050 --> 00:14:20,091 >> To je spet primer nečesa, kar bom 298 00:14:20,091 --> 00:14:23,300 pokličite Python čarovnijo, čeprav obstajajo zelo tehničnih razlogov, zakaj to deluje. 299 00:14:23,300 --> 00:14:26,340 In obstajajo tehnične stvari, ki morajo biti res okoli matriki, da 300 00:14:26,340 --> 00:14:28,340 za to, da delajo v zakulisju. 301 00:14:28,340 --> 00:14:31,390 Stvar je v tem, da je večina vrst ki bi lahko pričakovali, da je to delo 302 00:14:31,390 --> 00:14:36,610 so imeli to izvaja za ste v vgrajenem jeziku. 303 00:14:36,610 --> 00:14:40,030 >> Druga stvar, da bi bilo lepo, če je to delal v vsakem jeziku, 304 00:14:40,030 --> 00:14:45,460 vendar pa obstaja nekaj razlogov, zakaj ne more, tiskanje Ta niz krat to številko. 305 00:14:45,460 --> 00:14:48,860 Izkazalo se je, v Python, to počne natanko kaj bi radi, kar je prav zabavno, 306 00:14:48,860 --> 00:14:52,840 in pomeni, da bomo lahko dejansko zmanjšati ta program, znova mario.c. 307 00:14:52,840 --> 00:14:57,150 Namesto ponavljanjem veliko, smo lahko samo reči, želim neko število mest, 308 00:14:57,150 --> 00:15:01,120 Hočem število haše, in nekateri hashes na koncu. 309 00:15:01,120 --> 00:15:02,640 In še enkrat, bomo uporabili ta format. 310 00:15:02,640 --> 00:15:05,340 >> Tukaj smo poteka v spremenljivka na ta način. 311 00:15:05,340 --> 00:15:08,050 Še enkrat, ne rabimo reči kaj tip spremenljivke, je to, 312 00:15:08,050 --> 00:15:11,322 in edini čas, da bomo dobite napak je na doživljenjsko času. 313 00:15:11,322 --> 00:15:13,030 Ko nekdo skuša da prenese nekaj v, 314 00:15:13,030 --> 00:15:14,860 da bomo prišli v funkciji čisto v redu. 315 00:15:14,860 --> 00:15:18,240 Če bomo zagozditev tukaj, ker to ni stvar, ki jo lahko ustvarite obsege več, 316 00:15:18,240 --> 00:15:22,100 Grem napaka tam, in bom moral to debug na tak način. 317 00:15:22,100 --> 00:15:25,050 Toda v tem času, nimam biti zelo previdni, kaj 318 00:15:25,050 --> 00:15:32,800 dobi sprejet, dokler v dejanski izvedba je vse skupaj deluje zelo lepo. 319 00:15:32,800 --> 00:15:35,080 >> Jaz bi celo, da je to malo čistilec 320 00:15:35,080 --> 00:15:41,770 uporabljajo posebno vgrajeno funkcijo na strune, ki je desno Justify. 321 00:15:41,770 --> 00:15:45,250 To je samo koristno funkcijo leži okoli knjižnici. 322 00:15:45,250 --> 00:15:47,660 To je v dokumentaciji če greš in si za to. 323 00:15:47,660 --> 00:15:51,650 In sem rekel, tudi jaz grem, da imajo ta niz, nekateri število haše, 324 00:15:51,650 --> 00:15:56,390 in bi rad prav upravičiti it-- pad ven s presledki, da se ta dolžina. 325 00:15:56,390 --> 00:16:00,584 >> Tudi to je v Dokumentacija, ki prinaša us-- 326 00:16:00,584 --> 00:16:03,500 Bom dejansko klikate these-- ki nas pripelje do našega drugega pravilu 327 00:16:03,500 --> 00:16:06,990 za standardne knjižnice Python-- metode delovanja so tvoji prijatelji. 328 00:16:06,990 --> 00:16:09,880 In to je pogosto vredno svojega časa iti išče Sprašujem 329 00:16:09,880 --> 00:16:12,310 če obstaja stvar, samo to stori. 330 00:16:12,310 --> 00:16:13,830 Verjetno je. 331 00:16:13,830 --> 00:16:15,990 Če želite pad ven niz, če bi 332 00:16:15,990 --> 00:16:17,470 želel vzeti nazaj polovica niz, če bi 333 00:16:17,470 --> 00:16:20,370 želeli iskati skozi niz, če ti bi rad razbil nekaj stvari 334 00:16:20,370 --> 00:16:22,420 skupaj z vrvico z vejicami med njimi, 335 00:16:22,420 --> 00:16:24,640 obstaja standardno knjižnico funkcije za to. 336 00:16:24,640 --> 00:16:27,190 >> In to naredi vaše življenje lažje, če jih uporabljate 337 00:16:27,190 --> 00:16:29,240 namesto valjanje Vse na svojem 338 00:16:29,240 --> 00:16:31,650 v petih vrstic kode tukaj, pet vrstic kode tukaj. 339 00:16:31,650 --> 00:16:34,430 Da res začne pri dodate do realnem času. 340 00:16:34,430 --> 00:16:37,430 >> Ena od zanimivih stvari o tem, kako postane ta imenuje. 341 00:16:37,430 --> 00:16:39,980 Opazili boste, da je pika stvar. 342 00:16:39,980 --> 00:16:43,490 Imam nekaj predmetov na levi, in potem sem poklical piko funkcija. 343 00:16:43,490 --> 00:16:49,780 To je eden izmed paradigmah da Python uporablja za pritrditev metode za predmete. 344 00:16:49,780 --> 00:16:54,410 Bomo govorili o tem, kaj je to je zelo kratko konec, 345 00:16:54,410 --> 00:16:58,510 ampak vem, da bomo lahko tako deluje na Stvari, ki jih pri tem, da stvar, ki pravi dot 346 00:16:58,510 --> 00:17:01,690 ne glede, ali ga kliče funkcija, ki je 347 00:17:01,690 --> 00:17:04,339 da je objekt in nekatere druge argumente. 348 00:17:04,339 --> 00:17:07,450 >> Torej, to so v obe smeri, ki Stvari se opravi v Python. 349 00:17:07,450 --> 00:17:09,780 In ali je še zlasti funkcionalnost izvede 350 00:17:09,780 --> 00:17:14,230 v tem slogu, ali je to slog je nekaj, kar vas 351 00:17:14,230 --> 00:17:19,990 bi moral pogledati navzgor, dokler ne boste dobili visi za katera je verjetno, da sodijo v. 352 00:17:19,990 --> 00:17:22,660 Tam je bolj ali manj kohezivna filozofija, Python 353 00:17:22,660 --> 00:17:24,930 da ste absorbirajo večinoma s pisanjem veliko v njej. 354 00:17:24,930 --> 00:17:28,190 Na neki točki, ki je eno od teh nekaj, kar se bo izvajal kot 355 00:17:28,190 --> 00:17:29,470 bolj naravno. 356 00:17:29,470 --> 00:17:32,420 Za zdaj, to je samo nekaj boste izvedeli, ko ugotovimo, 357 00:17:32,420 --> 00:17:34,140 vsaka posamezna stvar. 358 00:17:34,140 --> 00:17:36,420 >> Torej standardno knjižnico funkcije so vaši prijatelji, 359 00:17:36,420 --> 00:17:41,320 in se vam pišejo, da je zavzamejo toliko prostora res malo, 360 00:17:41,320 --> 00:17:42,040 res elegantno. 361 00:17:42,040 --> 00:17:45,670 In to je dejansko verjetno bolj čitljive, bi rekel, kot programa C 362 00:17:45,670 --> 00:17:46,780 tja. 363 00:17:46,780 --> 00:17:49,730 Da ne omenjam dejstva, da je tako Skratka lahko fit celo slona 364 00:17:49,730 --> 00:17:52,250 v prostoru, ki smo jih shranili. 365 00:17:52,250 --> 00:17:56,270 >> Druga stvar, to je izvedba Mario, ki je dot C, ki mislim, da 366 00:17:56,270 --> 00:17:57,890 je najkrajša jo lahko dobite. 367 00:17:57,890 --> 00:18:00,757 To nima get int, vendar Težko kod vrednost 10 368 00:18:00,757 --> 00:18:02,090 na enak način, da je to ena počne. 369 00:18:02,090 --> 00:18:06,080 Izkazalo se je, da je to ena ure v na 84 znakov, medtem Python je 64. 370 00:18:06,080 --> 00:18:11,490 In to je neskončno več berljiva kot te smeti tukaj. 371 00:18:11,490 --> 00:18:14,610 Torej Python je bolj učinkovita v vesolju. 372 00:18:14,610 --> 00:18:17,260 To je nekoliko manj učinkovita v času, ne pa veliko. 373 00:18:17,260 --> 00:18:18,890 >> Seznami so pomembna stvar v Python. 374 00:18:18,890 --> 00:18:21,540 375 00:18:21,540 --> 00:18:24,587 Mi smo jih niso videli, pa so delujejo podobno kot nizi narediti v C. 376 00:18:24,587 --> 00:18:27,170 Torej, tukaj si jih lahko razglasi, jih lahko preide v stvar. 377 00:18:27,170 --> 00:18:29,810 Zdaj kvadratov poseduje Niz teh stvari. 378 00:18:29,810 --> 00:18:33,480 Spet nismo deklariran kot tip, ampak če bomo kdaj poskusil, da jo uporabljajo, 379 00:18:33,480 --> 00:18:36,260 vse, kar bi pričakovali, da deluje na paleto celih 380 00:18:36,260 --> 00:18:40,130 se bo delo na niz celih števil. 381 00:18:40,130 --> 00:18:42,030 >> To je stvar, ki jo nikakor ne morete 382 00:18:42,030 --> 00:18:47,390 narediti v C, ker je pomnilnik je tako na roke, 383 00:18:47,390 --> 00:18:48,950 vendar je zelo enostavno narediti v Python. 384 00:18:48,950 --> 00:18:55,310 Če želim moj array biti večja, sem lahko dodajte element z njim in to je v redu. 385 00:18:55,310 --> 00:18:57,150 >> Kaj se dogaja v zakulisju? 386 00:18:57,150 --> 00:18:59,150 Tolmač bo šel ven in dobili nekaj pomnilnika, 387 00:18:59,150 --> 00:19:00,860 in morda bomo dobili malo dodatnega pomnilnika, 388 00:19:00,860 --> 00:19:03,090 tako da ne, da nimam da realloc vsakič. 389 00:19:03,090 --> 00:19:04,897 Toda koliko več spomin pa je treba? 390 00:19:04,897 --> 00:19:06,730 To ni odločitve da moraš narediti, 391 00:19:06,730 --> 00:19:10,540 To so odločitve, ki so Tolmač bo naredil. 392 00:19:10,540 --> 00:19:12,270 >> Tu vidimo območje lahko sprejme dva argumenta, 393 00:19:12,270 --> 00:19:16,430 vendar je še vedno dogaja, da se inclusive na vrhu, zato smo dodali 1 tam. 394 00:19:16,430 --> 00:19:21,970 To je Fraza, ki je še bolj pameten način, da napišete stvari, kot je ta. 395 00:19:21,970 --> 00:19:25,980 Imenuje se seznam razumevanje, in tu kaj smo govoriš 396 00:19:25,980 --> 00:19:32,560 se bi rad dal v i na kvadrat za vsako vrednost i na tem območju. 397 00:19:32,560 --> 00:19:35,770 Ta stvar na desni strani bi lahko drugo matrika, in ta stvar na levi 398 00:19:35,770 --> 00:19:40,740 da je vsaka posebej funkcija da bi potrebovali v i kot spremenljivka 399 00:19:40,740 --> 00:19:42,250 in mi je dal ven nekaj rezultat. 400 00:19:42,250 --> 00:19:43,480 >> Kaj bom storiti, je, Jaz bom za izgradnjo 401 00:19:43,480 --> 00:19:46,200 matrika, ki je vse te stvari za vsako vrednost v tem območju. 402 00:19:46,200 --> 00:19:48,960 403 00:19:48,960 --> 00:19:55,670 In to je super elegantna, super kratke, in to je zelo jasno, kaj to pomeni. 404 00:19:55,670 --> 00:19:59,190 To je eden izmed things-- to je spet, 405 00:19:59,190 --> 00:20:03,860 ena of-- zelo simptomatičen od razlogov, da ljudje kot Python. 406 00:20:03,860 --> 00:20:05,900 Če vam je všeč programiranje kot je ta, potem Python 407 00:20:05,900 --> 00:20:07,830 je jezik, boste morda želeli, da se naučijo. 408 00:20:07,830 --> 00:20:10,950 >> In spet, obstajajo tehnične Razlogi, zakaj to dela. 409 00:20:10,950 --> 00:20:14,730 Ampak kolikor sva zadeva, smo bolj ali manj ne zanima. 410 00:20:14,730 --> 00:20:18,500 >> Torej, če želite natisniti seznamov, nekatere enake idiomov so uporabni. 411 00:20:18,500 --> 00:20:20,940 Za i na tem območju, smo lahko Indeks skozi vse stvari, 412 00:20:20,940 --> 00:20:23,140 in jih nato vse natisnete. 413 00:20:23,140 --> 00:20:24,650 In videli boste tukaj len. 414 00:20:24,650 --> 00:20:27,150 Če ste kdaj želeli, da bi dobili dolžina matrike, ki je 415 00:20:27,150 --> 00:20:31,150 zelo enostavno v Python, je zelo težko v C. 416 00:20:31,150 --> 00:20:33,720 To bi izpisal ravno tisto, kar bi pričakovali, da. 417 00:20:33,720 --> 00:20:36,986 Mi bi tudi, kot smo videli, Ponovil več elementov v matriki 418 00:20:36,986 --> 00:20:39,860 neposredno, in potem samo govoriti o jim, namesto, da bi kazalo 419 00:20:39,860 --> 00:20:43,190 nazaj v matriki vsakič. 420 00:20:43,190 --> 00:20:45,990 >> In to je stvar, ki jo lahko narediš. 421 00:20:45,990 --> 00:20:49,984 Torej v C, če vprašate za nekaj kot je ta, bi print pravijo, 422 00:20:49,984 --> 00:20:51,150 da je niz celih števil. 423 00:20:51,150 --> 00:20:53,456 To definitivno ni niz, ne morem natisniti. 424 00:20:53,456 --> 00:20:54,830 Python bolj ali manj ne skrbi. 425 00:20:54,830 --> 00:20:57,496 To je podobno, ali obstaja način, da sem To se lahko spremeni v na vrvici? 426 00:20:57,496 --> 00:20:58,500 Ja, bom to naredil. 427 00:20:58,500 --> 00:21:01,600 In tako bom samo tiskanje, ki ven. 428 00:21:01,600 --> 00:21:03,640 To pomeni, da lahko delati stvari like-- ti 429 00:21:03,640 --> 00:21:06,530 večina trdih delov igre od petnajst let, napisal 430 00:21:06,530 --> 00:21:08,930 Zelo na kratko v Python. 431 00:21:08,930 --> 00:21:11,320 >> Boste videli, da obstaja malo of-- tukaj 432 00:21:11,320 --> 00:21:14,441 Sem vrgel celo število v niz, in moram narediti, da ročno. 433 00:21:14,441 --> 00:21:16,190 In bom dodati je drugemu nizu, 434 00:21:16,190 --> 00:21:17,590 ali drugače Python postane zmeden. 435 00:21:17,590 --> 00:21:19,840 Toda, ali če ste dodajanje niz na celo število, 436 00:21:19,840 --> 00:21:22,630 jaz mislim, da bi dobili celoštevilčnemu nazaj ali niz nazaj? 437 00:21:22,630 --> 00:21:24,480 Ampak še enkrat, če vas le pokličite str na stvar, 438 00:21:24,480 --> 00:21:27,240 in je lahko v katerem koli je to mogoče svet, ki se pretvori v niz, 439 00:21:27,240 --> 00:21:30,390 verjetno bo pretvori v niz. 440 00:21:30,390 --> 00:21:33,120 >> Tukaj vidimo uporabe ugnezdene seznam razumevanje 441 00:21:33,120 --> 00:21:38,690 na levi strani, neke indeksiranje, ki je točno tako, kot bi se navadiš na to, 442 00:21:38,690 --> 00:21:40,060 in nekateri tiskanje stvari. 443 00:21:40,060 --> 00:21:42,560 Spet smo definirani nekateri funkcije in jih pokličem dol 444 00:21:42,560 --> 00:21:45,820 V glavnem, ko smo dejansko dobili datoteko. 445 00:21:45,820 --> 00:21:52,004 povratni deluje točno tako kot si želite pričakujejo od dela z C. Najdi, 446 00:21:52,004 --> 00:21:54,420 bomo lahko ustanovi stvari this-- tukaj je seznam razumevanje 447 00:21:54,420 --> 00:21:59,245 tam je naloga na spremenljivko, in bomo lahko dejansko narediti še lažje. 448 00:21:59,245 --> 00:22:01,870 Mi ne potrebujemo, da napišete iskanje, ker je vgrajen v jeziku 449 00:22:01,870 --> 00:22:04,230 če se bo ta stvar je v tem polju. 450 00:22:04,230 --> 00:22:05,680 Return true, sicer vrne false. 451 00:22:05,680 --> 00:22:08,830 Tako da je celota najdbi. 452 00:22:08,830 --> 00:22:12,230 >> Celota vrste vključuje poziv vrste, 453 00:22:12,230 --> 00:22:15,462 ki is-- obstajajo izvedbe to vgrajeno v nekaterih knjižnicah C. 454 00:22:15,462 --> 00:22:17,170 Če bi to želeli nekako nazaj, vas 455 00:22:17,170 --> 00:22:20,450 lahko preglasijo to izbirno argument v obratnem vrstnem redu z res. 456 00:22:20,450 --> 00:22:23,350 457 00:22:23,350 --> 00:22:27,860 In če želite, da razvrstite skozi strune, ki je vgrajen tudi. 458 00:22:27,860 --> 00:22:31,950 >> Torej, to se ne pomeni, da so ti Stvari, ki jih morate narediti vsak dan, 459 00:22:31,950 --> 00:22:34,280 ampak ideja je, da se ta je filozofija Python, 460 00:22:34,280 --> 00:22:37,530 da vse te stvari, ki jih želite nekako želeli storiti, so vgrajeni. 461 00:22:37,530 --> 00:22:42,410 In večina standardne funkcije, tako nekako, dolžina, karkoli, 462 00:22:42,410 --> 00:22:44,380 podpirati najbolj logično razumno vhod. 463 00:22:44,380 --> 00:22:49,020 Pokličeš len na paleto isti Tako boste klic dol na vrvici. 464 00:22:49,020 --> 00:22:55,785 Vi multiply-- razvrščate strune na enak način, razvrstiti nize. 465 00:22:55,785 --> 00:22:58,930 466 00:22:58,930 --> 00:23:00,740 >> Večina standardne funkcije da ljudje gradijo, 467 00:23:00,740 --> 00:23:03,000 in večina tretjih oseb knjižnic, ki ljudi 468 00:23:03,000 --> 00:23:06,980 graditi, ker oni posnemanju zasnova standardne knjižnice, 469 00:23:06,980 --> 00:23:10,190 lahko pozval vse, ki ste ga kot so, zakaj tega ne samo delo, 470 00:23:10,190 --> 00:23:12,800 v C. Bolj ali manj, da bo delo v Python 471 00:23:12,800 --> 00:23:15,930 ker ljudje delajo v ozadju na sliki kaj stvar je nato deloval 472 00:23:15,930 --> 00:23:17,510 ustrezno nanjo. 473 00:23:17,510 --> 00:23:22,760 Torej še enkrat, tehnično ozadje, ga vendar naredi naše življenje lažje, kot programerji. 474 00:23:22,760 --> 00:23:26,820 >> Torej, tukaj je datoteka I / O. datoteko I / O je veliko malo stvari, zaradi katerih je zapleteno, 475 00:23:26,820 --> 00:23:29,890 in tako obstajajo viri na spletu, ampak na kratko, 476 00:23:29,890 --> 00:23:33,010 pokličete odprta datoteki ime z določenega tipa. 477 00:23:33,010 --> 00:23:37,640 Tako da je branje, branje in pisati, pisati ali dodati. 478 00:23:37,640 --> 00:23:41,790 Bereš določeno število znakov, in tiskate tiste, 479 00:23:41,790 --> 00:23:42,595 boste dobili Pozdravljeni! 480 00:23:42,595 --> 00:23:43,970 Mislim, tako kot je bilo to sliko Pozdravljeni! 481 00:23:43,970 --> 00:23:46,480 V njej, pokličite, da se glasi, in kaj boste dobili nazaj 482 00:23:46,480 --> 00:23:49,520 je niz, ki ima vse preostalega matrike, 483 00:23:49,520 --> 00:23:50,860 ali vsi preostali spisa. 484 00:23:50,860 --> 00:23:53,805 485 00:23:53,805 --> 00:23:56,055 Če klic ponovno prebrati, ste na koncu datoteke, 486 00:23:56,055 --> 00:23:58,138 in tako ne boste dobili karkoli in tako boste zaprete. 487 00:23:58,138 --> 00:24:02,510 Tudi to je .close namesto blizu datoteka, saj bi bilo v C. 488 00:24:02,510 --> 00:24:07,190 To je bolj ali manj, ker f je stvar, in ti bi rad za f zapreti. 489 00:24:07,190 --> 00:24:12,092 Ampak osnovna datoteka I / O ni še posebej zapletena. 490 00:24:12,092 --> 00:24:15,300 Še enkrat, če želite odpreti datoteko, če ti bi rad, da se glasi posebno linijo, 491 00:24:15,300 --> 00:24:17,870 lahko ven zlasti line-- tam zgradili-ins za to. 492 00:24:17,870 --> 00:24:19,995 Če želite napisati stvar, lahko to napisati. 493 00:24:19,995 --> 00:24:23,412 Če želite napisati ven posameznika ugrizi, lahko pišete tiste. 494 00:24:23,412 --> 00:24:25,620 In če bi radi ponovitev več vrstic v datoteki 495 00:24:25,620 --> 00:24:29,557 posamično, kot smo to storili v kosu od pred nekaj tedni, ki jih lahko storite, da. 496 00:24:29,557 --> 00:24:32,140 Again, večina predmetov, ki ste jo želeli, da bi lahko Ponovil več 497 00:24:32,140 --> 00:24:33,780 Podpora iterating nad njimi. 498 00:24:33,780 --> 00:24:37,430 V pitoni, datoteka je morda stvar, ki Želel bi ponoviti čez črto po liniji. 499 00:24:37,430 --> 00:24:39,138 Če je bil angleški besed in sem bil 500 00:24:39,138 --> 00:24:42,181 poskuša priti teh posameznih beseda iz, nato pa v to zanko, 501 00:24:42,181 --> 00:24:44,180 črta, da se dogaja, da se vsaka beseda v zameno in to 502 00:24:44,180 --> 00:24:47,880 se dogaja, da se izvede za vsako vrstico v spisu do konca spisa. 503 00:24:47,880 --> 00:24:52,280 In spet, če sem izpisal vsak linije, linije prihajajo z novimi linijami, 504 00:24:52,280 --> 00:24:54,740 tako da sem nastavitev konec nazaj k stvari, kot je ta. 505 00:24:54,740 --> 00:24:56,580 Potem bi jaz dobil vsebino moje datoteke. 506 00:24:56,580 --> 00:25:03,610 507 00:25:03,610 --> 00:25:07,480 >> Druga stvar, ki deluje v nekaj načinov, kot so seznami, in v nekaterih pogledih 508 00:25:07,480 --> 00:25:11,870 kot nekaj bistveno močnejši, 509 00:25:11,870 --> 00:25:16,170 so slovarji, ki so res kul za uporabo, vendar so v bistvu hash 510 00:25:16,170 --> 00:25:17,670 mize v preobleki. 511 00:25:17,670 --> 00:25:23,330 Ustvarite eno uporabo natančno dva znaka, ki je super 512 00:25:23,330 --> 00:25:25,959 če si se potrudil za izvajanje hash tabela za vaš problem set, 513 00:25:25,959 --> 00:25:27,250 veste veliko bolečine, da se lahko. 514 00:25:27,250 --> 00:25:29,390 Ampak ljudje so naredili jo, in jo naredil tako dobro, 515 00:25:29,390 --> 00:25:32,260 da vam ne bi bilo treba skrbi več. 516 00:25:32,260 --> 00:25:35,180 >> Potem lahko vstavite posamezne stvari. 517 00:25:35,180 --> 00:25:38,110 Hash tables-- ali slovarji ne zlasti 518 00:25:38,110 --> 00:25:40,240 zanima me, kaj ste shranjevanje v njih. 519 00:25:40,240 --> 00:25:44,210 Torej, če so nekateri vnosi številke, in nekateri vnosi so seznami, 520 00:25:44,210 --> 00:25:47,360 če so nekateri vnosi drugih slovarjev, in nekateri vnosi so strune, 521 00:25:47,360 --> 00:25:49,930 Python ne veliko nege. 522 00:25:49,930 --> 00:25:53,460 >> Še enkrat, če greš v to pričakoval niz in kaj dobiš nazaj 523 00:25:53,460 --> 00:25:56,269 je matrika, da je tvoj problem. 524 00:25:56,269 --> 00:25:58,810 In morda je kriv kdorkoli mislil, da je dajanje stvari 525 00:25:58,810 --> 00:26:00,476 v slovarju, morda, da si bil ti. 526 00:26:00,476 --> 00:26:02,350 Če je bil to nekdo, pa, upajmo, da so bili 527 00:26:02,350 --> 00:26:04,520 dobro obnašal o čem se je dogajalo v slovarju 528 00:26:04,520 --> 00:26:07,420 in ni pustil nobenih pasti za vas, da sodijo v. 529 00:26:07,420 --> 00:26:10,890 >> Toda standardne funkcije bo daš nazaj pridni stvari. 530 00:26:10,890 --> 00:26:13,500 Tako pravijo, da se ta vrne nazaj slovar nizov, 531 00:26:13,500 --> 00:26:15,860 potem je vse boste da gremo ven je niz. 532 00:26:15,860 --> 00:26:20,710 Če boste to storili nekaj za to in je bil Ste pripravljeni, dobro, da bi lahko na vas. 533 00:26:20,710 --> 00:26:25,542 Python zagotovo vam daje dovolj Vrv sami visi, če želite. 534 00:26:25,542 --> 00:26:28,250 Zdaj smo lahko natisnete posameznika Elementi ta in ta vrne 535 00:26:28,250 --> 00:26:29,935 točno tisto, kar bi pričakovali. 536 00:26:29,935 --> 00:26:32,810 Točno to, kar ste pričakovali, mislim, je stavek, ki sem z veliko, 537 00:26:32,810 --> 00:26:35,070 ampak to je bolj ali manj kako Python deluje. 538 00:26:35,070 --> 00:26:39,880 Če vprašate za stvar, ki je ne to bo Python vrgel ven napako 539 00:26:39,880 --> 00:26:43,194 in to vas bo nehal iz glede na program, ki ga je bilo v. 540 00:26:43,194 --> 00:26:45,360 To bo dejansko natisnete več informacij kot to, 541 00:26:45,360 --> 00:26:49,110 da bomo točko you-- ga bom dodamo črto, in tako. 542 00:26:49,110 --> 00:26:52,190 >> In spet, morda želimo Ponovil nad slovarji 543 00:26:52,190 --> 00:26:54,410 in najti vse stvari v njem. 544 00:26:54,410 --> 00:26:57,440 Tukaj smo ponavljanjem več dve stvari hkrati. 545 00:26:57,440 --> 00:27:03,040 In zato bomo to storili s ključno, vrednosti, nato pa izpisal vse to. 546 00:27:03,040 --> 00:27:06,300 >> In če smo želeli cast-- če bomo dejansko tekel to, 547 00:27:06,300 --> 00:27:10,840 bi imeli nekaj težav, ker je on-- ko smo šli z Davidom 548 00:27:10,840 --> 00:27:13,920 ni mogla add-- če ne bomo storili najprej vrže v niz, 549 00:27:13,920 --> 00:27:17,802 nismo mogli dodati, da niz nizov, prenese na vrvico. 550 00:27:17,802 --> 00:27:19,760 Ampak, če smo ga vrže k niz, smo dobili nekaj 551 00:27:19,760 --> 00:27:22,590 kot je ta, ki je morda kaj bi radi, da se glasi. 552 00:27:22,590 --> 00:27:27,000 553 00:27:27,000 --> 00:27:30,500 >> In to je Speller. 554 00:27:30,500 --> 00:27:32,460 Pravkar smo prebrali v stvari. 555 00:27:32,460 --> 00:27:35,770 Tako smo lahko prebrali v posamezne besede, kot so črte. 556 00:27:35,770 --> 00:27:38,240 Mi odsekal zadnji stvar, tako debelo črevo minus 1 557 00:27:38,240 --> 00:27:41,651 prežveči off zadnja stvar, ki we-- zadnji znak niza. 558 00:27:41,651 --> 00:27:42,150 Bomo rekli. 559 00:27:42,150 --> 00:27:44,730 OK, vsak od teh dobi vstavljen v tem slovarju, 560 00:27:44,730 --> 00:27:45,810 razporejanja v vrednosti 1. 561 00:27:45,810 --> 00:27:48,006 Ne bomo posebej skrbi, da je eden, 562 00:27:48,006 --> 00:27:51,130 ampak to je samo tam, da reči, oh no, ta stvar bom dal v slovarju. 563 00:27:51,130 --> 00:27:53,182 Ker pozneje, kar smo tekoč storiti, je, da smo 564 00:27:53,182 --> 00:27:55,390 reči, tudi, če je v slovarju sploh. 565 00:27:55,390 --> 00:27:57,650 >> Tudi ta ček za Članstvo je do delovanja 566 00:27:57,650 --> 00:28:00,940 uporabo popolnoma drugačen algoritem, kot da bo na seznamu, 567 00:28:00,940 --> 00:28:05,709 ampak smo ga pokličete na enak način, ki je nekaj tega premaza Python sladkorja 568 00:28:05,709 --> 00:28:07,250 stvari, tako da oni so lažji za uporabo. 569 00:28:07,250 --> 00:28:10,230 In spet smo videli stvari, kot je to prej. 570 00:28:10,230 --> 00:28:12,940 To je v bistvu ugotovili, ali to je povsem enako sintakso 571 00:28:12,940 --> 00:28:16,480 kot najti, vendar deluje več kot popolnoma drugačno strukturo. 572 00:28:16,480 --> 00:28:20,170 In ne bomo posebno skrb. 573 00:28:20,170 --> 00:28:25,540 Torej, to so stvari, ki jih so bile pozvane izvajati za Speller. 574 00:28:25,540 --> 00:28:29,278 Na tej stopnji, bomo dobili bolj ali manj vse psets storiti. 575 00:28:29,278 --> 00:28:31,474 >> OBČINSTVO: Da v bistvu samo pride nazaj 576 00:28:31,474 --> 00:28:34,852 kot nepravilno napisane, če se to ne zgodi ujemajo nekaj v slovarju? 577 00:28:34,852 --> 00:28:36,060 ROSS RHEINGANS-YOO: Ja, ja. 578 00:28:36,060 --> 00:28:38,964 579 00:28:38,964 --> 00:28:40,880 In tako, da je to priredba problem določiti 580 00:28:40,880 --> 00:28:43,150 ki vas vpraša storiti točno to. 581 00:28:43,150 --> 00:28:46,357 >> OBČINSTVO: Zakaj je linija minus 1 tam? 582 00:28:46,357 --> 00:28:48,190 ROSS RHEINGANS-YOO: Torej ko ste ponavljanjem 583 00:28:48,190 --> 00:28:50,300 več kot datoteka, ki prosi za po linije, linije 584 00:28:50,300 --> 00:28:53,900 prihajajo z novo linijo značaja Na koncu it-- minus 1 585 00:28:53,900 --> 00:28:55,260 je samo za nakupovanje tiste off. 586 00:28:55,260 --> 00:28:59,549 In to je predvsem fleksibilna način indeksiranje v stvari. 587 00:28:59,549 --> 00:29:01,590 Torej, če imate niz, in bi radi, dobro sem 588 00:29:01,590 --> 00:29:05,340 bo za začetek na značaj treh in bom šel do konca. 589 00:29:05,340 --> 00:29:07,140 3 colon bo to naredil za vas. 590 00:29:07,140 --> 00:29:10,570 Če ste kot, želim začeti izvajati začenja in pojdite na zadnje minus 1 591 00:29:10,570 --> 00:29:12,400 lik, debelo črevo minus 1. 592 00:29:12,400 --> 00:29:14,940 In če si hotel, da gredo iz Tretji minus prvo, 593 00:29:14,940 --> 00:29:16,570 potem bi rekli 3 minus 1. 594 00:29:16,570 --> 00:29:19,464 595 00:29:19,464 --> 00:29:22,400 >> Poleg tega, če želite, da indeks v stvari, ki štejejo od zadaj, 596 00:29:22,400 --> 00:29:24,470 si indeks s številkami minus. 597 00:29:24,470 --> 00:29:26,980 In ker, kjer C bi eksplodirala ali morda 598 00:29:26,980 --> 00:29:31,090 Vam krme drugo spomin niste imeli dostop do slišite lahko rečete minus 1 599 00:29:31,090 --> 00:29:34,104 pomeni predzadnji 1 znak v nizu. 600 00:29:34,104 --> 00:29:36,950 601 00:29:36,950 --> 00:29:43,590 >> Moduli so version-- so analogov knjižnice v C 602 00:29:43,590 --> 00:29:45,119 in so uporabni za veliko stvari. 603 00:29:45,119 --> 00:29:46,910 Veliko stvari, ki jih želite radi naredili v Python, 604 00:29:46,910 --> 00:29:50,040 poleg preproste manipulacija spremenljivk, 605 00:29:50,040 --> 00:29:52,290 želite, da se zatakne v Večje knjižnice z večjimi 606 00:29:52,290 --> 00:29:55,910 vmesniki in več zmogljivosti za interakcijo 607 00:29:55,910 --> 00:29:57,195 z drugimi deli sveta. 608 00:29:57,195 --> 00:29:58,910 SYS je eden izmed tistih s kopico orodij 609 00:29:58,910 --> 00:30:01,159 ki so uporabni za interakcijo s samega sistema 610 00:30:01,159 --> 00:30:05,050 in ga bo uvozil kot uvoznih sys. 611 00:30:05,050 --> 00:30:07,820 >> Obstaja več dokumentacija iz da, ki bi lahko šla tu, 612 00:30:07,820 --> 00:30:11,490 ali bi lahko našli na Googlu jih googling Python sys. 613 00:30:11,490 --> 00:30:12,640 Vnesete v enter. 614 00:30:12,640 --> 00:30:15,140 Prva povezava se bo dokumentacijo v Python 2, 615 00:30:15,140 --> 00:30:19,260 Drugi povezava bo biti dokumentacija Python 3. 616 00:30:19,260 --> 00:30:24,830 >> In če bomo napisal datoteko, ki je preučevala kot this-- Če je v posebej smo 617 00:30:24,830 --> 00:30:27,910 gledaš, ki delujejo na argumenti v ukazni vrstici, 618 00:30:27,910 --> 00:30:30,040 kot smo se naučili narediti zelo zgodaj v tem razredu. 619 00:30:30,040 --> 00:30:32,190 To ni težko. Lahko ven argv, 620 00:30:32,190 --> 00:30:34,565 ki je ena od tistih stvari ki ga izvaja sys. 621 00:30:34,565 --> 00:30:37,210 To ni vgrajen na baza paket, vendar še enkrat, vas 622 00:30:37,210 --> 00:30:40,080 lahko razširi z uvozom da funkcionalnost iz sys. 623 00:30:40,080 --> 00:30:41,090 Boste to sys pokličite. 624 00:30:41,090 --> 00:30:42,611 karkoli. 625 00:30:42,611 --> 00:30:43,360 Tukaj je argv. 626 00:30:43,360 --> 00:30:45,193 Tam je pravzaprav ni argc v sys, saj vas 627 00:30:45,193 --> 00:30:47,880 To lahko dosežete tako zlahka ga kliče len. 628 00:30:47,880 --> 00:30:55,390 Nato smo tiskani da ven, nato pa smo tekel na naši terminala echo-args.py. 629 00:30:55,390 --> 00:30:58,360 Smo dobili nazaj niz, ki je to prvi argument. 630 00:30:58,360 --> 00:31:02,240 Tudi to je argv 0, ki je ime od stvari, ki sem klical. 631 00:31:02,240 --> 00:31:04,870 Če smo jo imenovali z dodatno argumenti, bi dobili tiste, nazaj. 632 00:31:04,870 --> 00:31:07,687 633 00:31:07,687 --> 00:31:09,770 To je eden od načinov za pridobivanje argumenti v ukazni vrstici. 634 00:31:09,770 --> 00:31:13,440 Če želite zastavami, kjer zavijemo posebne stvari na ali preglasiti 635 00:31:13,440 --> 00:31:16,050 posebno privzeto, argparse je tvoj prijatelj. 636 00:31:16,050 --> 00:31:21,550 In spet vam zdi, da je na spletu na python argparse na Googlu. 637 00:31:21,550 --> 00:31:24,300 >> Obstaja nekaj uporabnost modulov, ki se znajdete uporabo 638 00:31:24,300 --> 00:31:27,630 in še enkrat, če ste porabili koli za ta jezik uvoz jsons 639 00:31:27,630 --> 00:31:33,300 za branje v in iz JSON datoteke, ni tako zapleteno. 640 00:31:33,300 --> 00:31:37,139 Odpreš datoteko, imenovano json.load na to datoteko in se vrneš stvar. 641 00:31:37,139 --> 00:31:37,930 Kaj je to? 642 00:31:37,930 --> 00:31:40,329 To je JSON objekt. 643 00:31:40,329 --> 00:31:42,370 Kadar ima ta json paleto, Python ima nize. 644 00:31:42,370 --> 00:31:44,420 Kadar ta json ima asociativne nize, Python je 645 00:31:44,420 --> 00:31:48,810 slovarji, strune, in številke, in tako naprej. 646 00:31:48,810 --> 00:31:53,560 Hočeš, da smetišče da ven, odpreti novo datoteko, pokličete smetišče, 647 00:31:53,560 --> 00:31:57,590 in obremenitve in odlagališč za gredo v in iz strun. 648 00:31:57,590 --> 00:32:02,120 >> Podobno škripcih gets imenuje v bistvu enak vmesnik. 649 00:32:02,120 --> 00:32:04,740 To je nekoliko bolj koristno, če ste dampinga Python predmetov. 650 00:32:04,740 --> 00:32:08,370 Torej, če ste kdaj želeli, da shranite različica trenutnega stanja 651 00:32:08,370 --> 00:32:11,930 spremenljivke za prihodnost zagnati vašega programa, 652 00:32:11,930 --> 00:32:14,740 škripcih je Python je knjižnica za tem. 653 00:32:14,740 --> 00:32:19,140 >> Če imate kakršno koli spremenljivka, ki se lahko izpisano 654 00:32:19,140 --> 00:32:21,990 v podobnih besed in znakov ter bytes-- kot tega slovarja, 655 00:32:21,990 --> 00:32:24,230 lahko bi zapisali, smo bi ga lahko zapisali kot 656 00:32:24,230 --> 00:32:26,670 kot kodeku json objekta, ki je dobesedno ti znaki. 657 00:32:26,670 --> 00:32:29,420 In potem bi bilo zelo enostavno za človek, da ga odprete up-- odpirati 658 00:32:29,420 --> 00:32:30,889 in ga prebral. 659 00:32:30,889 --> 00:32:33,180 Če nismo posebej skrbi za ljudi branju, 660 00:32:33,180 --> 00:32:38,490 smo lahko paket še bolj učinkovito v obrazce, da bi se kasneje ali razpakiranje 661 00:32:38,490 --> 00:32:42,860 ali pa, da bi kasneje lahko napihnjena. 662 00:32:42,860 --> 00:32:46,740 In to shrani v višini 80% prostor, da se vaši predmeti morda 663 00:32:46,740 --> 00:32:49,390 sprejmejo, če jih napisal longhand. 664 00:32:49,390 --> 00:32:52,384 >> Pokličete škripcih zelo enako way-- smetišče, obremenitev, 665 00:32:52,384 --> 00:32:53,800 in potem boste dobili svoje stvari nazaj. 666 00:32:53,800 --> 00:32:56,880 Torej, če ste zelo pisno kratki programi Python, ki 667 00:32:56,880 --> 00:32:59,952 želite shraniti stanje, nato pa preberite jim kasneje, stvari, kot je ta 668 00:32:59,952 --> 00:33:00,660 so tvoji prijatelji. 669 00:33:00,660 --> 00:33:02,640 Da si lahko zelo jih enostavno smetišče kot JSON. 670 00:33:02,640 --> 00:33:04,550 Večina Python predmeti Lahko smetišče ven JSON 671 00:33:04,550 --> 00:33:11,310 če obstaja kakšno upanje, da je strukturno jih lahko zastopane na ta način. 672 00:33:11,310 --> 00:33:14,410 >> To so samo vrh izmed iceberg na module, ki so koristni. 673 00:33:14,410 --> 00:33:19,510 Torej sys, os, Večkratni, so vrsta osnovnih kmečki konji za stvari 674 00:33:19,510 --> 00:33:23,120 moramo interakcijo z OS datotečni sistem., 675 00:33:23,120 --> 00:33:28,764 kot os.isfile, os.isdirectory, os.makefile, to so tvoji prijatelji. 676 00:33:28,764 --> 00:33:30,930 Če želite interakcijo z določeno vrsto datoteke, 677 00:33:30,930 --> 00:33:32,190 json, škripcih, csv. 678 00:33:32,190 --> 00:33:37,160 Če želite interakcijo s spleta Strani se urllib za pridobivanje http 679 00:33:37,160 --> 00:33:41,370 strani. bs4-- BeautifulSoup-- to je čudovito razčlenjevalnik za html. 680 00:33:41,370 --> 00:33:47,047 Jo vodijo na html in vami dobili te ugnezdene matrike predmeta zdaj, 681 00:33:47,047 --> 00:33:49,630 ki lahko prečkala čez gledaš, s podobno samo iščejo 682 00:33:49,630 --> 00:33:52,380 če je, je, in, kar je fantastično. 683 00:33:52,380 --> 00:33:55,920 >> Tam je kup paketi za running-- 684 00:33:55,920 --> 00:33:57,960 za to posebej MATHY stvari. 685 00:33:57,960 --> 00:34:01,790 Torej, če želite, da se množijo, obrnemo, preoblikovanje matrike, 686 00:34:01,790 --> 00:34:05,690 numpy se ljudje vse uporabljajo po svetu za to. 687 00:34:05,690 --> 00:34:09,620 scipy je še bolj uporabna orodja v tej smeri. 688 00:34:09,620 --> 00:34:13,980 sklearn-- učenje stroj, naravna obdelava jezika, 689 00:34:13,980 --> 00:34:17,880 super uporabna stvar, dobi izvajajo v Python ves čas. 690 00:34:17,880 --> 00:34:21,469 >> In spet, nekoliko traja dlje write-- žal, 691 00:34:21,469 --> 00:34:26,199 nekoliko dlje traja, da teče, vendar Razlog, da je resnični inženirji ponavadi 692 00:34:26,199 --> 00:34:29,900 Uporaba Python je zato, ker ste nagnjeni k biti blokiran na vas pisno kodo, ne 693 00:34:29,900 --> 00:34:32,699 kot v računalniku teče kodo. 694 00:34:32,699 --> 00:34:35,860 Torej, če ste tekoč napisati Program, ki se veliko drugih ljudi 695 00:34:35,860 --> 00:34:37,699 se bo uporaba večno, kot je Linux, 696 00:34:37,699 --> 00:34:41,900 Morda ga napisali v C. Če ste bili dogaja, da napišete računanja motor, 697 00:34:41,900 --> 00:34:46,124 boste morda napisali v Python, če je potrebno da ga spreminjajo vsakih nekaj mesecev. 698 00:34:46,124 --> 00:34:48,540 Nekateri ljudje bi ga napisal v C ker oni tako. 699 00:34:48,540 --> 00:34:51,100 700 00:34:51,100 --> 00:34:54,050 >> Tako smo videli uvoznih sys kot način za pridobivanje stvari 701 00:34:54,050 --> 00:34:57,070 pridobivanje modul v vašem programu. 702 00:34:57,070 --> 00:35:00,370 Prav tako ga lahko uvozite kot vzdevek, če želite. 703 00:35:00,370 --> 00:35:03,660 Spet Multiprocesorski je bolečina tip ven vsakič, tako uvoz kot mp 704 00:35:03,660 --> 00:35:05,900 in nato kadarkoli jo uporabite v programu, 705 00:35:05,900 --> 00:35:09,732 boste rekli mp.process, ali tisto, kar imate. 706 00:35:09,732 --> 00:35:12,670 Če želite uvoz samo eno stvar, 707 00:35:12,670 --> 00:35:19,450 tako urllib ima stvar imenovano Zahteva, tako da lahko samo uvoz, ki. 708 00:35:19,450 --> 00:35:22,610 Kasneje, ga ne bo uveljavljala kot urllib.request, ampak le kot zahtevo 709 00:35:22,610 --> 00:35:24,590 sama po sebi. 710 00:35:24,590 --> 00:35:30,110 >> In lahko uvozite vse od modula, če želite. 711 00:35:30,110 --> 00:35:34,820 To je včasih ni dobra idea-- to ponavadi ni dobra ideja, pravzaprav. 712 00:35:34,820 --> 00:35:39,080 Ker ste very-- ker če karkoli V tem modulu je ime, ki ga 713 00:35:39,080 --> 00:35:41,640 hotel uporabiti nekje drugje v vašem programu, ne moreš. 714 00:35:41,640 --> 00:35:44,127 >> In to ni vedno očitna da je temu tako. 715 00:35:44,127 --> 00:35:46,460 Da bi zagotovili, da kaj ste počeli, je bilo varno, 716 00:35:46,460 --> 00:35:47,920 morate odpreti modul in videli vsi 717 00:35:47,920 --> 00:35:50,295 imen, ki končajo v there-- vse funkcije, 718 00:35:50,295 --> 00:35:53,010 vse spremenljivke ki živijo v tem modulu, 719 00:35:53,010 --> 00:35:57,040 ker ste prinaša vse jim v vaši lokalni imenski prostor. 720 00:35:57,040 --> 00:35:58,680 >> Torej ljudje to storijo. 721 00:35:58,680 --> 00:36:01,322 Na splošno je priporočljivo da tega ne boste storili. 722 00:36:01,322 --> 00:36:03,280 Ampak ljudje to storite vse čas, ker oni 723 00:36:03,280 --> 00:36:05,180 leni in ne želite, da tip out mp. 724 00:36:05,180 --> 00:36:06,310 kaj, kdaj. 725 00:36:06,310 --> 00:36:09,560 726 00:36:09,560 --> 00:36:13,310 >> Vse to govorjenje o modulih mi prinese okoli na kratek pogovor 727 00:36:13,310 --> 00:36:15,930 o tem, kako si oblikovati programe v Python. 728 00:36:15,930 --> 00:36:19,860 Prvi korak je, da preverite, če kdorkoli je že narejeno stvar, 729 00:36:19,860 --> 00:36:22,160 ali naredil 90% stvari. 730 00:36:22,160 --> 00:36:26,010 Verjetno so verjetno imeli, in si bi morala iti dobili svojo stvar in vodijo to. 731 00:36:26,010 --> 00:36:28,900 Ali pisati ovoj okoli njega da jo prilagodi svojim namenom. 732 00:36:28,900 --> 00:36:31,250 Šele po tem ima ni uspelo, da si boš potem 733 00:36:31,250 --> 00:36:35,529 iti naprej in write-- začeli razmišljati o kako bi si dal to stvar skupaj. 734 00:36:35,529 --> 00:36:37,320 Tam je veliko stvari tam, in to je 735 00:36:37,320 --> 00:36:39,180 eden izmed najbolj uporaben stvari o Python. 736 00:36:39,180 --> 00:36:40,930 Tako kot je jezik eleganten, jezik 737 00:36:40,930 --> 00:36:43,800 Je enostaven za uporabo, temveč tudi zaradi to je tako elegantna in enostavna za uporabo, 738 00:36:43,800 --> 00:36:47,420 ljudje so jo uporabi za nekaj dolgo časa in tam je veliko stvari 739 00:36:47,420 --> 00:36:52,520 tam zunaj, ki lahko izkoristiti za svojo lastno uporabo. 740 00:36:52,520 --> 00:36:58,457 >> Torej zadnje pravilo Python je nekdo ostalo je že verjetno napisal 741 00:36:58,457 --> 00:37:00,290 modul za to, nekdo drug je že 742 00:37:00,290 --> 00:37:02,980 verjetno napisal knjižnico za to. 743 00:37:02,980 --> 00:37:06,579 Preden poskusite narediti stvar, poglej da vidim, če je bil izveden. 744 00:37:06,579 --> 00:37:07,370 Saj ni tako težko. 745 00:37:07,370 --> 00:37:11,960 Vsi moduli, ki sem dal gor pred, z morda eno izjemo, 746 00:37:11,960 --> 00:37:15,220 prihajajo vnaprej nameščen v vsakem standardna vgradnja Python. 747 00:37:15,220 --> 00:37:17,769 In tako s pozivom za uvoziti karkoli, vas 748 00:37:17,769 --> 00:37:19,852 imajo vse te funkcionalnosti na dosegu roke. 749 00:37:19,852 --> 00:37:24,660 750 00:37:24,660 --> 00:37:28,920 >> Začetek zaviti up to Pogovor, obstaja nekaj stvari, 751 00:37:28,920 --> 00:37:32,770 da sem zapustil kot črnih skrinjic in nekako prezrli, 752 00:37:32,770 --> 00:37:37,217 in tam je malo belo leži da sem povedal, da zaradi poštenosti, 753 00:37:37,217 --> 00:37:39,050 Bom vsaj točki tukaj, tudi če ne bom 754 00:37:39,050 --> 00:37:43,980 iti zelo globoko v vse izmed njih in njihove tehnične pojasnila. 755 00:37:43,980 --> 00:37:46,010 >> Veliko stvari da sem poklical magija 756 00:37:46,010 --> 00:37:48,980 je tisto, kar bi drugi ljudje pravijo objektno usmerjenega programiranja. 757 00:37:48,980 --> 00:37:52,470 Torej obstaja veliko things-- tako spremenljivke so zelo pogosto ne 758 00:37:52,470 --> 00:37:56,540 preprostih bajtov sedel, pomnilnik, vendar so zelo zapletena 759 00:37:56,540 --> 00:38:01,910 predmeti, ki imajo notranje Stanje o funkcijah in veliko 760 00:38:01,910 --> 00:38:05,570 od skritih spremenljivk, veliko skrito funkcionalnost, ki 761 00:38:05,570 --> 00:38:09,480 si upamo jih spremenili v strune, ki vam omogoča ponovitev nad njimi. 762 00:38:09,480 --> 00:38:12,260 In če ste writing-- in razlog, da so 763 00:38:12,260 --> 00:38:15,710 imajo vse te bogate funkcionalnosti je zato, ker so people-- 764 00:38:15,710 --> 00:38:17,740 arhitektov language-- so odšli 765 00:38:17,740 --> 00:38:22,420 skozi in za vsakega standarda objekt, dal v funkcionalnosti 766 00:38:22,420 --> 00:38:26,970 reči, da je to, kako je to kako se to dogaja, da deluje 767 00:38:26,970 --> 00:38:28,470 če nekdo želi ponoviti nad njim. 768 00:38:28,470 --> 00:38:31,240 >> Torej je vse, da bi nekdo morda želite ponoviti čez, 769 00:38:31,240 --> 00:38:34,529 je logika napisana v Ročno o tem, kako ste 770 00:38:34,529 --> 00:38:36,070 naj bi Ponovil nad tem predmetom. 771 00:38:36,070 --> 00:38:40,274 Vse, kar bi morda želeli odvrgli v nizu je logika napisal. 772 00:38:40,274 --> 00:38:43,440 To je funkcija, da pokličete, če želite to smetišče ven na vrvici. 773 00:38:43,440 --> 00:38:45,273 To je razlog, zakaj si lahko pokličite len na stvari, to 774 00:38:45,273 --> 00:38:49,900 Zato lahko pokličete v, to je Zato lahko pokličete, če v na vse 775 00:38:49,900 --> 00:38:53,490 da bi si želeli, saj tiste vsi prevažajo z njimi, 776 00:38:53,490 --> 00:38:55,380 tehnično znanje, kako to storiti. 777 00:38:55,380 --> 00:38:58,170 778 00:38:58,170 --> 00:39:00,432 >> To je nekaj, kar sem super, ne bo šel v. 779 00:39:00,432 --> 00:39:03,140 Ampak za stvar na seznamu je subtilno drugačen od C stilu za zank, 780 00:39:03,140 --> 00:39:06,160 in si lahko preberete vse o tem na internet, če ste zainteresirani. 781 00:39:06,160 --> 00:39:08,930 Obstaja temna stran vsem to, da sem omenjeno, 782 00:39:08,930 --> 00:39:10,359 tako da je dve stvari. 783 00:39:10,359 --> 00:39:13,400 Prvi je, da je ta predmet usmerjen programiranje dodaja veliko režijske 784 00:39:13,400 --> 00:39:16,080 na naključne stvari, tako da boste na koncu z uporabo veliko več pomnilnika; 785 00:39:16,080 --> 00:39:18,640 boste na koncu z uporabo malo bolj časa, kot bi jo sicer. 786 00:39:18,640 --> 00:39:21,300 Other-- ampak bolj zahrbtna temna stran tega 787 00:39:21,300 --> 00:39:24,047 je, če stvari preprosto delujejo kot si jih želijo 788 00:39:24,047 --> 00:39:27,130 ne da bi morali razmišljati super trd o tem, ali bi to morala biti int 789 00:39:27,130 --> 00:39:29,713 ali pa mora obstajati float, bi bilo, da se je tukaj 790 00:39:29,713 --> 00:39:34,240 ste proizvajajo int ampak tukaj ste mislim, vendar jih bomo always-- žal, 791 00:39:34,240 --> 00:39:36,555 je morda, da je bilo tukaj ste izdelavo plovec, 792 00:39:36,555 --> 00:39:39,430 ampak, ko prideš na drugi del vašega programa, si mislil, 793 00:39:39,430 --> 00:39:41,150 oh no, ampak jih bomo mi vedno opraviti int. 794 00:39:41,150 --> 00:39:43,608 In če ne, je mogoče da ste klinasta nekje, 795 00:39:43,608 --> 00:39:47,600 Če boste poskušali uporabiti, da bi kazalo v array, ali tisto, kar imate. 796 00:39:47,600 --> 00:39:51,050 >> Torej eden pravi uporabne stvari o C je 797 00:39:51,050 --> 00:39:54,219 da vas prisili, da res misliš Težko preden naredite any-- 798 00:39:54,219 --> 00:39:56,510 preden prinese kakršne koli spremenljivko začel delovati, kot je tisto, 799 00:39:56,510 --> 00:39:58,764 je vrsta te spremenljivke. 800 00:39:58,764 --> 00:40:00,680 In to se dogaja, da imajo da je tip za vse večne čase. 801 00:40:00,680 --> 00:40:02,410 >> To ni res, Python, in v resnici, 802 00:40:02,410 --> 00:40:04,740 can-- če ste pravkar nekako gredo po posluhu, 803 00:40:04,740 --> 00:40:07,690 in naredite nekaj odločitev eden od načinov, na enem mestu, 804 00:40:07,690 --> 00:40:09,870 in nekatere odločitve ena Način, na drugem mestu 805 00:40:09,870 --> 00:40:12,960 ne da bi dovolj stvari za sabo prizori na drugem mestu 806 00:40:12,960 --> 00:40:16,170 pravilno ujeti stvari, ki jih lahko dobite nekaj zelo čudnih napak. 807 00:40:16,170 --> 00:40:19,200 In program lahko vodijo delovanje zelo dolgo časa, saj je 808 00:40:19,200 --> 00:40:23,200 delaš veliko dela reči, dobro ta stvar lahko deluje na ta način, 809 00:40:23,200 --> 00:40:25,070 tako da bom teči v tisto smer. 810 00:40:25,070 --> 00:40:30,300 >> In v resnici, je dejstvo, da potisne naj skozi veliko manjših napak 811 00:40:30,300 --> 00:40:33,260 pomeni, da pogosto, ko Napaka je pravzaprav slaba 812 00:40:33,260 --> 00:40:38,720 in ti dejansko želijo, da to popravimo, se konča milj away-- programa 813 00:40:38,720 --> 00:40:41,780 konča ustavitev milj od takrat, ko ste imeli svojo napako. 814 00:40:41,780 --> 00:40:46,590 In tako je ena stvar, ki bi radi Programi za početi, sometimes-- eno stvar 815 00:40:46,590 --> 00:40:48,910 da bi radi programe storiti, ko smo debugging 816 00:40:48,910 --> 00:40:54,160 je ne glasno in ne zelo hitro, če gre kaj narobe. 817 00:40:54,160 --> 00:40:55,510 >> Python je zelo slaba pri tem. 818 00:40:55,510 --> 00:40:58,820 Python je zelo dobro, ne ni in vozni naprej 819 00:40:58,820 --> 00:41:00,320 skozi nepričakovane stvari. 820 00:41:00,320 --> 00:41:02,820 Torej je to uporabno, če pišete majhne programe. 821 00:41:02,820 --> 00:41:07,110 Ko prideš zapleteno bugs včasih 822 00:41:07,110 --> 00:41:09,300 traja dolgo časa, da jih draži ven. 823 00:41:09,300 --> 00:41:12,210 >> Torej obstaja temna stran za vse od tega, kot da preprosto deluje. 824 00:41:12,210 --> 00:41:13,860 Preprosto deluje, kot ste pričakovali, da. 825 00:41:13,860 --> 00:41:18,320 Razen tega, da, ko se to ne zgodi, boste na koncu v popolnoma drugo mesto 826 00:41:18,320 --> 00:41:21,530 in poskuša ugotoviti, kje je bilo, da si je šlo narobe. 827 00:41:21,530 --> 00:41:25,180 >> Zbiranje smeti tako is-- ena stvar, ki jo boste opazili 828 00:41:25,180 --> 00:41:28,110 je, da je kateri koli od teh stvari, ki Prinesel sem v existence-- 829 00:41:28,110 --> 00:41:34,114 Ti nizi, ti slovarji, ti predmeti, ti files-- se nikoli osvobodili. 830 00:41:34,114 --> 00:41:36,030 Ni bilo klic prosti kateremkoli to talk. 831 00:41:36,030 --> 00:41:40,340 In da je na strani-C, ker ne bomo nikoli dobili v teh stvareh. 832 00:41:40,340 --> 00:41:42,220 >> Toda v Python-strani, ni svoboden. 833 00:41:42,220 --> 00:41:43,970 Stvari se samodejno sprostil, ko Python 834 00:41:43,970 --> 00:41:45,386 misli, da si ne gledamo na njih. 835 00:41:45,386 --> 00:41:49,640 To je res dober ni sprostitev stvari, ki boste morda še vedno lahko gledaš, 836 00:41:49,640 --> 00:41:54,262 vendar to pomeni, da če ste bili bo dodelila to velika stvar, 837 00:41:54,262 --> 00:41:55,970 in ste kot, oh Jaz sem naredil z njim zdaj, 838 00:41:55,970 --> 00:42:00,360 je težko povedati, Python da ste končali z njo zdaj. 839 00:42:00,360 --> 00:42:02,986 >> Včasih lahko nastavite da spremenljivka biti nobeden, 840 00:42:02,986 --> 00:42:05,110 in potem upam, da sčasoma pobiranje smeti 841 00:42:05,110 --> 00:42:06,720 prihaja skozi in ga počisti. 842 00:42:06,720 --> 00:42:10,177 Ampak še enkrat, ne boste imeti nadzor nad tem. 843 00:42:10,177 --> 00:42:13,510 In eden od razlogov, da ljudje uporabljajo C za res predstava kritične stvari, 844 00:42:13,510 --> 00:42:16,570 je to sposobnost, da res veš, kdaj je pomnilnik dodeljen 845 00:42:16,570 --> 00:42:19,369 in ko je to osvobojeni, in imajo veliko nadzora nad rekel, 846 00:42:19,369 --> 00:42:20,910 Jaz sem z ne več pomnilnika, kot rabim. 847 00:42:20,910 --> 00:42:23,632 Kar je nekaj, Python je ne da veliko na. 848 00:42:23,632 --> 00:42:25,090 OBČINSTVO: Vas lahko nekaj vprašam? 849 00:42:25,090 --> 00:42:29,800 Kaj ste mislili s ne glasno? 850 00:42:29,800 --> 00:42:32,070 >> ROSS RHEINGANS-YOO: Torej, če Nekaj ​​je šlo narobe 851 00:42:32,070 --> 00:42:34,950 in ste v debugging Način, bi si zelo pogosto 852 00:42:34,950 --> 00:42:38,510 želite, da vaš program, da vam povem, kje pa je šlo narobe, 853 00:42:38,510 --> 00:42:42,360 in ne samo tiho prenehali prikazovati. 854 00:42:42,360 --> 00:42:45,085 Vendar pa bi dejansko bilo za tiskanje iz vseh vrst informacij o 855 00:42:45,085 --> 00:42:46,972 podobno, tukaj je bilo to. 856 00:42:46,972 --> 00:42:53,957 To se je zgodilo Če tiskate wen-- če delate spletno server-- 857 00:42:53,957 --> 00:42:55,390 >> OBČINSTVO: [neslišno] 858 00:42:55,390 --> 00:42:59,800 >> ROSS RHEINGANS-YOO: Ja, če ste teče spletni strežnik, 859 00:42:59,800 --> 00:43:02,680 je včasih slabo, če ste vedno zavržemo napak, 860 00:43:02,680 --> 00:43:04,530 in pravite, dobro, da ni delovalo. 861 00:43:04,530 --> 00:43:05,300 Grem ustaviti. 862 00:43:05,300 --> 00:43:07,680 Jaz sem le, da bo prezreti je in nadaljuj naprej. 863 00:43:07,680 --> 00:43:11,260 Ker potem lahko dobiš na stotine teh napak in jih ne vidim. 864 00:43:11,260 --> 00:43:13,910 >> Vsekakor bi bilo koristno za namene debugging 865 00:43:13,910 --> 00:43:20,327 če je vsakič, ko vaš spletni strežnik vložen napake, ki jih je imela trajno evidenco o tem. 866 00:43:20,327 --> 00:43:22,910 Morda boste celo želeli program ustaviti, tako da ti zapisi 867 00:43:22,910 --> 00:43:25,471 Ne dobijo pokopan pod stvari. 868 00:43:25,471 --> 00:43:26,970 Ampak še enkrat, da je v načinu debugging. 869 00:43:26,970 --> 00:43:31,280 >> Pogosto v načinu proizvodnje, svet je malo drugačna. 870 00:43:31,280 --> 00:43:36,380 In v majhnih skripte, tečem, če je stvar, ki mi je dejal, da storijo 871 00:43:36,380 --> 00:43:40,680 morda samo malo off od tistega, kar bi rad to storiti, 872 00:43:40,680 --> 00:43:44,010 potem nekako potiska skozi Napake je nekaj, kar boste morda želeli. 873 00:43:44,010 --> 00:43:49,410 In v teh primerih vsekakor Python res zasluži svoje začne. 874 00:43:49,410 --> 00:43:54,617 >> Zadnja stvar, da nisem govoril V this--, da nisem govoril o 875 00:43:54,617 --> 00:43:57,700 vendar je lahko zelo razburja prvi Čas imate eno od teh napak, 876 00:43:57,700 --> 00:44:00,491 in drugi in tretji in četrti Čas imate enega teh napak. 877 00:44:00,491 --> 00:44:03,490 Python, sem omenil da uporablja bel prostor 878 00:44:03,490 --> 00:44:06,700 da vam povem, kaj raven zamika in kaj funkcionalni blok ste v, 879 00:44:06,700 --> 00:44:08,840 ravna zavihke in prostore drugače. 880 00:44:08,840 --> 00:44:12,780 Torej, če ste zavihek čez štiri, nato pa naslednja vrstica ima štiri prostore, 881 00:44:12,780 --> 00:44:16,910 tudi če se pokažejo kot enak znesek v vašem urejevalniku, 882 00:44:16,910 --> 00:44:20,160 Python jim ne obravnavajo enako. 883 00:44:20,160 --> 00:44:23,610 >> Dejstvo je, Python obravnava jezičke in prostori, kot olje in voda. 884 00:44:23,610 --> 00:44:25,050 So samo različni stvari. 885 00:44:25,050 --> 00:44:27,264 Ni zlasti Dolžina, da je jeziček 886 00:44:27,264 --> 00:44:30,180 tako da to ni všeč zavihek enaka 8 prostori, in tako bi dobili okoli njega 887 00:44:30,180 --> 00:44:30,860 na ta način. 888 00:44:30,860 --> 00:44:34,110 Všeč, ko pravi, kaj Raven belega prostora sem na, 889 00:44:34,110 --> 00:44:37,240 je pravzaprav išče vzorec prostorov in zavihkov. 890 00:44:37,240 --> 00:44:43,050 In tako, je najboljši način, da se ukvarjajo s tem je, da vedno uporabljajte presledkov ves čas. 891 00:44:43,050 --> 00:44:47,510 >> In v resnici, v Cloud9 IDE in CS50 IDE, 892 00:44:47,510 --> 00:44:50,610 Vaše ključne Tab vložki štirje prostori, v namesto 893 00:44:50,610 --> 00:44:53,800 iz kartici, ki je super uporabna. 894 00:44:53,800 --> 00:44:57,074 Čeprav še enkrat, če si napisal Python Program z zavihki, da bi bilo fino, 895 00:44:57,074 --> 00:44:58,990 to je samo, če nekdo šel in poskušal dodati 896 00:44:58,990 --> 00:45:02,655 ena vrstica za vaš program, ki imela štiri prostore za vsako kartico, 897 00:45:02,655 --> 00:45:03,280 da bi prekinil. 898 00:45:03,280 --> 00:45:07,800 In bi pretrga na način, da res ni viden. 899 00:45:07,800 --> 00:45:12,390 Čeprav dejansko napake Sporočilo, ki ga meče 900 00:45:12,390 --> 00:45:15,610 ima opraviti z novo zamakniti ni pričakovati tukaj, 901 00:45:15,610 --> 00:45:18,700 or-- če govorijo alinej in izgleda, da je narobe, 902 00:45:18,700 --> 00:45:22,090 je to verjetno zato, ker tam je zavihek prostor problem. 903 00:45:22,090 --> 00:45:24,154 Še vedno razburja debug. 904 00:45:24,154 --> 00:45:26,070 Največji celoti v ta pogovor, ki ga nisem 905 00:45:26,070 --> 00:45:29,740 priti, ker je res zapleten, subtilna tema 906 00:45:29,740 --> 00:45:34,760 in ni bilo treba storiti vse stvari tako daleč, da smo naredili, 907 00:45:34,760 --> 00:45:37,140 so koncept imenovan torke. 908 00:45:37,140 --> 00:45:41,280 So pa zelo všeč nizi, ki jih ne morete spremeniti. 909 00:45:41,280 --> 00:45:44,700 Ti se uporabljajo po vsem mestu, saj so uporabni za veliko stvari 910 00:45:44,700 --> 00:45:46,300 da so nizi niso uporabni za. 911 00:45:46,300 --> 00:45:49,890 >> Toda, če želite, da bi array, in potem pa obljubim, tolmač, ki vas 912 00:45:49,890 --> 00:45:53,140 se nikoli ne bodo želeli spremeniti, da thing-- v resnici, če želite spremeniti, 913 00:45:53,140 --> 00:45:56,800 boste narediti novega z novo Vrednosti v it-- teh so torke. 914 00:45:56,800 --> 00:45:58,800 Namesto izdelave jim z oglatimi oklepaji, 915 00:45:58,800 --> 00:46:00,341 jih proizvajajo v okroglih oklepajih. 916 00:46:00,341 --> 00:46:05,074 Zakaj bi uporabili te stvari, je malo vprašanje. . 917 00:46:05,074 --> 00:46:06,990 Edina stvar, ki jo bom povedati o, da je vas 918 00:46:06,990 --> 00:46:10,680 Lahko uporabite zapise, kot Indeksi za slovarjih. 919 00:46:10,680 --> 00:46:15,010 Ne morete uporabljati nizi kot Indeksi za slovarjih. 920 00:46:15,010 --> 00:46:18,970 In zakaj je, še enkrat, tehnično in Ne bom teči v to. 921 00:46:18,970 --> 00:46:23,140 >> Pset da nisem dotaknil o tem govori je pset6. 922 00:46:23,140 --> 00:46:25,837 Torej, tukaj je, kako si "D izvajati a-- tukaj 923 00:46:25,837 --> 00:46:28,140 kako bi se izvajala pset6 v Python. 924 00:46:28,140 --> 00:46:32,680 Vodenje v mislih Python Oblikovanje cikel, je prva stvar, 925 00:46:32,680 --> 00:46:34,760 da boste to storili, ko ste pisanje programov je preverjanje 926 00:46:34,760 --> 00:46:38,030 da vidim, če je kdo to že naredil. 927 00:46:38,030 --> 00:46:42,152 >> V bistvu, če hočeš da serve-- Apache 50 928 00:46:42,152 --> 00:46:44,110 pa približno to, razen, da ne pride 929 00:46:44,110 --> 00:46:45,840 standardno nameščen na Linux strojih. 930 00:46:45,840 --> 00:46:50,490 Python počne, in Python preprosta http strežnik počne, kot dobro. 931 00:46:50,490 --> 00:46:54,717 Če ste kdaj na Linux stroj, ali Cloud9 IDE izven CS50 932 00:46:54,717 --> 00:46:57,550 in bi radi, da služi ta tok imenik določenem pristanišču, 933 00:46:57,550 --> 00:47:04,610 python-m SimpleHTTPServer port služi to. 934 00:47:04,610 --> 00:47:07,190 Prav tako lahko uvozite preprost http strežnik 935 00:47:07,190 --> 00:47:11,240 in to je dobil veliko funkcionalnosti, če jo želite prilagoditi, ali pa ga spremeni, 936 00:47:11,240 --> 00:47:15,860 ali se izvajajo it-- jo izkoristimo za teči svoj strežnik storitve. 937 00:47:15,860 --> 00:47:18,032 >> Tako da je Python na kratko. 938 00:47:18,032 --> 00:47:20,280 In je bilo to CS50. 939 00:47:20,280 --> 00:47:21,980 Hvala. 940 00:47:21,980 --> 00:47:23,468