1 00:00:00,000 --> 00:00:05,426 2 00:00:05,426 --> 00:00:06,800 ROSS RHEINGANS-YOO: Bok, ja sam Ross. 3 00:00:06,800 --> 00:00:08,570 A to je CS50 seminar. 4 00:00:08,570 --> 00:00:12,100 To će vas odvesti iz programiranja u C do programiranja u Pythonu. 5 00:00:12,100 --> 00:00:15,120 >> Python je skriptni jezik. 6 00:00:15,120 --> 00:00:17,870 To je u velikoj mjeri kao C u sintaksi, iako su neki 7 00:00:17,870 --> 00:00:20,390 tehničkih pojedinosti kako je sintaksa dobiva izvršen 8 00:00:20,390 --> 00:00:22,240 su malo drugačiji. 9 00:00:22,240 --> 00:00:24,780 To je manje snažan nego C na neki način. 10 00:00:24,780 --> 00:00:28,130 To je manje izražajni za gdje točno u računalu 11 00:00:28,130 --> 00:00:30,030 memorija dobiva iznio, kako to biva izložena, 12 00:00:30,030 --> 00:00:32,030 kad se dobiva slobodu i one vrste stvari. 13 00:00:32,030 --> 00:00:36,150 >> To je više koristan nego C, na neki način, zato što je lakše programirati u. 14 00:00:36,150 --> 00:00:39,920 Jezik je, na neki ljudi, više intuitivan. 15 00:00:39,920 --> 00:00:44,820 I doista, cilj je za da bude brži programirati 16 00:00:44,820 --> 00:00:46,490 i potencijalno sporije izvršiti. 17 00:00:46,490 --> 00:00:48,198 >> Sada, ako mislite o tome količina vremena 18 00:00:48,198 --> 00:00:50,514 ste potrošili na svoj posljednji Problem postaviti pisanje 19 00:00:50,514 --> 00:00:52,430 Vaš broj u odnosu na količinu vremena ćete potrošiti 20 00:00:52,430 --> 00:00:55,310 na svom posljednjem problemu postavite izvršavanju svoj kôd, 21 00:00:55,310 --> 00:00:58,300 da bih zamisliti da jezik što je dvostruko brže pisati, 22 00:00:58,300 --> 00:01:02,170 i dvostruko sporo izvršavanje, možda biti napredak u odnosu C na neki način. 23 00:01:02,170 --> 00:01:05,730 Dakako, kada pokušavate napisati mali programi raditi sitnice, 24 00:01:05,730 --> 00:01:08,520 Python je koristan jezik izbora. 25 00:01:08,520 --> 00:01:10,620 >> I na kraju ove Seminar, nadam se da ćete 26 00:01:10,620 --> 00:01:12,950 biti u mogućnosti kako bi se izbor u budućim projektima 27 00:01:12,950 --> 00:01:17,710 o kojima jezik točno koristiti, a ne ideja 28 00:01:17,710 --> 00:01:21,405 da je jedan jezik više ispraviti sve vrijeme. 29 00:01:21,405 --> 00:01:23,030 Nekoliko stvari o tome što se seminar je. 30 00:01:23,030 --> 00:01:25,910 Seminar ne namjerava naučiti Python od nule. 31 00:01:25,910 --> 00:01:28,310 Python je vrlo sličan na C, a ja sam uz pretpostavku 32 00:01:28,310 --> 00:01:34,056 da ste CS50 student, ili netko sa sličnim poznavanje C 33 00:01:34,056 --> 00:01:36,700 >> Ako ste CS50 student oko problema set 6, 34 00:01:36,700 --> 00:01:38,866 tako da ste vidjeli puno stvari u C, ja ću vam dati 35 00:01:38,866 --> 00:01:40,740 velike razlike, a neke od stvari 36 00:01:40,740 --> 00:01:42,840 da bi Python različit a posebno i korisno, 37 00:01:42,840 --> 00:01:45,256 ali neću ići što je programski jezik je 38 00:01:45,256 --> 00:01:46,920 i kako pisati programe. 39 00:01:46,920 --> 00:01:49,820 Međutim, ovaj seminar će učiti da pisati Python programa 40 00:01:49,820 --> 00:01:52,310 Ako ste jedan od onih rijetkih skupina. 41 00:01:52,310 --> 00:01:54,820 Opet ćemo pogledati kako ti bi provesti psets-- 42 00:01:54,820 --> 00:01:57,550 koja treba biti 1-6 Python-- i pružaju smjernice 43 00:01:57,550 --> 00:02:00,322 na službenoj dokumentaciji za buduću referencu. 44 00:02:00,322 --> 00:02:03,030 Druga stvar koja je važna o tome kako je ovaj razgovor je dodijeljena, 45 00:02:03,030 --> 00:02:05,360 ovaj video će biti line, ljubaznošću CS50, 46 00:02:05,360 --> 00:02:07,550 tako da ne bi trebao osjećati kao morate uzeti bilješke. 47 00:02:07,550 --> 00:02:11,180 Uvijek se možete vratiti i tražiti na to kasnije kao referenca. 48 00:02:11,180 --> 00:02:13,340 Dodatno slajdova su dostupni odmah 49 00:02:13,340 --> 00:02:16,480 na tom mjestu, što bi trebalo uzeti što napraviti Google doc. 50 00:02:16,480 --> 00:02:21,010 To je nešto skraćenu verziju onoga što sam prikazuje na zaslonu. 51 00:02:21,010 --> 00:02:24,850 >> Jedan oprezni upozorenje prije mi skočiti, Python 3 52 00:02:24,850 --> 00:02:26,700 je drugi jezik Python 2. 53 00:02:26,700 --> 00:02:30,020 Oni izgledaju puno isti; tamo su vrlo male tehničke razlike 54 00:02:30,020 --> 00:02:32,530 programe koji će uzrokovati napisan u Pythonu 2 55 00:02:32,530 --> 00:02:37,140 ne biti u mogućnosti izvršiti u Python 3 okoliš. 56 00:02:37,140 --> 00:02:41,969 >> CS50 Uređaj dolazi s Python, po defaultu koristi Python 2. 57 00:02:41,969 --> 00:02:44,010 To možete provjeriti tako tipkati u vašem komandne linije 58 00:02:44,010 --> 00:02:51,310 Python --version, koji bi trebao izlaz 2.7.6 o trenutnom aparata. 59 00:02:51,310 --> 00:02:53,580 Pokušajte Python 3, koji ne rad u aparat, 60 00:02:53,580 --> 00:02:58,500 Ako Python defaultno 2.X.Y, bilo na aparat ili na vlastitim strojevima. 61 00:02:58,500 --> 00:03:03,730 Trebali bi zamijeniti Python 3 u bilo koje vrijeme u tom razgovoru da pišem Python. 62 00:03:03,730 --> 00:03:05,760 Ako je vaš stroj trčanje 2 po defaultu, vrsta 63 00:03:05,760 --> 00:03:09,770 Python 3, kako bi mogli stvarno slijediti i izvršavati te stvari. 64 00:03:09,770 --> 00:03:12,280 >> Osim toga, ja ću vam točka na službenim izvorima sada. 65 00:03:12,280 --> 00:03:16,082 docs.python.org/3--~~V oprezni da to je 3, a ne 2-- 66 00:03:16,082 --> 00:03:17,030 ima korisne reference. 67 00:03:17,030 --> 00:03:19,280 Vodič će vas kroz mnogo istih stvari 68 00:03:19,280 --> 00:03:21,460 da radim sada, osim u tekstualnom obliku. 69 00:03:21,460 --> 00:03:23,725 Referenca je koristan kao reference za jezik, 70 00:03:23,725 --> 00:03:26,100 a standard knjižnica pruža što neki od nastavaka 71 00:03:26,100 --> 00:03:27,770 s dodatnim funkcijama. 72 00:03:27,770 --> 00:03:31,300 >> Dakle, prvi Python programa. 73 00:03:31,300 --> 00:03:34,410 S lijeve strane imamo standardne C, na desnoj strani, imamo Python. 74 00:03:34,410 --> 00:03:36,780 Možda ste prepoznali ovaj problem, to je 75 00:03:36,780 --> 00:03:40,760 jedan prvi problem postavlja u CS50, i to 76 00:03:40,760 --> 00:03:42,677 riješiti ga pomoću istog rješenja. 77 00:03:42,677 --> 00:03:45,010 Sada, razlog da smo gleda na te rame uz rame 78 00:03:45,010 --> 00:03:46,830 je tako da možemo gledati na sintaktičke razlike. 79 00:03:46,830 --> 00:03:49,580 Jedan od slonova u sobi koje ste možda primijetili u pravu 80 00:03:49,580 --> 00:03:56,350 isključiti šišmiš, da je Python nema Glavna funkcija omatanje oko koda. 81 00:03:56,350 --> 00:03:59,170 Tako je u C, što napisati hrpa datoteka, možete ih povezati zajedno, 82 00:03:59,170 --> 00:04:02,590 a program počinje izvršavanje na ovu stvar zove int glavna. 83 00:04:02,590 --> 00:04:04,930 >> U Python, što napisati file vas, izvršiti datoteku, 84 00:04:04,930 --> 00:04:07,882 program počinje izvršavanje na vrhu datoteke. 85 00:04:07,882 --> 00:04:09,590 Dakle, to će za početak na vrhu datoteke 86 00:04:09,590 --> 00:04:11,280 ići prema dolje dok ne pronađete nešto drugo. 87 00:04:11,280 --> 00:04:14,440 Ako se utvrdi definicija funkcije, to se neće izvršiti taj kod, 88 00:04:14,440 --> 00:04:15,940 to će jednostavno odrediti funkciju. 89 00:04:15,940 --> 00:04:18,459 Ali ovdje, kada je prvi Program je n jednak 10, 90 00:04:18,459 --> 00:04:21,273 prva stvar koja ovaj program će učiniti je iskoristiti ovu vrijednost od 10 91 00:04:21,273 --> 00:04:24,120 i postavite ga u varijablu zove n. 92 00:04:24,120 --> 00:04:27,690 >> Govoreći o toj liniji, jedan od Drugi things-- sorry-- ovo 93 00:04:27,690 --> 00:04:31,040 znači da je C programa, ćete ih pisati, 94 00:04:31,040 --> 00:04:34,899 ćete ih napraviti, što će zazivati ​​neke zveket naredbe, 95 00:04:34,899 --> 00:04:36,690 a onda ćete pokrenuti što je rezultiralo izvršnu. 96 00:04:36,690 --> 00:04:41,030 Python programa, možete pokrenuti Tekst file-- ovom mario.py moglo 97 00:04:41,030 --> 00:04:44,900 se taj dokument koji sam upravo pokazao you-- ćete pokrenuti tu datoteku 98 00:04:44,900 --> 00:04:47,450 a vi ćete izvršiti, i sadržaj toga 99 00:04:47,450 --> 00:04:50,390 će se izvršiti Python interpreter. 100 00:04:50,390 --> 00:04:52,470 To možete učiniti u vašem IDE. 101 00:04:52,470 --> 00:05:02,260 >> Dakle, ako imam Hello datoteku, koji jednostavno ima tu sadržaja. 102 00:05:02,260 --> 00:05:04,840 To je zapravo Python 2, ne Python 3, pa ne 103 00:05:04,840 --> 00:05:06,600 brinuti o sintaksi za sada. 104 00:05:06,600 --> 00:05:14,230 Ali ja ću pokrenuti Python, na hello.py, i to radi. 105 00:05:14,230 --> 00:05:18,890 >> Drugi način da mogu koristiti Python koji Neću nositi s toliko u tom razgovoru, 106 00:05:18,890 --> 00:05:21,840 je ako sam samo tip Python, to mi kapi u okruženju u kojem 107 00:05:21,840 --> 00:05:24,370 Ja mogu hraniti ga Python redak po redak. 108 00:05:24,370 --> 00:05:31,260 Dakle ovdje, ako sam upisati print prostora 'Hello, World ". 109 00:05:31,260 --> 00:05:32,360 Upišite ući. 110 00:05:32,360 --> 00:05:37,430 To će me pljuvati koje sigurnosno rezultate da pojedinac linije odmah. 111 00:05:37,430 --> 00:05:38,470 >> Ovo bi moglo biti korisno je. 112 00:05:38,470 --> 00:05:40,700 U ovom govoru ću raditi stvari na slajdovima. 113 00:05:40,700 --> 00:05:43,940 I tako ćete moći pratiti zajedno ili ovdje, ili pismeno 114 00:05:43,940 --> 00:05:45,725 stvarne datoteke i zatim ih izvršavaju. 115 00:05:45,725 --> 00:05:48,340 116 00:05:48,340 --> 00:05:50,995 >> No, ide natrag u ovaj kod, još jedna stvar 117 00:05:50,995 --> 00:05:53,230 da bi mogli imati noticed-- dobro, tu je 118 00:05:53,230 --> 00:05:55,980 dvije stvari da biste mogli obavijest o tim blokovima. 119 00:05:55,980 --> 00:05:59,280 Prvi, a više svjetovnim, da Python nema trag zarezom. 120 00:05:59,280 --> 00:06:02,630 >> Zarezom su izborni svugdje i bezopasna posvuda. 121 00:06:02,630 --> 00:06:03,722 Možete ih dodati. 122 00:06:03,722 --> 00:06:06,430 Moglo bi ljude koji pišu Python za dnevni kikotati na tebe 123 00:06:06,430 --> 00:06:08,860 iza leđa, jer oni nisu potrebni. 124 00:06:08,860 --> 00:06:13,497 Oni su često znak održava tijekom iz C. Dizajneri jezika 125 00:06:13,497 --> 00:06:16,580 Osjećam da je više jasno na ovaj način a da to nije potrebno prijaviti 126 00:06:16,580 --> 00:06:18,700 svaki put kad kraj liniju. 127 00:06:18,700 --> 00:06:21,799 >> Još jedna čudna stvar o ovom n je to ne imati tip prilogu. 128 00:06:21,799 --> 00:06:24,590 Jedan od čarobnih komada Python-- i ja ću ga nazvati magiju, 129 00:06:24,590 --> 00:06:26,381 ali postoje vrlo tehnički razlozi zašto 130 00:06:26,381 --> 00:06:28,560 works-- jedan od magija komada Python 131 00:06:28,560 --> 00:06:32,700 je da varijable može proširiti ili smanjiti sadržavati podatke god 132 00:06:32,700 --> 00:06:34,530 Vrste biste ih da žele. 133 00:06:34,530 --> 00:06:35,580 >> Dakle, to je 10. 134 00:06:35,580 --> 00:06:40,060 Ako kasnije niz sam dodijeljen na ovo N 0.5, to bi se da je 0,5. 135 00:06:40,060 --> 00:06:43,770 Bez obzira da je int i ovdje plutaju tamo, sve što koristi ovo n 136 00:06:43,770 --> 00:06:47,057 će, više ili manje, moći brektati zajedno, ako to dobiva bilo koji od njih. 137 00:06:47,057 --> 00:06:49,640 Osim ako postoji neki vrlo stvarne Razlog zašto se ne može koristiti podatke 138 00:06:49,640 --> 00:06:52,170 upišite da n trenutno ima, u kojem trenutku to će doći 139 00:06:52,170 --> 00:06:54,490 klinču i baciti grešku, i one vrste stvari. 140 00:06:54,490 --> 00:06:57,050 >> Ali ovdje, Python zapravo ne briga što 141 00:06:57,050 --> 00:06:59,140 to je da ću se držati u ovom rečenica, kao, želiš ovo? 142 00:06:59,140 --> 00:06:59,840 To je stvar u tome? 143 00:06:59,840 --> 00:07:00,640 Da, to je vrsta stvar. 144 00:07:00,640 --> 00:07:01,810 Ja ću ga staviti na kraju. 145 00:07:01,810 --> 00:07:04,740 To će biti problem kasnije, ako netko tko želi koristiti taj kraj 146 00:07:04,740 --> 00:07:05,710 Ne mogu to podnijeti. 147 00:07:05,710 --> 00:07:08,500 To je jedan od glavnih razlike između Python i C 148 00:07:08,500 --> 00:07:10,790 koji olakšava napisati vrlo velike C programa 149 00:07:10,790 --> 00:07:15,120 i olakšava pisanje vrlo mali Python programa. 150 00:07:15,120 --> 00:07:19,564 >> For sintaksa nije jako različite u ono što radi. 151 00:07:19,564 --> 00:07:21,480 To je malo drugačiji u kako se to izrazio. 152 00:07:21,480 --> 00:07:25,370 Dakle, ovo je vrlo, ono što se zove Pythonic, način pisanja. 153 00:07:25,370 --> 00:07:28,969 za redom u rasponu (n), ovo je raspon brojeva od 0 do n, 154 00:07:28,969 --> 00:07:31,010 uključivo na dnu i isključivi na vrhu. 155 00:07:31,010 --> 00:07:34,790 Tako da je od 0 do n-1, što je upravo ono što C koda radi, 156 00:07:34,790 --> 00:07:38,690 osim što je puno lakše pogledati možda. 157 00:07:38,690 --> 00:07:42,710 >> Mjerodavni blok nije krenuo od aparatića, 158 00:07:42,710 --> 00:07:44,540 umjesto da je krenuo ovim razvedenosti. 159 00:07:44,540 --> 00:07:47,580 Dakle, sve te linije su četiri mjesta na to pravo, 160 00:07:47,580 --> 00:07:50,410 ili kao o širini slona. 161 00:07:50,410 --> 00:07:54,570 A to su oni koji su će se izvršiti u ovome. 162 00:07:54,570 --> 00:07:57,020 Ako sam zabrljati gore udubljenje na to i ja 163 00:07:57,020 --> 00:08:01,420 gurati da print natrag izvorni uvlake, 164 00:08:01,420 --> 00:08:04,320 da ispis će ostaviti za petlju. 165 00:08:04,320 --> 00:08:08,560 Za razliku od C, gdje je ovdje zapravo sam morate premjestiti taj zatvoreni braće oko. 166 00:08:08,560 --> 00:08:11,820 >> To znači da ne dobijete pogreške da iskočiti na vas, jer vas 167 00:08:11,820 --> 00:08:13,580 staviti braće u pogrešnom mjestu. 168 00:08:13,580 --> 00:08:16,460 To znači da ćete dobiti pogreške da iskočiti na vas, jer vas 169 00:08:16,460 --> 00:08:17,620 razvedena crtu krivo. 170 00:08:17,620 --> 00:08:19,290 Dakle, čini udubljenja super oprezni. 171 00:08:19,290 --> 00:08:22,123 Nadam se da su se super oprezni sa svojim uvlačenja u svakom slučaju, 172 00:08:22,123 --> 00:08:25,300 pa to nije to mnogo više od tereta. 173 00:08:25,300 --> 00:08:28,762 >> No osnovno pravilo za Python, i imat ćemo par njih 174 00:08:28,762 --> 00:08:30,970 da ćemo proći kroz tijek razgovora, 175 00:08:30,970 --> 00:08:33,840 je pokušati prirodni sintaksu Prije nego gleda nešto gore. 176 00:08:33,840 --> 00:08:37,610 Dakle, ovo sintaksa, za ovaj broj u rasponu, 177 00:08:37,610 --> 00:08:41,460 vrlo prepoznatljiv u smislu stila. 178 00:08:41,460 --> 00:08:45,260 Mnogo stvari u Pythonu vidjet ćemo da ovaj obrazac. 179 00:08:45,260 --> 00:08:47,420 >> I tako, ako ste došli do s novi objekt koji 180 00:08:47,420 --> 00:08:50,870 mislim da bi trebao biti u mogućnosti ponoviti više toga, u ovom formatu, 181 00:08:50,870 --> 00:08:53,720 Ispada da je vjerojatno podržava taj format. 182 00:08:53,720 --> 00:08:56,990 Nećemo ići super duboko u tehnički razlozi zbog kojih to je istina. 183 00:08:56,990 --> 00:09:00,167 >> No, to je korisno imati intuiciju kada se približava Python programa, 184 00:09:00,167 --> 00:09:01,750 da je to stvar samo ide na posao. 185 00:09:01,750 --> 00:09:03,020 Probaj. 186 00:09:03,020 --> 00:09:06,480 Dignuti naredbenog retka Prevoditelj, vidjeti ako to radi, 187 00:09:06,480 --> 00:09:09,827 premjestiti na sa stvarima, prije vas čak morati otvoriti Google i reći, 188 00:09:09,827 --> 00:09:11,660 što je sintaksa za ovaj je stvar? 189 00:09:11,660 --> 00:09:14,740 Mnogo Python ste mogli otkriti samo pokušavam. 190 00:09:14,740 --> 00:09:19,005 >> To ako je još slično u C onda fors su. 191 00:09:19,005 --> 00:09:20,380 Imajte na umu da nema zagrade. 192 00:09:20,380 --> 00:09:23,490 Zagradama su, opet, bezopasna, ali nepotrebno. 193 00:09:23,490 --> 00:09:25,750 Tu je kolona krajem baš kao i za petlje, 194 00:09:25,750 --> 00:09:30,800 i opet, relativna blokovi razvedena nego krenuti od aparatića. 195 00:09:30,800 --> 00:09:33,080 Ovo drugo je u izvorniku Razina razvedenosti, 196 00:09:33,080 --> 00:09:35,930 a njegov relevantni blok ponovno razvedena. 197 00:09:35,930 --> 00:09:41,720 Oni rade upravo ono što im je činiti u C. 198 00:09:41,720 --> 00:09:44,520 >> To je zapravo vrlo velik dio isti. 199 00:09:44,520 --> 00:09:49,430 Opet, print gubi jedan znak off printf Možete proći neke veze. 200 00:09:49,430 --> 00:09:51,520 Ispada žice ili može biti označen s 201 00:09:51,520 --> 00:09:53,562 jednostrukim navodnicima ili dvostrukim navodnicima. 202 00:09:53,562 --> 00:09:55,270 Nema razlike, osim toga unutrašnjost 203 00:09:55,270 --> 00:09:57,722 jednostrukih navodnika možete koristiti dvostruki navodnici s odustati, 204 00:09:57,722 --> 00:09:59,430 umjesto da pobjeći sve njih. 205 00:09:59,430 --> 00:10:01,480 A unutar dvostrukih navodnika, što može koristiti jednostruke navodnike s odustati 206 00:10:01,480 --> 00:10:02,420 bez da ih izbjeći. 207 00:10:02,420 --> 00:10:04,253 Ako ste htjeli miješati njih možete sigurno 208 00:10:04,253 --> 00:10:06,100 gledati online kako to učiniti. 209 00:10:06,100 --> 00:10:09,581 >> Primijetit ćete da ovdje, Ja sam prošao kraj = tu stvar. 210 00:10:09,581 --> 00:10:12,580 Ovo je primjer po izboru argument, što je jedna od onih stvari 211 00:10:12,580 --> 00:10:14,990 da Python podržava da čini vrlo korisnim. 212 00:10:14,990 --> 00:10:18,240 Dakle print zapravo ima puno argumenti, koje su obično 213 00:10:18,240 --> 00:10:20,140 postaviti na svoje zadane vrijednost, ali ovdje imam 214 00:10:20,140 --> 00:10:21,924 odlučio nadjačati onu zove kraj. 215 00:10:21,924 --> 00:10:24,340 Razlog da moram nadjačati ga s praznim nizom 216 00:10:24,340 --> 00:10:26,756 da je ispis u Python, po Zadana, ispisuje novu liniju 217 00:10:26,756 --> 00:10:28,630 nakon što je stvar koju je rekla previše. 218 00:10:28,630 --> 00:10:31,462 >> Dakle, ovo hash zapravo ide ispisati mljeveno meso u novom retku. 219 00:10:31,462 --> 00:10:34,670 A ako ne želim ljestve za ispis nova linija nakon njega, onda moram reći 220 00:10:34,670 --> 00:10:35,340 nemojte ispisati jedan. 221 00:10:35,340 --> 00:10:37,980 222 00:10:37,980 --> 00:10:43,690 No, ipak je tako, jedna stvar koja Ovaj program nedostaje da netko ima je 223 00:10:43,690 --> 00:10:44,960 naredbe uključi na vrhu. 224 00:10:44,960 --> 00:10:48,120 Ispis je pečena u Python tako da u osnovi da nema zaglavlje ili modula 225 00:10:48,120 --> 00:10:49,869 da morate uključuju, ali ako je htio 226 00:10:49,869 --> 00:10:52,029 uključiti i druge stvari u Python skripte, 227 00:10:52,029 --> 00:10:55,320 Ja bih to učiniti u vrlo sličnom format-- riječi su samo malo drugačije. 228 00:10:55,320 --> 00:10:58,840 229 00:10:58,840 --> 00:11:01,360 >> Spomenuo sam da smo ne treba glavni ovdje, 230 00:11:01,360 --> 00:11:03,372 jer Python počinje izvršavanje na vrhu. 231 00:11:03,372 --> 00:11:05,080 Da sam htio završiti to u funkciji, ja 232 00:11:05,080 --> 00:11:07,667 Učinit će to kao this-- I. bih def ime funkciju, 233 00:11:07,667 --> 00:11:10,500 Argumenti može ići ovdje i mi ćemo vidjeti neke od tih kasnije, debelog crijeva, 234 00:11:10,500 --> 00:11:13,040 a onda opet, to Cijeli krenuo blok 235 00:11:13,040 --> 00:11:16,810 je ono što je operativno blok za tu funkciju. 236 00:11:16,810 --> 00:11:18,560 Dakle, to je definicija funkcije. 237 00:11:18,560 --> 00:11:21,587 I tu je izjavu, a zatim prema dolje ovdje, ja mogu samo pozvati funkciju. 238 00:11:21,587 --> 00:11:23,920 I opet, program prevoditelj, s početkom u vrhu, 239 00:11:23,920 --> 00:11:25,280 će vidjeti ovo je definicija. 240 00:11:25,280 --> 00:11:27,960 To neće izvršiti sve dok njega doći ovdje, i onda je to, oh 241 00:11:27,960 --> 00:11:30,860 sad si ga nazvao, ja Valjda sam trebao izvršiti. 242 00:11:30,860 --> 00:11:33,850 >> Stvar koja je vrlo česta vidjeti u Python datoteke, 243 00:11:33,850 --> 00:11:36,700 osobito Python datoteke koje su pustili u javnost 244 00:11:36,700 --> 00:11:41,650 i razvio by-- i razvijen i održava, je nešto od ovog obrasca. 245 00:11:41,650 --> 00:11:44,540 To je zato što basically-- Python, vi početi na vrhu 246 00:11:44,540 --> 00:11:50,310 a onda izvršiti do dna, Ja ako sam imao Mario pozvao ovdje, 247 00:11:50,310 --> 00:11:54,190 onda svaki put sam uključen u ovu datoteku drugi file, jer sam želio iskoristiti 248 00:11:54,190 --> 00:11:58,580 Mario funkciju, da druga slika bi također imaju ovaj poziv na Mario u njega. 249 00:11:58,580 --> 00:12:01,000 A kad sam trčao tu datoteku, to bi nazvao Mario. 250 00:12:01,000 --> 00:12:04,520 >> Tako da je moguće da samo ja želite pokrenuti ovo ako sam zapravo 251 00:12:04,520 --> 00:12:07,290 izvršiti ovu posebnu datoteku. 252 00:12:07,290 --> 00:12:11,520 I tako ja mogu završiti ovaj u idiom ovako, gdje sam rekao, 253 00:12:11,520 --> 00:12:14,820 ako je naziv tog izvršenja okoliš je glavni, 254 00:12:14,820 --> 00:12:16,200 onda želim raditi te stvari. 255 00:12:16,200 --> 00:12:18,710 Inače netko drugi ne može use-- su moj function-- 256 00:12:18,710 --> 00:12:22,510 moj file i samo da bi dobili pristup tim funkcijama 257 00:12:22,510 --> 00:12:25,552 bez pokrenuti stvari da želim izvršiti u ovoj datoteci. 258 00:12:25,552 --> 00:12:27,260 To je, opet, neobavezno ali vrlo često. 259 00:12:27,260 --> 00:12:30,450 260 00:12:30,450 --> 00:12:33,840 >> Ove stvari su entirely-- su isti između C i Python, 261 00:12:33,840 --> 00:12:35,100 sigurno u 3. 262 00:12:35,100 --> 00:12:38,610 Mislim da je u 2, operator podjela Ponekad vam daje natrag lebdi kada 263 00:12:38,610 --> 00:12:41,450 što operirao Ints, i bilo ste htjeli to ili nisi. 264 00:12:41,450 --> 00:12:44,777 Ali plus, minus i vremena raditi baš kao što biste očekivali, 265 00:12:44,777 --> 00:12:46,110 isključuje li se malo više vrsta. 266 00:12:46,110 --> 00:12:49,740 Tako možete pomnožiti splavima Ints i one vrste stvari. 267 00:12:49,740 --> 00:12:52,480 >> Skup radi točno isto. 268 00:12:52,480 --> 00:12:54,310 Možete koristiti dva jednaka znakove. 269 00:12:54,310 --> 00:12:59,000 inequals-- veće od, manje nego, ove vrste things-- 270 00:12:59,000 --> 00:13:02,580 imaju značenje koje ste upoznati s njima. 271 00:13:02,580 --> 00:13:05,770 >> Gdje C koristi ove operatere, Python koristi nešto više engleski 272 00:13:05,770 --> 00:13:06,390 oni čitljiv. 273 00:13:06,390 --> 00:13:09,348 Dakle, umjesto dva, znakove za, što doslovno upišite riječ "i", "ili" 274 00:13:09,348 --> 00:13:10,740 ili ne." 275 00:13:10,740 --> 00:13:13,420 Kao u vašem if-- u svoj uvjetne izjave, 276 00:13:13,420 --> 00:13:17,670 smo ranije vidjeli da je ova sintaksa u C odgovara ovoj sintaksi u Pythonu. 277 00:13:17,670 --> 00:13:21,010 I tu nije puno drugačije Postoji, osim malo 278 00:13:21,010 --> 00:13:24,780 interpunkcija oko strane. 279 00:13:24,780 --> 00:13:28,890 Opet, gdje je C bi drugdje ako je, Python koristi Elif, 280 00:13:28,890 --> 00:13:33,960 ali to su uglavnom promjena razine površine. 281 00:13:33,960 --> 00:13:38,450 >> Iteracija kao što je to često napisano u ovom idiomu u Pythonu. 282 00:13:38,450 --> 00:13:42,350 Možete proizvesti ovu vrstu stvar s while petlji na vanjskoj 283 00:13:42,350 --> 00:13:46,387 ako ste htjeli, ali vam zasigurno ne moraju. 284 00:13:46,387 --> 00:13:48,970 A opet, ako ste htjeli ispisati elemente od niza 285 00:13:48,970 --> 00:13:50,560 Možete to učiniti na ovaj način. 286 00:13:50,560 --> 00:13:52,927 Jedna od zabavnih stvari o Python ipak, 287 00:13:52,927 --> 00:13:54,760 je da ne morate koristiti ovu paradigmu, 288 00:13:54,760 --> 00:13:57,290 i možete koristiti nešto elegantnije jedan. 289 00:13:57,290 --> 00:13:59,370 Kažete za u tvrt-. 290 00:13:59,370 --> 00:14:02,980 >> Dakle, umjesto da ide ovdje i trčanje preko indeksa, 291 00:14:02,980 --> 00:14:05,630 a onda izvlačenje pojedini elementi, 292 00:14:05,630 --> 00:14:08,644 što reći za to zapravo samo pregazio samih elemenata. 293 00:14:08,644 --> 00:14:11,060 I onda sve što radite u može raditi izravno 294 00:14:11,060 --> 00:14:13,260 o elementima, što je prilično zabavno. 295 00:14:13,260 --> 00:14:16,710 A mi ćemo see-- koristit ćemo i opet da je idiom 296 00:14:16,710 --> 00:14:18,050 kao što smo prošetati kroz kod. 297 00:14:18,050 --> 00:14:20,091 >> To je, opet, primjer nešto što ću 298 00:14:20,091 --> 00:14:23,300 nazvati Python magiju, iako postoje Vrlo tehničkih razloga zašto to radi. 299 00:14:23,300 --> 00:14:26,340 A tu su i tehničke stvari koje trebaju biti istina o nizu kako 300 00:14:26,340 --> 00:14:28,340 za to raditi iza scene. 301 00:14:28,340 --> 00:14:31,390 Stvar je u tome da većina tipova što biste očekivali ovo raditi 302 00:14:31,390 --> 00:14:36,610 imali to provoditi ste u izgrađen-in jeziku. 303 00:14:36,610 --> 00:14:40,030 >> Još jedna stvar koja bi bilo lijepo ako je to radio u svakom jeziku, 304 00:14:40,030 --> 00:14:45,460 ali postoje neki razlozi zašto to ne može, Ispišite ovu gudačkih puta taj broj. 305 00:14:45,460 --> 00:14:48,860 Ispada u Python, to radi točno ono što želite, što je samo zabava, 306 00:14:48,860 --> 00:14:52,840 a to znači da možemo zapravo smanjiti ovaj program, opet mario.c. 307 00:14:52,840 --> 00:14:57,150 Umjesto iterating puno, možemo Samo kažem, želim još više prostora, 308 00:14:57,150 --> 00:15:01,120 Želim broj hashes, a neki hashes na kraju. 309 00:15:01,120 --> 00:15:02,640 I opet, mi koristimo ovaj format. 310 00:15:02,640 --> 00:15:05,340 >> Evo, mi smo u prolazu varijabla na ovaj način. 311 00:15:05,340 --> 00:15:08,050 Opet, ne trebamo reći što tip varijable je to, 312 00:15:08,050 --> 00:15:11,322 a jedini put ćemo dobiti greška je u vrijeme izvođenja. 313 00:15:11,322 --> 00:15:13,030 Kada netko pokuša proći nešto, 314 00:15:13,030 --> 00:15:14,860 to će doći u funkciji sasvim u redu. 315 00:15:14,860 --> 00:15:18,240 Ako zaglave ovdje, jer to nije stvar koju možete napraviti raspone više, 316 00:15:18,240 --> 00:15:22,100 Ja ću dobiti runtime error tamo, a ja ću morati to ispravljanje taj način. 317 00:15:22,100 --> 00:15:25,050 No, u međuvremenu, nemam biti vrlo oprezni o tome što 318 00:15:25,050 --> 00:15:32,800 dobiva donesen, tako dugo dok se u stvarni Izvršenje to sve radi vrlo glatko. 319 00:15:32,800 --> 00:15:35,080 >> Čak sam mogao napraviti ovaj malo čišći 320 00:15:35,080 --> 00:15:41,770 koristeći određenu izgrađen-in funkcije na žicama, koje pravo opravdati. 321 00:15:41,770 --> 00:15:45,250 Ovo je samo korisna funkcija izležavanja knjižnici. 322 00:15:45,250 --> 00:15:47,660 To je u dokumentaciji ako idete i tražiti to. 323 00:15:47,660 --> 00:15:51,650 A ja kažem, dobro ću se ovaj niz, neki broj hashes, 324 00:15:51,650 --> 00:15:56,390 i ja bih pravo opravdati it-- jastuk to s prostora da se ta dužina. 325 00:15:56,390 --> 00:16:00,584 >> Opet, to je u dokumentacija, koja donosi us-- 326 00:16:00,584 --> 00:16:03,500 Ja ću zapravo klikati these-- što nas dovodi do našeg drugog pravilu 327 00:16:03,500 --> 00:16:06,990 za Python-- standardne biblioteke Metode funkcija su vaši prijatelji. 328 00:16:06,990 --> 00:16:09,880 A to je često vrijedan vaše vrijeme ići u potrazi za pitam 329 00:16:09,880 --> 00:16:12,310 ako postoji stvar koja upravo to radi. 330 00:16:12,310 --> 00:16:13,830 Vjerojatno je. 331 00:16:13,830 --> 00:16:15,990 Ako želite jastuk iz niza, ako želite 332 00:16:15,990 --> 00:16:17,470 htjeli uzeti natrag pola niza, ako želite 333 00:16:17,470 --> 00:16:20,370 željeli potražiti kroz niz, ako je želite razbiti par stvari 334 00:16:20,370 --> 00:16:22,420 zajedno s nizom zarezima između njih, 335 00:16:22,420 --> 00:16:24,640 postoje standardni knjižnica Funkcije za to. 336 00:16:24,640 --> 00:16:27,190 >> I to čini vaš život lakše ako ih koristite 337 00:16:27,190 --> 00:16:29,240 umjesto rolling out sve na svoju vlastitu 338 00:16:29,240 --> 00:16:31,650 u pet linija koda ovdje, pet linija koda ovdje. 339 00:16:31,650 --> 00:16:34,430 To zapravo počinje u dodati do realnom vremenu. 340 00:16:34,430 --> 00:16:37,430 >> Jedna od zanimljivosti o tome kako to biva zove. 341 00:16:37,430 --> 00:16:39,980 Primijetit ćete da postoji točka stvar. 342 00:16:39,980 --> 00:16:43,490 Imam neki objekt na lijevoj strani, i onda sam nazvao točku funkcija. 343 00:16:43,490 --> 00:16:49,780 Ovo je jedan od paradigme da Python koristi za pričvršćivanje metode za objekte. 344 00:16:49,780 --> 00:16:54,410 Razgovarat ćemo o tome što to je vrlo kratko na kraju, 345 00:16:54,410 --> 00:16:58,510 ali znam da možemo i raditi na stvari po uzimati tu stvar rekavši točku 346 00:16:58,510 --> 00:17:01,690 god, ili pozivom funkcija koja traje 347 00:17:01,690 --> 00:17:04,339 da objekt i neke druge argumente. 348 00:17:04,339 --> 00:17:07,450 >> Dakle, to su oba načina na koje stvari obaviti u Pythonu. 349 00:17:07,450 --> 00:17:09,780 I je li određeni funkcionalnost implementirana 350 00:17:09,780 --> 00:17:14,230 u tom stilu ili ovo Stil je nešto što vam 351 00:17:14,230 --> 00:17:19,990 treba gledati dok ne dobijete objesiti za koje je vjerojatno da će pasti u. 352 00:17:19,990 --> 00:17:22,660 Postoji više ili manje kohezivno Filozofija Python 353 00:17:22,660 --> 00:17:24,930 da apsorbiraju govore pišući mnogo u njoj. 354 00:17:24,930 --> 00:17:28,190 U nekom trenutku, koji je jedan od tih nešto će se provoditi kao 355 00:17:28,190 --> 00:17:29,470 postaje prirodno. 356 00:17:29,470 --> 00:17:32,420 Za sada, to je samo nešto učite kao što odgonetnuti 357 00:17:32,420 --> 00:17:34,140 svaki pojedinac stvar. 358 00:17:34,140 --> 00:17:36,420 >> Dakle, standardni knjižnica funkcije su vaši prijatelji, 359 00:17:36,420 --> 00:17:41,320 a oni neka vam pisati stvari koje zauzimaju toliko prostora jako kratko, 360 00:17:41,320 --> 00:17:42,040 stvarno elegantno. 361 00:17:42,040 --> 00:17:45,670 A to je zapravo vjerojatno više čitak, rekao bih, od programa C 362 00:17:45,670 --> 00:17:46,780 tamo. 363 00:17:46,780 --> 00:17:49,730 Da ne spominjem činjenicu da je tako Ukratko možete stati cijeli slon 364 00:17:49,730 --> 00:17:52,250 u prostoru koji smo spašeni. 365 00:17:52,250 --> 00:17:56,270 >> Još jedna stvar, to je implementacija Mario je to točkica C, što mislim 366 00:17:56,270 --> 00:17:57,890 je najkraći možete ga dobiti. 367 00:17:57,890 --> 00:18:00,757 To nema get int, ali Teško kodove vrijednost od 10 368 00:18:00,757 --> 00:18:02,090 isti način na koji to on radi. 369 00:18:02,090 --> 00:18:06,080 Ispada da je ovaj jedan satovi na 84 znakova, dok Python je 64. 370 00:18:06,080 --> 00:18:11,490 A to je neusporedivo čitati od ovog smeća ovdje. 371 00:18:11,490 --> 00:18:14,610 Dakle, Python je učinkovitiji u prostoru. 372 00:18:14,610 --> 00:18:17,260 To je nešto manje učinkovita u vremenu, ali ne puno. 373 00:18:17,260 --> 00:18:18,890 >> Popisi su važna stvar u Pythonu. 374 00:18:18,890 --> 00:18:21,540 375 00:18:21,540 --> 00:18:24,587 Mi ih nisu vidjeli, ali su djeluju slično kao nizovi učiniti u C. 376 00:18:24,587 --> 00:18:27,170 Dakle, ovdje, možete ih proglasiti, možete ih proći u stvar. 377 00:18:27,170 --> 00:18:29,810 Sada kvadrata drži Niz od tih stvari. 378 00:18:29,810 --> 00:18:33,480 Opet, nismo proglasili kao tip, ali ako smo ikada pokušati ga koristiti, 379 00:18:33,480 --> 00:18:36,260 sve što biste očekivali da rad na niz brojeva 380 00:18:36,260 --> 00:18:40,130 će raditi na niz brojeva. 381 00:18:40,130 --> 00:18:42,030 >> To je stvar koja apsolutno ne mogu 382 00:18:42,030 --> 00:18:47,390 radim u C, jer je Memorija je tako ruke na, 383 00:18:47,390 --> 00:18:48,950 ali je vrlo jednostavno za napraviti u Pythonu. 384 00:18:48,950 --> 00:18:55,310 Ako želim da moja niz biti veći, što mogu dodati element na njega i to je u redu. 385 00:18:55,310 --> 00:18:57,150 >> Što se događa iza kulisa? 386 00:18:57,150 --> 00:18:59,150 Tumač će ići i dobiti neke memorije, 387 00:18:59,150 --> 00:19:00,860 i možda ćete dobiti malo extra memorije, 388 00:19:00,860 --> 00:19:03,090 pa ja ne, tako nemam da realloc svaki put. 389 00:19:03,090 --> 00:19:04,897 No, koliko imaju više memorije to potrebno? 390 00:19:04,897 --> 00:19:06,730 To nisu odluke koje morate napraviti, 391 00:19:06,730 --> 00:19:10,540 To su odluke koje su Tumač će učiniti. 392 00:19:10,540 --> 00:19:12,270 >> Ovdje vidimo raspon može uzeti dva argumenta, 393 00:19:12,270 --> 00:19:16,430 ali to još uvijek će biti inkluzivno od vrha pa smo dodali 1 tamo. 394 00:19:16,430 --> 00:19:21,970 Ovo je idiom, što je još pametan način da pisati stvari kao što je ovaj. 395 00:19:21,970 --> 00:19:25,980 To se zove popis razumijevanja, i ovdje što mi govori 396 00:19:25,980 --> 00:19:32,560 je Htio bih staviti u kvadrat i za svaku vrijednost I u tom rasponu. 397 00:19:32,560 --> 00:19:35,770 To je stvar na desnoj mogao biti još jedan polje, a to je stvar na lijevoj 398 00:19:35,770 --> 00:19:40,740 da se bilo osobito funkcija da bi u i kao varijabla 399 00:19:40,740 --> 00:19:42,250 i daj mi neke rezultate. 400 00:19:42,250 --> 00:19:43,480 >> Ono što ću učiniti je, Idem izgraditi 401 00:19:43,480 --> 00:19:46,200 niz koji je sve te stvari za svaku vrijednost u tom rasponu. 402 00:19:46,200 --> 00:19:48,960 403 00:19:48,960 --> 00:19:55,670 I to je super elegantan, super kratka, i to je vrlo jasno što to znači. 404 00:19:55,670 --> 00:19:59,190 Ovo je jedan od things-- to je opet, 405 00:19:59,190 --> 00:20:03,860 jedan of-- vrlo simbolom razlozi koji ljude poput Python. 406 00:20:03,860 --> 00:20:05,900 Ako vam se sviđa programiranje ovako, onda Python 407 00:20:05,900 --> 00:20:07,830 je jezik možda željeli naučiti. 408 00:20:07,830 --> 00:20:10,950 >> I opet, tu su i tehničke razlozi zašto se to radi. 409 00:20:10,950 --> 00:20:14,730 Ali što se tiče smo zabrinuti, smo više ili manje ne brinu. 410 00:20:14,730 --> 00:20:18,500 >> Dakle, ako želite ispisati popise, neke od istih idioma korisni. 411 00:20:18,500 --> 00:20:20,940 Jer ja u tom rasponu, mogli bismo Indeks kroz sve stvari 412 00:20:20,940 --> 00:20:23,140 a zatim ih sve ispisati. 413 00:20:23,140 --> 00:20:24,650 I vidjet ćete Len ovdje. 414 00:20:24,650 --> 00:20:27,150 Ako ste ikada htjeli doći duljina niza, koji je 415 00:20:27,150 --> 00:20:31,150 vrlo lako u Python, to je vrlo teško u C. 416 00:20:31,150 --> 00:20:33,720 To bi ispisati točno što bih ga očekivati. 417 00:20:33,720 --> 00:20:36,986 Također smo mogli, kao što smo vidjeli, ponoviti više elemenata u nizu 418 00:20:36,986 --> 00:20:39,860 izravno, i onda samo govoriti o ih, umjesto da indeksa 419 00:20:39,860 --> 00:20:43,190 natrag u polje svaki put. 420 00:20:43,190 --> 00:20:45,990 >> A to je stvar koju možete učiniti. 421 00:20:45,990 --> 00:20:49,984 Tako je u C, ako pitate za nešto ovako, ispis će reći, 422 00:20:49,984 --> 00:20:51,150 to je niz brojeva. 423 00:20:51,150 --> 00:20:53,456 To svakako nije string, ne mogu ga ispisati. 424 00:20:53,456 --> 00:20:54,830 Python više ili manje ne brine. 425 00:20:54,830 --> 00:20:57,496 To je kao da, postoji način da ja mogao pretvoriti ovo u nizu? 426 00:20:57,496 --> 00:20:58,500 Da, ja ću to učiniti. 427 00:20:58,500 --> 00:21:01,600 I tako ću samo ispisati to van. 428 00:21:01,600 --> 00:21:03,640 To znači da možete činiti stvari volimo-članovima tih 429 00:21:03,640 --> 00:21:06,530 najviše od tvrdih dijelova igre od petnaest, napisao 430 00:21:06,530 --> 00:21:08,930 vrlo kratko u Pythonu. 431 00:21:08,930 --> 00:21:11,320 >> Vidjet ćete da postoji malo of-- ovdje 432 00:21:11,320 --> 00:21:14,441 Ja sam bacio cijeli broj u nizu, i moram to učiniti ručno. 433 00:21:14,441 --> 00:21:16,190 A ja ću dodati je na drugi niz, 434 00:21:16,190 --> 00:21:17,590 ili na drugi način Python zbuni. 435 00:21:17,590 --> 00:21:19,840 No hoće li i kada ste dodajući niz na cijeli broj, 436 00:21:19,840 --> 00:21:22,630 ja pretpostavljam da dobijete cijeli broj ili natrag niz leđa? 437 00:21:22,630 --> 00:21:24,480 Ali opet, ako ste upravo pozvati str na stvar, 438 00:21:24,480 --> 00:21:27,240 i to bi moglo na bilo koji Svijet se pretvara u niz, 439 00:21:27,240 --> 00:21:30,390 to će vjerojatno biti pretvara u niz. 440 00:21:30,390 --> 00:21:33,120 >> Ovdje vidimo korištenja ugniježđena popis razumijevanje 441 00:21:33,120 --> 00:21:38,690 na lijevoj strani, neki indeksiranje, što Upravo kao što bih se naviknuti na to, 442 00:21:38,690 --> 00:21:40,060 a neki ispis stvari. 443 00:21:40,060 --> 00:21:42,560 Opet smo definirati neke funkcije i mi ćemo ih nazvati dolje 444 00:21:42,560 --> 00:21:45,820 u glavnom, kada smo zapravo dobili datoteku. 445 00:21:45,820 --> 00:21:52,004 Povratak radi točno kao što biste očekivati ​​od rada s C. Nađi, 446 00:21:52,004 --> 00:21:54,420 možemo postaviti stvari kao što su this-- evo popis razumijevanja 447 00:21:54,420 --> 00:21:59,245 postoji zadatak na varijable, i mi zapravo može učiniti čak i lakše. 448 00:21:59,245 --> 00:22:01,870 Ne morate pisati pretragu, jer ugrađeni u jezik 449 00:22:01,870 --> 00:22:04,230 je li to stvar je u ovom nizu. 450 00:22:04,230 --> 00:22:05,680 Povratak istina, ostalo return false. 451 00:22:05,680 --> 00:22:08,830 Tako da je cjelokupan nalaz. 452 00:22:08,830 --> 00:22:12,230 >> Sveukupna vrste uključuje zove vrsta, 453 00:22:12,230 --> 00:22:15,462 koji is-- postoje implementacije to ugrađeno u određenim C knjižnice. 454 00:22:15,462 --> 00:22:17,170 Ako želite ovaj vrsta unatrag, te 455 00:22:17,170 --> 00:22:20,450 može nadjačati taj izborni Argument u rikverc sa pravi. 456 00:22:20,450 --> 00:22:23,350 457 00:22:23,350 --> 00:22:27,860 A ako želite sortirati više žice, koji je izgrađen-in, kao dobro. 458 00:22:27,860 --> 00:22:31,950 >> Dakle, to ne znači to su stvari koje trebate učiniti svaki dan, 459 00:22:31,950 --> 00:22:34,280 ali ideja je da ovaj je filozofija Python, 460 00:22:34,280 --> 00:22:37,530 da su sve te stvari koje bih vrsta želite učiniti su ugrađeni. 461 00:22:37,530 --> 00:22:42,410 I većina standardne funkcije, tako vrsta, duljina, što god, 462 00:22:42,410 --> 00:22:44,380 podržava većina logično razuman ulaz. 463 00:22:44,380 --> 00:22:49,020 Pozivam vas Len na niz biti ista način poziv LEN na konac. 464 00:22:49,020 --> 00:22:55,785 Vi multiply-- što sortirati žice na isti način sortirati polja. 465 00:22:55,785 --> 00:22:58,930 466 00:22:58,930 --> 00:23:00,740 >> Većina standardnih funkcija da ljudi grade, 467 00:23:00,740 --> 00:23:03,000 a većina treće strane knjižnice koje su ljudi 468 00:23:03,000 --> 00:23:06,980 graditi, jer su natjecanje Dizajn standardne biblioteke, 469 00:23:06,980 --> 00:23:10,190 može biti pozvan na sve da ste Kao, zašto ne to samo posao, 470 00:23:10,190 --> 00:23:12,800 u C. Više ili manje, to će raditi u Pythonu 471 00:23:12,800 --> 00:23:15,930 jer ljudi rade iza slici što stvar i onda raditi 472 00:23:15,930 --> 00:23:17,510 odgovarajući na njega. 473 00:23:17,510 --> 00:23:22,760 Pa opet, tehnička pozadina, ali ga čini naš život lakšim kao programera. 474 00:23:22,760 --> 00:23:26,820 >> Dakle ovdje je file I / O. file I / O ima puno sitnice koje ga čine komplicirano, 475 00:23:26,820 --> 00:23:29,890 pa postoje resursi online, ali u Ukratko, 476 00:23:29,890 --> 00:23:33,010 vas poziva otvoren na datoteku ime s određenog tipa. 477 00:23:33,010 --> 00:23:37,640 Tako da je pročitao, čitati i pisati, pisati ili dodati. 478 00:23:37,640 --> 00:23:41,790 Možete pročitati određeni broj likovi i vi ispisati one, 479 00:23:41,790 --> 00:23:42,595 ćete dobiti Pozdrav! 480 00:23:42,595 --> 00:23:43,970 Mislim, kao što je ovaj spis imao Pozdrav! 481 00:23:43,970 --> 00:23:46,480 U njemu, poziv za čitanje, i što ćete dobiti natrag 482 00:23:46,480 --> 00:23:49,520 je string koji ima sve od ostatka niza, 483 00:23:49,520 --> 00:23:50,860 ili sve ostatka datoteke. 484 00:23:50,860 --> 00:23:53,805 485 00:23:53,805 --> 00:23:56,055 Ako ponovno pročitate poziv, ti si na kraju datoteke, 486 00:23:56,055 --> 00:23:58,138 pa da ne bi ništa i tako ćete zatvoriti. 487 00:23:58,138 --> 00:24:02,510 Opet, ovo je .close nego blizu datoteka, kao što bi bilo u C. 488 00:24:02,510 --> 00:24:07,190 Ovo je manje ili više, jer je f stvar, a želite za f zatvoriti. 489 00:24:07,190 --> 00:24:12,092 Ali osnovni file I / O ne osobito komplicirano. 490 00:24:12,092 --> 00:24:15,300 Opet, ako želite otvoriti datoteku, ako želite pročitati određenu liniju, 491 00:24:15,300 --> 00:24:17,870 možete dobiti iz osobito line-- postoji izgrađen-in za to. 492 00:24:17,870 --> 00:24:19,995 Ako želite napisati stvar, možete pisati ovo. 493 00:24:19,995 --> 00:24:23,412 Ako želite napisati pojedinca ugriza, možete pisati one. 494 00:24:23,412 --> 00:24:25,620 A ako želite ponoviti preko linija datoteke 495 00:24:25,620 --> 00:24:29,557 pojedinačno, kao što smo učinili u komadu od Prije nekoliko tjedana, možete to učiniti. 496 00:24:29,557 --> 00:24:32,140 Opet, većina objekata koje bih željeli biti u mogućnosti ponoviti više 497 00:24:32,140 --> 00:24:33,780 Podrška Ponavljanje nad njima. 498 00:24:33,780 --> 00:24:37,430 U pitoni, datoteka je možda stvar koja Htio bih ponoviti tijekom redak po redak. 499 00:24:37,430 --> 00:24:39,138 Ako je to bila rječnik riječi i sam bio 500 00:24:39,138 --> 00:24:42,181 težak da biste dobili one pojedinca riječi iz, tada, u tom petlji, 501 00:24:42,181 --> 00:24:44,180 crta to će biti svaka riječ je pak i ovo 502 00:24:44,180 --> 00:24:47,880 će se izvršiti za svaku liniju u datoteci do kraja datoteke. 503 00:24:47,880 --> 00:24:52,280 I opet, ako sam ispisati svaki crta, linije dolaze s novim linijama, 504 00:24:52,280 --> 00:24:54,740 pa sam postavljanje kraj natrag na stvar kao što je ovaj. 505 00:24:54,740 --> 00:24:56,580 Onda bih se sadržaj moje datoteke. 506 00:24:56,580 --> 00:25:03,610 507 00:25:03,610 --> 00:25:07,480 >> Druga stvar koja djeluje u neke načine poput lista, i na neki način 508 00:25:07,480 --> 00:25:11,870 kao nešto bitno snažnije, 509 00:25:11,870 --> 00:25:16,170 rječnici, koje su stvarno super za korištenje, ali su u osnovi hash 510 00:25:16,170 --> 00:25:17,670 tablice u maskirati. 511 00:25:17,670 --> 00:25:23,330 Možete stvoriti pomoću točno dva znaka, što je strašan 512 00:25:23,330 --> 00:25:25,959 Ako ste pokušali provoditi hash tablicu za vaš problem set, 513 00:25:25,959 --> 00:25:27,250 znate koliko boli da može biti. 514 00:25:27,250 --> 00:25:29,390 No, ljudi su učinili da, i to tako dobro, 515 00:25:29,390 --> 00:25:32,260 da ne morate brinuti o tome više. 516 00:25:32,260 --> 00:25:35,180 >> Tada možete unijeti pojedinačne stvari. 517 00:25:35,180 --> 00:25:38,110 Hash tables-- ili rječnici ne osobito 518 00:25:38,110 --> 00:25:40,240 zanima me što ste spremanje u njima. 519 00:25:40,240 --> 00:25:44,210 Dakle, ako neke stavke su brojevi, a neke stavke su popisi, 520 00:25:44,210 --> 00:25:47,360 ako su neke unose drugi rječnici, a neke stavke su žice, 521 00:25:47,360 --> 00:25:49,930 Python ne mnogo njege. 522 00:25:49,930 --> 00:25:53,460 >> Opet, ako idete u nju očekujući niz i što ste dobili natrag 523 00:25:53,460 --> 00:25:56,269 je niz, to je tvoj problem. 524 00:25:56,269 --> 00:25:58,810 A možda je kriv tko mislio da je stavljanjem stvari 525 00:25:58,810 --> 00:26:00,476 u rječniku, možda da ti je. 526 00:26:00,476 --> 00:26:02,350 Ako je to bio netko drugo, nadam se da su 527 00:26:02,350 --> 00:26:04,520 dobro ponašao o čemu ide u rječniku 528 00:26:04,520 --> 00:26:07,420 i nije ostavio nikakve zamke za vas da padne u. 529 00:26:07,420 --> 00:26:10,890 >> Ali standardne funkcije će dati vam vratiti dobro ponašao stvari. 530 00:26:10,890 --> 00:26:13,500 Tako oni kažu to vraća natrag rječnika žice, 531 00:26:13,500 --> 00:26:15,860 onda je sve idete izaći je niz. 532 00:26:15,860 --> 00:26:20,710 Ako to ne učinite nešto od ovoga i putovanja što se, dobro, što bi moglo biti na vama. 533 00:26:20,710 --> 00:26:25,542 Python sigurno vam daje dovoljno konop da se objesiti, ako želite. 534 00:26:25,542 --> 00:26:28,250 Sada možemo ispisati pojedinca elementi ovo i ovo vraća 535 00:26:28,250 --> 00:26:29,935 upravo ono što biste očekivali. 536 00:26:29,935 --> 00:26:32,810 Upravo ono što biste očekivali, pretpostavljam, je izraz koji koristim puno, 537 00:26:32,810 --> 00:26:35,070 ali to je više ili manje kako Python radi. 538 00:26:35,070 --> 00:26:39,880 Ako pitate za stvar koja nije da, Python će izbaciti grešku 539 00:26:39,880 --> 00:26:43,194 i to će vam prestati iz sve što vam program bili. 540 00:26:43,194 --> 00:26:45,360 To će zapravo ispisati više informacija od toga, 541 00:26:45,360 --> 00:26:49,110 to će ukazati you-- to će dodajte liniju, i tako. 542 00:26:49,110 --> 00:26:52,190 >> A, opet, možda želimo da ponoviti tijekom rječnici 543 00:26:52,190 --> 00:26:54,410 i pronaći sve stvari u njemu. 544 00:26:54,410 --> 00:26:57,440 Ovdje smo iterating više dvije stvari u isto vrijeme. 545 00:26:57,440 --> 00:27:03,040 I tako ćemo to učiniti s ključem, vrijednosti, ali onda ispisati sve to. 546 00:27:03,040 --> 00:27:06,300 >> A ako smo htjeli cast-- Ako mi zapravo ran to, 547 00:27:06,300 --> 00:27:10,840 bismo imali nekih problema, jer on-- kad smo išli u s Davidom, 548 00:27:10,840 --> 00:27:13,920 ne može add-- ako nismo baci se niz prvi, 549 00:27:13,920 --> 00:27:17,802 nismo mogli dodati da je niz žice na žicu. 550 00:27:17,802 --> 00:27:19,760 Ali ako ga baci do string, dobili smo nešto 551 00:27:19,760 --> 00:27:22,590 ovako, što je možda ono što smo željeli čitati. 552 00:27:22,590 --> 00:27:27,000 553 00:27:27,000 --> 00:27:30,500 >> A to je bukvar. 554 00:27:30,500 --> 00:27:32,460 Upravo smo pročitali u stvari. 555 00:27:32,460 --> 00:27:35,770 Tako možemo čitati u pojedinačne riječi kao linije. 556 00:27:35,770 --> 00:27:38,240 Mi odsjeći posljednji stvar, tako da debelo minus 1 557 00:27:38,240 --> 00:27:41,651 chomps off posljednja stvar koja we-- zadnji znak u nizu. 558 00:27:41,651 --> 00:27:42,150 Mi ćemo reći. 559 00:27:42,150 --> 00:27:44,730 OK, svaka od njih dobiva umetnuta u ovom rječniku, 560 00:27:44,730 --> 00:27:45,810 mapiranje na vrijednost od 1. 561 00:27:45,810 --> 00:27:48,006 Mi ne osobito stalo da je jedan, 562 00:27:48,006 --> 00:27:51,130 ali to je samo tu da kažu, oh dobro, ovo što ću staviti u rječniku. 563 00:27:51,130 --> 00:27:53,182 Jer nakon što smo učiniti je da smo 564 00:27:53,182 --> 00:27:55,390 će reći, dobro, ako je to u rječniku uopće. 565 00:27:55,390 --> 00:27:57,650 >> Opet, ovo provjera Članstvo se operativni 566 00:27:57,650 --> 00:28:00,940 koristite potpuno drugačiji Algoritam nego što će na popisu, 567 00:28:00,940 --> 00:28:05,709 ali mi ga zovemo na isti način, koji je dio tog premaza Python šećera 568 00:28:05,709 --> 00:28:07,250 stvari, tako da su oni jednostavniji za korištenje. 569 00:28:07,250 --> 00:28:10,230 I opet, vidjeli smo stvari kao prije. 570 00:28:10,230 --> 00:28:12,940 To u osnovi se nalaze, ili to je točno isto sintaksa 571 00:28:12,940 --> 00:28:16,480 što naći, ali radi preko potpuno drugačije strukture. 572 00:28:16,480 --> 00:28:20,170 I ne osobito stalo. 573 00:28:20,170 --> 00:28:25,540 Dakle, to su stvari koje su upitani provoditi za Speller. 574 00:28:25,540 --> 00:28:29,278 U ovom slučaju, mi smo idući u dobiti više ili manje sve psets učinio. 575 00:28:29,278 --> 00:28:31,474 >> PUBLIKA: Da zapravo samo vraća 576 00:28:31,474 --> 00:28:34,852 kao pogrešno napisane, ako to ne odgovarati nešto u rječniku? 577 00:28:34,852 --> 00:28:36,060 ROSS RHEINGANS-YOO: Da, da. 578 00:28:36,060 --> 00:28:38,964 579 00:28:38,964 --> 00:28:40,880 I tako, ovo je adaptacija problem postaviti 580 00:28:40,880 --> 00:28:43,150 koji traži od vas da učinite upravo to. 581 00:28:43,150 --> 00:28:46,357 >> PUBLIKA: Zašto je linija minus 1 tamo? 582 00:28:46,357 --> 00:28:48,190 ROSS RHEINGANS-YOO: Pa kada ste iterating 583 00:28:48,190 --> 00:28:50,300 više datoteka traži linijama, linije 584 00:28:50,300 --> 00:28:53,900 dolaze s novom linijom karaktera krajem it-- minus 1 585 00:28:53,900 --> 00:28:55,260 je samo u dućan one off. 586 00:28:55,260 --> 00:28:59,549 A to je posebno fleksibilni način indeksiranje u stvari. 587 00:28:59,549 --> 00:29:01,590 Dakle, ako imate niz, a želite, dobro sam 588 00:29:01,590 --> 00:29:05,340 će početi u naravi tri i ja ću ići do kraja. 589 00:29:05,340 --> 00:29:07,140 3 debelo će to učiniti za vas. 590 00:29:07,140 --> 00:29:10,570 Ako ste poput, želim početi na početak i otići na posljednje minus 1 591 00:29:10,570 --> 00:29:12,400 karakter, debelo minus 1. 592 00:29:12,400 --> 00:29:14,940 A ako ste htjeli otići iz treći na minus prvi, 593 00:29:14,940 --> 00:29:16,570 onda bih rekao 3 minus 1. 594 00:29:16,570 --> 00:29:19,464 595 00:29:19,464 --> 00:29:22,400 >> Osim toga, ako želite indeksa u stvari računajući od leđa, 596 00:29:22,400 --> 00:29:24,470 ti samo Indeks se s minus brojevima. 597 00:29:24,470 --> 00:29:26,980 I zato, gdje je C će eksplodirati ili možda 598 00:29:26,980 --> 00:29:31,090 hraniti vam drugi memoriju niste imali pristup, čuti što mogu reći minus 1 599 00:29:31,090 --> 00:29:34,104 znači predzadnji 1 lik u nizu. 600 00:29:34,104 --> 00:29:36,950 601 00:29:36,950 --> 00:29:43,590 >> Moduli su version-- su analozi knjižnicama u C 602 00:29:43,590 --> 00:29:45,119 te su korisne za mnoge stvari. 603 00:29:45,119 --> 00:29:46,910 Puno stvari koje bih želite učiniti u Python, 604 00:29:46,910 --> 00:29:50,040 osim jednostavne manipulacija varijabli, 605 00:29:50,040 --> 00:29:52,290 Želite li spojiti Into the veće knjižnice s većim 606 00:29:52,290 --> 00:29:55,910 sučelja i više mogućnosti za interakciju 607 00:29:55,910 --> 00:29:57,195 s drugim dijelovima svijeta. 608 00:29:57,195 --> 00:29:58,910 sys je jedan od onih s hrpom alata 609 00:29:58,910 --> 00:30:01,159 koji su korisni za interakciju sa samog sustava 610 00:30:01,159 --> 00:30:05,050 i da će ga uvesti kao uvoznih sys. 611 00:30:05,050 --> 00:30:07,820 >> Postoji više dokumentacije iz da, što ste mogli ići ovdje, 612 00:30:07,820 --> 00:30:11,490 ili ste mogli naći na Googleu po googling Python sys. 613 00:30:11,490 --> 00:30:12,640 Možete upisati upisati. 614 00:30:12,640 --> 00:30:15,140 Prva veza će biti dokumentacija u Python 2, 615 00:30:15,140 --> 00:30:19,260 druga veza ide biti dokumentacija Python 3. 616 00:30:19,260 --> 00:30:24,830 >> A ako smo pisali kako datoteku koja je izgledala kao this-- Ako Posebno smo 617 00:30:24,830 --> 00:30:27,910 gledajući djeluju na argumente naredbenog retka, 618 00:30:27,910 --> 00:30:30,040 kao što smo naučili raditi vrlo rano u ovoj klasi. 619 00:30:30,040 --> 00:30:32,190 To nije teško. Možete izaći argv, 620 00:30:32,190 --> 00:30:34,565 što je jedna od onih stvari koji se provodi sys. 621 00:30:34,565 --> 00:30:37,210 Nije izgrađen-in na Baza paket, ali opet, ti 622 00:30:37,210 --> 00:30:40,080 može produljiti uvozom da funkcionalnost od sys. 623 00:30:40,080 --> 00:30:41,090 Vi ćete ga nazvati sys. 624 00:30:41,090 --> 00:30:42,611 kako god. 625 00:30:42,611 --> 00:30:43,360 Ovdje postoji argv. 626 00:30:43,360 --> 00:30:45,193 Tu je zapravo nema argc u sys, jer vas 627 00:30:45,193 --> 00:30:47,880 možete dobiti tako lako pozivom Len. 628 00:30:47,880 --> 00:30:55,390 Mi smo tada tiskani da se, onda smo ran na našem terminalu echo-args.py. 629 00:30:55,390 --> 00:30:58,360 Mi smo dobili natrag niz koji je to prvi argument. 630 00:30:58,360 --> 00:31:02,240 Opet, to se argv 0, što je naziv stvari koje je dobio zove. 631 00:31:02,240 --> 00:31:04,870 Ako smo ga zvali s dodatnim argumente, mi bismo dobili oni vratiti. 632 00:31:04,870 --> 00:31:07,687 633 00:31:07,687 --> 00:31:09,770 Ovo je jedan od načina dobivanja argumente naredbenog retka. 634 00:31:09,770 --> 00:31:13,440 Ako želite zastave gdje ćete skrenuti Pojedini stvari na ili nadjačati 635 00:31:13,440 --> 00:31:16,050 određeni zadani, argparse je tvoj prijatelj. 636 00:31:16,050 --> 00:31:21,550 I opet ćete naći da je online na pitona argparse na Googleu. 637 00:31:21,550 --> 00:31:24,300 >> Postoji nekoliko komunalnih moduli koje ste sami pronaći pomoću 638 00:31:24,300 --> 00:31:27,630 i opet, ako se provesti u bilo koje vrijeme to jezik uvoza jsons 639 00:31:27,630 --> 00:31:33,300 za čitanje i iz JSON datoteke, a ne da se komplicirano. 640 00:31:33,300 --> 00:31:37,139 Možete otvoriti datoteku, zove json.load na tu datoteku i vratiti stvar. 641 00:31:37,139 --> 00:31:37,930 Što je to? 642 00:31:37,930 --> 00:31:40,329 To je JSON objekt. 643 00:31:40,329 --> 00:31:42,370 Gdje da JSON je niz, Python ima polja. 644 00:31:42,370 --> 00:31:44,420 Gdje da JSON ima asocijativne nizove, Pythona 645 00:31:44,420 --> 00:31:48,810 rječnici, žice, i brojevi, i tako dalje. 646 00:31:48,810 --> 00:31:53,560 Želite deponij koji van, otvoriti novu datoteku, nazovete deponij, 647 00:31:53,560 --> 00:31:57,590 i opterećenja i deponijama se idu i iz žice. 648 00:31:57,590 --> 00:32:02,120 >> Slično tome, turšiju dobiva naziva se praktički na jednak sučelja. 649 00:32:02,120 --> 00:32:04,740 To je nešto više korisno ako ti damping Python objekata. 650 00:32:04,740 --> 00:32:08,370 Dakle, ako ste ikada htjeli spasiti verzija postojećeg stanja 651 00:32:08,370 --> 00:32:11,930 varijable za budućnost pokrenuti svoj program, 652 00:32:11,930 --> 00:32:14,740 rasol je Pythona knjižnica za taj događaj. 653 00:32:14,740 --> 00:32:19,140 >> Ako imate bilo kakve varijabla koja može biti napisan iz 654 00:32:19,140 --> 00:32:21,990 u ovakvim riječima i znakovima i bytes-- kao što je ovaj rječnik, 655 00:32:21,990 --> 00:32:24,230 možemo zapisati smo može zapisati kao 656 00:32:24,230 --> 00:32:26,670 kao JSON objekt, koji je bio doslovno ovi likovi. 657 00:32:26,670 --> 00:32:29,420 A onda će biti vrlo lako za ljudsko otvoriti to up-- otvoriti 658 00:32:29,420 --> 00:32:30,889 i čitajte ga. 659 00:32:30,889 --> 00:32:33,180 Ako nismo osobito briga o ljudima čitanja, 660 00:32:33,180 --> 00:32:38,490 možemo paket još učinkovitije u obrasce koji kasnije može biti nespreman 661 00:32:38,490 --> 00:32:42,860 ili da je kasnije mogao biti napuhan. 662 00:32:42,860 --> 00:32:46,740 A to štedi 80% prostor koji vaše predmeti moglo 663 00:32:46,740 --> 00:32:49,390 poduzeti ako ih napisao krasopisom. 664 00:32:49,390 --> 00:32:52,384 >> Možete nazvati krastavac jako puno isti way-- deponij, opterećenje, 665 00:32:52,384 --> 00:32:53,800 i onda dobiti svoje stvari natrag. 666 00:32:53,800 --> 00:32:56,880 Dakle, ako ste pisanje vrlo kratki programi Python koji 667 00:32:56,880 --> 00:32:59,952 želite spremiti stanje, a zatim pročitajte ih kasnije, stvari kao što je ovaj 668 00:32:59,952 --> 00:33:00,660 su vaši prijatelji. 669 00:33:00,660 --> 00:33:02,640 To bi mogao vrlo jednostavno ih deponij kao JSON. 670 00:33:02,640 --> 00:33:04,550 Većina Python objekata može izvatkom iz JSON 671 00:33:04,550 --> 00:33:11,310 ako postoji bilo nade da strukturalno su mogli biti predstavljeni na taj način. 672 00:33:11,310 --> 00:33:14,410 >> To su samo vrh ledenjak na modulima koji su korisni. 673 00:33:14,410 --> 00:33:19,510 Dakle SYS, OS, višestruka obradba, su vrsta osnovnih radni strojevi za stvari 674 00:33:19,510 --> 00:33:23,120 moramo komunicirati sa OS datotečni sustav., 675 00:33:23,120 --> 00:33:28,764 kao os.isfile, os.isdirectory, os.makefile, to su tvoji prijatelji. 676 00:33:28,764 --> 00:33:30,930 Ako želite komunicirati s određenom vrstom datoteke, 677 00:33:30,930 --> 00:33:32,190 JSON, rasol, CSV. 678 00:33:32,190 --> 00:33:37,160 Ako želite komunicirati s web stranica, urllib za dobivanje http 679 00:33:37,160 --> 00:33:41,370 stranice. bs4-- BeautifulSoup-- to je divno parser za HTML. 680 00:33:41,370 --> 00:33:47,047 Možete ga pokrenuti na html i vama dobiti ovaj umetnuta polja objekt sada, 681 00:33:47,047 --> 00:33:49,630 koje možete proći preko Lookin, sa sličnim samo u potrazi za 682 00:33:49,630 --> 00:33:52,380 ako je, je, što je fantastično. 683 00:33:52,380 --> 00:33:55,920 >> Postoji hrpa Paketi za running-- 684 00:33:55,920 --> 00:33:57,960 za to posebno mathy stvari. 685 00:33:57,960 --> 00:34:01,790 Dakle, ako želite da se množe, invertni, pretvoriti matrice, 686 00:34:01,790 --> 00:34:05,690 numpy koriste ljudi svih cijelom svijetu za to. 687 00:34:05,690 --> 00:34:09,620 scipy je još korisno alati u tom smjeru. 688 00:34:09,620 --> 00:34:13,980 sklearn-- strojno učenje, obrada prirodnoga jezika, 689 00:34:13,980 --> 00:34:17,880 super korisne stvari, dobiva provodi u Python svih vremena. 690 00:34:17,880 --> 00:34:21,469 >> I opet, malo traje više na write-- žao, 691 00:34:21,469 --> 00:34:26,199 traje nešto duže trčati, ali razlog da pravi inženjeri nastoje 692 00:34:26,199 --> 00:34:29,900 Korištenje Python je zato što imaju tendenciju da se blokiran na vas pisanje koda, a 693 00:34:29,900 --> 00:34:32,699 nego računalo trčanje kod. 694 00:34:32,699 --> 00:34:35,860 Dakle, ako ćete napisati program, koji puno drugih ljudi 695 00:34:35,860 --> 00:34:37,699 će koristiti zauvijek, kao što je Linux, 696 00:34:37,699 --> 00:34:41,900 Možda ga pisati u C. Ako ste bili će napisati računanja motor, 697 00:34:41,900 --> 00:34:46,124 možda pisati u Pythonu ako je potrebno ga promijeniti svakih par mjeseci. 698 00:34:46,124 --> 00:34:48,540 Neki ljudi će ga pisati u C jer oni su takvi. 699 00:34:48,540 --> 00:34:51,100 700 00:34:51,100 --> 00:34:54,050 >> Dakle, vidjeli smo uvoz sys kao način dobivanja stvari 701 00:34:54,050 --> 00:34:57,070 uzimajući modul u svoj program. 702 00:34:57,070 --> 00:35:00,370 Možete ga uvesti kao nadimak, ako želite. 703 00:35:00,370 --> 00:35:03,660 Opet višeobradbeni je bol upišite se svaki put, tako uvesti kao zastupnik 704 00:35:03,660 --> 00:35:05,900 a onda kad god koristiti u programu, 705 00:35:05,900 --> 00:35:09,732 reći ćete mp.process, ili ono što imate. 706 00:35:09,732 --> 00:35:12,670 Ako želite uvoz samo jednu stvar, 707 00:35:12,670 --> 00:35:19,450 pa urllib ima stvar pod nazivom Zahtjev, tako da možete jednostavno uvesti to. 708 00:35:19,450 --> 00:35:22,610 Kasnije, nećete ga zazivaju kao urllib.request, ali samo kao zahtjev 709 00:35:22,610 --> 00:35:24,590 sam. 710 00:35:24,590 --> 00:35:30,110 >> A možete uvesti sve iz modula, ako želite. 711 00:35:30,110 --> 00:35:34,820 To je ponekad nije dobar idea-- To obično nije dobra ideja, zapravo. 712 00:35:34,820 --> 00:35:39,080 Zato što very-- jer ako ništa u tom modulu ima ime koje vam 713 00:35:39,080 --> 00:35:41,640 htjeli koristiti negdje drugdje u svom programu, ne mogu. 714 00:35:41,640 --> 00:35:44,127 >> A to nije uvijek očito da je to slučaj. 715 00:35:44,127 --> 00:35:46,460 Kako bi bili sigurni da što ste radili je sigurno, 716 00:35:46,460 --> 00:35:47,920 trebate otvoriti modul i vidjeti sve 717 00:35:47,920 --> 00:35:50,295 od imena koja završavaju u there-- svim funkcijama, 718 00:35:50,295 --> 00:35:53,010 sve varijable koji žive u tom modulu, 719 00:35:53,010 --> 00:35:57,040 jer ti donosimo sve ih u svoj lokalni imenski prostor. 720 00:35:57,040 --> 00:35:58,680 >> Pa ljudi to učiniti. 721 00:35:58,680 --> 00:36:01,322 Općenito se preporučuje da ne to učiniti. 722 00:36:01,322 --> 00:36:03,280 Ali ljudi to sve vrijeme, jer oni su 723 00:36:03,280 --> 00:36:05,180 lijeni i ne žele se upisati mp. 724 00:36:05,180 --> 00:36:06,310 ništa, nikada. 725 00:36:06,310 --> 00:36:09,560 726 00:36:09,560 --> 00:36:13,310 >> Sve to govori o modulima Odvedi me oko kratki razgovor 727 00:36:13,310 --> 00:36:15,930 o tome kako dizajnirati program u Pythonu. 728 00:36:15,930 --> 00:36:19,860 Prvi korak je da provjerite je li bilo tko drugi već učinio stvar, 729 00:36:19,860 --> 00:36:22,160 ili učinjeno 90% stvari. 730 00:36:22,160 --> 00:36:26,010 Šanse su oni vjerojatno imaju, a vi treba ići dobiti svoju stvar i pokrenuti to. 731 00:36:26,010 --> 00:36:28,900 Ili napisati omot oko nje ga prilagoditi svoju svrhu. 732 00:36:28,900 --> 00:36:31,250 To je tek nakon toga ima nije da bih onda 733 00:36:31,250 --> 00:36:35,529 ići na i write-- početi razmišljati o Kako bi staviti ovu stvar zajedno. 734 00:36:35,529 --> 00:36:37,320 Postoji puno stvari vani, a to je 735 00:36:37,320 --> 00:36:39,180 jedna od najkorisnijih stvari o Pythonu. 736 00:36:39,180 --> 00:36:40,930 Kao i jezik Elegantan, jezik 737 00:36:40,930 --> 00:36:43,800 je jednostavan za korištenje, ali i zbog to je tako elegantan i jednostavan za korištenje, 738 00:36:43,800 --> 00:36:47,420 ljudi su koristeći Internet za dugo vremena i ima puno stvari 739 00:36:47,420 --> 00:36:52,520 vani da možete iskoristiti za vlastitu uporabu. 740 00:36:52,520 --> 00:36:58,457 >> Dakle, zadnji pravilo Python je netko ostalo je već napisano, vjerojatno 741 00:36:58,457 --> 00:37:00,290 modul za to, netko je već 742 00:37:00,290 --> 00:37:02,980 vjerojatno napisali knjižnica za to. 743 00:37:02,980 --> 00:37:06,579 Prije nego što pokušate napraviti ništa, izgleda vidjeti ako to je bio proveden. 744 00:37:06,579 --> 00:37:07,370 To nije tako teško. 745 00:37:07,370 --> 00:37:11,960 Sve od modula koji trpim prije, s možda jednim izuzetkom, 746 00:37:11,960 --> 00:37:15,220 dolaze pre-instaliran u svakom standardna instalacija Python. 747 00:37:15,220 --> 00:37:17,769 I tako uz poziv na uvesti bilo što, ti 748 00:37:17,769 --> 00:37:19,852 ima sve to funkcionalnosti na dohvat ruke. 749 00:37:19,852 --> 00:37:24,660 750 00:37:24,660 --> 00:37:28,920 >> Počevši završiti ovaj Razgovor, postoji nekoliko stvari 751 00:37:28,920 --> 00:37:32,770 da sam napustio kao crne kutije i vrsta premazani više, 752 00:37:32,770 --> 00:37:37,217 a tu je malo bijele laži koje imam rekao da zbog poštenja, 753 00:37:37,217 --> 00:37:39,050 Ja ću barem točke na ovdje, čak i ako neću 754 00:37:39,050 --> 00:37:43,980 ići super duboko u svima njima i njihove tehničke objašnjenja. 755 00:37:43,980 --> 00:37:46,010 >> Puno stvari koje sam nazvao magije 756 00:37:46,010 --> 00:37:48,980 je ono što drugi ljudi bi se nazvati Objektno orijentirano programiranje. 757 00:37:48,980 --> 00:37:52,470 Dakle, postoji mnogo things-- tako da su varijable često nije 758 00:37:52,470 --> 00:37:56,540 jednostavni bajtova sjedi u, memorije, ali su vrlo komplicirani 759 00:37:56,540 --> 00:38:01,910 predmeti koji su unutarnja Država o funkcijama i puno 760 00:38:01,910 --> 00:38:05,570 od skrivenih varijabli, puno skrivena funkcionalnost, koja 761 00:38:05,570 --> 00:38:09,480 omogućuje vam da ih pretvoriti u žice, koja vam omogućuje ponoviti nad njima. 762 00:38:09,480 --> 00:38:12,260 A ako ste writing-- i iz razloga što 763 00:38:12,260 --> 00:38:15,710 imate sve te bogate funkcionalnosti je zato što je people-- 764 00:38:15,710 --> 00:38:17,740 arhitekata language-- su otišli 765 00:38:17,740 --> 00:38:22,420 kroz i za svakog standarda objekt, staviti u funkciju 766 00:38:22,420 --> 00:38:26,970 reći to je kako je to kako ovo ide raditi 767 00:38:26,970 --> 00:38:28,470 ako netko želi ponoviti nad njim. 768 00:38:28,470 --> 00:38:31,240 >> Dakle, sve ono što netko mogao možda žele ponoviti više, 769 00:38:31,240 --> 00:38:34,529 je logika zapisano u Ručno kako ste 770 00:38:34,529 --> 00:38:36,070 trebalo ponoviti tijekom tog objekta. 771 00:38:36,070 --> 00:38:40,274 Sve što ste mogli eventualno želite bačena u nizu je logika napisao. 772 00:38:40,274 --> 00:38:43,440 To je funkcija koju nazvati, ako Želite li deponij to na koncu. 773 00:38:43,440 --> 00:38:45,273 To je razlog zašto možete pozvati Len na stvari, to 774 00:38:45,273 --> 00:38:49,900 Zato možete pozvati u, ovo je zašto možete nazvati ako se u svemu na 775 00:38:49,900 --> 00:38:53,490 koju bih želio, jer oni su sve nosi sa sobom, 776 00:38:53,490 --> 00:38:55,380 tehnički know-how to učiniti. 777 00:38:55,380 --> 00:38:58,170 778 00:38:58,170 --> 00:39:00,432 >> To je nešto što sam Super neće ići u. 779 00:39:00,432 --> 00:39:03,140 Ali stvar je u popisu je suptilno razlikuje od C stilu za petlje, 780 00:39:03,140 --> 00:39:06,160 a možete pročitati sve o tome na internet, ako ste zainteresirani. 781 00:39:06,160 --> 00:39:08,930 Tu je tamna strana za sve toga, što sam spomenuo, 782 00:39:08,930 --> 00:39:10,359 tako da dvije stvari. 783 00:39:10,359 --> 00:39:13,400 Prvi je da se taj cilj orijentirani programiranje dodaje puno pretek 784 00:39:13,400 --> 00:39:16,080 za slučajnih stvari, tako da na kraju se pomoću puno više memorije; 785 00:39:16,080 --> 00:39:18,640 ćete završiti pomoću malo više vremena nego što bi inače. 786 00:39:18,640 --> 00:39:21,300 Other-- ali više opasniji tamna strana na to 787 00:39:21,300 --> 00:39:24,047 je, ako se stvari jednostavno djelovati kao da ih želite 788 00:39:24,047 --> 00:39:27,130 bez potrebe da mislim super teško da li bi to trebalo biti int 789 00:39:27,130 --> 00:39:29,713 ili da li bi trebalo biti float, to bi moglo biti da je ovdje 790 00:39:29,713 --> 00:39:34,240 što proizvoditi int, ali ovdje si mislim, ali oni će always-- žao, 791 00:39:34,240 --> 00:39:36,555 to bi moglo biti da je ovdje proizvoditi plovak, 792 00:39:36,555 --> 00:39:39,430 ali kad dođete do drugog dijela od svog programa, što misliš, 793 00:39:39,430 --> 00:39:41,150 oh dobro, ali oni će uvijek prolaze mi int. 794 00:39:41,150 --> 00:39:43,608 A ako ne, to je moguće da klinču negdje, 795 00:39:43,608 --> 00:39:47,600 ako pokušate koristiti da indeksa u niz, ili ono što imate. 796 00:39:47,600 --> 00:39:51,050 >> Dakle, jedan od realnog korisne stvari o C je 797 00:39:51,050 --> 00:39:54,219 to vas tjera da mislite stvarno teško prije nego što bi any-- 798 00:39:54,219 --> 00:39:56,510 prije nego što bi bilo varijablu u postojanje, kao što je 799 00:39:56,510 --> 00:39:58,764 je tip varijable. 800 00:39:58,764 --> 00:40:00,680 I to će imati koja vrsta za sva vremena. 801 00:40:00,680 --> 00:40:02,410 >> Ovo nije istina Python, i zapravo, ti 802 00:40:02,410 --> 00:40:04,740 can-- ako ste samo vrsta ide po uhu, 803 00:40:04,740 --> 00:40:07,690 i donijeti neke odluke jedan način na jednom mjestu, 804 00:40:07,690 --> 00:40:09,870 i neke odluke jedno Način na drugom mjestu 805 00:40:09,870 --> 00:40:12,960 bez stavljajući iza dovoljno stvari scene u drugom mjestu 806 00:40:12,960 --> 00:40:16,170 uhvatiti stvari ispravno, Možete dobiti neke vrlo čudne pogreške. 807 00:40:16,170 --> 00:40:19,200 A program može nastaviti prikazivati za jako dugo vremena, jer je to 808 00:40:19,200 --> 00:40:23,200 radi puno posla za reći, i ova stvar može raditi na ovaj način, 809 00:40:23,200 --> 00:40:25,070 pa ću pokrenuti taj način. 810 00:40:25,070 --> 00:40:30,300 >> A u stvari, činjenica da je gura naprijed kroz puno malih pogrešaka 811 00:40:30,300 --> 00:40:33,260 znači da, često kada pogreška je zapravo loše 812 00:40:33,260 --> 00:40:38,720 a vi zapravo želite to popraviti, to završi milja away-- programa 813 00:40:38,720 --> 00:40:41,780 završi zaustavljanja milja daleko od kada je imao svoju pogrešku. 814 00:40:41,780 --> 00:40:46,590 I tako jedna stvar koja želimo Programi za napraviti, sometimes-- jednu stvar 815 00:40:46,590 --> 00:40:48,910 da želimo programe učiniti kad smo ispravljanje pogrešaka 816 00:40:48,910 --> 00:40:54,160 je uspjeti glasno i ne jako brzo kad nešto pođe po zlu. 817 00:40:54,160 --> 00:40:55,510 >> Python je vrlo loše u tome. 818 00:40:55,510 --> 00:40:58,820 Python je vrlo dobar u ne nedostatku i valjanje naprijed 819 00:40:58,820 --> 00:41:00,320 kroz neočekivane stvari. 820 00:41:00,320 --> 00:41:02,820 Dakle, to je korisno za kada pišete male programe. 821 00:41:02,820 --> 00:41:07,110 Kada ste dobili komplicirano bugovi ponekad 822 00:41:07,110 --> 00:41:09,300 Potrebno je dugo vremena da ih izvučemo. 823 00:41:09,300 --> 00:41:12,210 >> Dakle, tu je tamna strana za sve to, kao što je to samo radi. 824 00:41:12,210 --> 00:41:13,860 To samo radi kao što biste očekivali da. 825 00:41:13,860 --> 00:41:18,320 Osim da kad se to ne dogodi, te kraj u posve drugom mjestu 826 00:41:18,320 --> 00:41:21,530 i pokušava shvatiti gdje bilo je da je pošlo po zlu. 827 00:41:21,530 --> 00:41:25,180 >> Odvoz smeća is-- tako jedna stvar koju ćete primijetiti 828 00:41:25,180 --> 00:41:28,110 je da je bilo koji od tih stvari koje Ja sam doveo u existence-- 829 00:41:28,110 --> 00:41:34,114 ovi nizovi, ti rječnici, ove predmeti, njih files-- nikada ne oslobodi. 830 00:41:34,114 --> 00:41:36,030 Nije bilo poziv na besplatno u bilo koju od ovog razgovora. 831 00:41:36,030 --> 00:41:40,340 I to je bilo na C-strani, jer nikad nismo ušli u te stvari. 832 00:41:40,340 --> 00:41:42,220 >> No, u Python-strane, ne postoji besplatan. 833 00:41:42,220 --> 00:41:43,970 Stvari se automatski oslobođen kad Python 834 00:41:43,970 --> 00:41:45,386 misli da ne gleda na njih. 835 00:41:45,386 --> 00:41:49,640 To je stvarno dobro ne oslobađa stvari koje možda još eventualno se gleda, 836 00:41:49,640 --> 00:41:54,262 ali to znači da, ako ste bili će izdvojiti ovu veliku stvar, 837 00:41:54,262 --> 00:41:55,970 a ti si kao, oh Ja sam učinio s njim sada, 838 00:41:55,970 --> 00:42:00,360 to je teško reći Python da ste učinili s njim sada. 839 00:42:00,360 --> 00:42:02,986 >> Vi ponekad može postaviti da varijabla biti nitko, 840 00:42:02,986 --> 00:42:05,110 a onda se nadam da na kraju đubretar 841 00:42:05,110 --> 00:42:06,720 dolazi kroz i čisti ga. 842 00:42:06,720 --> 00:42:10,177 Ali opet, ne ima kontrolu nad tim. 843 00:42:10,177 --> 00:42:13,510 A jedan od razloga da ljudi koriste C za stvarno performansi kritičnih stvari, 844 00:42:13,510 --> 00:42:16,570 je ta sposobnost da se stvarno znam kad memorija se dodjeljuje 845 00:42:16,570 --> 00:42:19,369 a kad je oslobođen, te imaju puno kontrole nad govoreći, 846 00:42:19,369 --> 00:42:20,910 Ja sam koristeći ne više memorije nego što je potrebno. 847 00:42:20,910 --> 00:42:23,632 Što je nešto što Python nije da je velika na. 848 00:42:23,632 --> 00:42:25,090 PUBLIKA: Mogu li pitati pitanje? 849 00:42:25,090 --> 00:42:29,800 Što misliš uspjeti glasno? 850 00:42:29,800 --> 00:42:32,070 >> ROSS RHEINGANS-YOO: Dakle, ako Nešto se događa u redu 851 00:42:32,070 --> 00:42:34,950 i da ste u ispravljanje pogrešaka modu, što bi vrlo često 852 00:42:34,950 --> 00:42:38,510 Želite vaš program da ti kažem gdje je točno što je otišao u krivu, 853 00:42:38,510 --> 00:42:42,360 a ne samo tiho prestati prikazivati. 854 00:42:42,360 --> 00:42:45,085 Ali ti bi zapravo za ispis sve vrste informacija o 855 00:42:45,085 --> 00:42:46,972 kao, ovdje je to. 856 00:42:46,972 --> 00:42:53,957 Ovo što se dogodilo Ako ispis wen-- ako radite web server-- 857 00:42:53,957 --> 00:42:55,390 >> PUBLIKA: [nečujan] 858 00:42:55,390 --> 00:42:59,800 >> ROSS RHEINGANS-YOO: Da, ako radite web poslužitelja, 859 00:42:59,800 --> 00:43:02,680 to je ponekad loše ako ste Uvijek odbacivanje pogreške, 860 00:43:02,680 --> 00:43:04,530 a ti govoriš, i to nije uspjelo. 861 00:43:04,530 --> 00:43:05,300 Idem da se zaustavi. 862 00:43:05,300 --> 00:43:07,680 Samo ću ignorirati to i držati se događa. 863 00:43:07,680 --> 00:43:11,260 Jer onda se može dobiti u stotinama ovih pogrešaka, a ne vidjeti ih. 864 00:43:11,260 --> 00:43:13,910 >> To bi svakako bilo korisno za ispravljanje pogrešaka svrhe 865 00:43:13,910 --> 00:43:20,327 ako svaki put svoj web poslužitelj izneseno Pogreška, imali ste trajne zapise toga. 866 00:43:20,327 --> 00:43:22,910 Možda čak i želite program zaustaviti, tako da oni zapisi 867 00:43:22,910 --> 00:43:25,471 nemojte se zatrpala stvari. 868 00:43:25,471 --> 00:43:26,970 Ali opet, to je u debugging modu. 869 00:43:26,970 --> 00:43:31,280 >> Često u proizvodnom načinu rada, Svijet je malo drugačija. 870 00:43:31,280 --> 00:43:36,380 A u sitnim skripte koje sam trčanje, gdje je ono što sam rekao za napraviti 871 00:43:36,380 --> 00:43:40,680 možda samo malo off od onoga što bih želio to učiniti, 872 00:43:40,680 --> 00:43:44,010 onda nekako progurati pogreške je nešto možda želite. 873 00:43:44,010 --> 00:43:49,410 I u tim slučajevima, sigurno Python stvarno zarađuje svoje početke. 874 00:43:49,410 --> 00:43:54,617 >> Posljednja stvar koju nisam govoriti u this-- da nisam govoriti o 875 00:43:54,617 --> 00:43:57,700 ali može biti jako ozlojeđenost prvi Vrijeme imate jedan od tih pogrešaka, 876 00:43:57,700 --> 00:44:00,491 i drugi i treći i četvrti Vrijeme imate jednu te pogreške. 877 00:44:00,491 --> 00:44:03,490 Python, što sam spomenuo da koristi bijeli prostor 878 00:44:03,490 --> 00:44:06,700 vam reći što razinu uvlačenja i što funkcionalni blok ste u, 879 00:44:06,700 --> 00:44:08,840 to tretira kartice i prostore drugačije. 880 00:44:08,840 --> 00:44:12,780 Dakle, ako ste karticu tijekom četiri, a zatim sljedeći redak ima četiri mjesta, 881 00:44:12,780 --> 00:44:16,910 čak i ako se pojave kao Isti iznos u vašem urednika, 882 00:44:16,910 --> 00:44:20,160 Python ne tretiraju ih isto. 883 00:44:20,160 --> 00:44:23,610 >> U stvari, Python tretira kartice i prostori kao ulje i voda. 884 00:44:23,610 --> 00:44:25,050 Oni su samo različite stvari. 885 00:44:25,050 --> 00:44:27,264 Nema nekog posebnog Duljina da je kartica, 886 00:44:27,264 --> 00:44:30,180 tako da nije poput tab jednak 8 prostori, pa bi se oko nje 887 00:44:30,180 --> 00:44:30,860 onuda. 888 00:44:30,860 --> 00:44:34,110 Kao, kad je, kaže, što je Razina bijelog prostora sam na, 889 00:44:34,110 --> 00:44:37,240 to je zapravo u potrazi za uzorak prostora i karticama. 890 00:44:37,240 --> 00:44:43,050 I tako, najbolji način da se nositi s tim je da uvijek koristite razmake svih vremena. 891 00:44:43,050 --> 00:44:47,510 >> A u stvari, u Cloud9 IDE i CS50 IDE, 892 00:44:47,510 --> 00:44:50,610 kartici Ključne umeci četiri mjesta u umjesto 893 00:44:50,610 --> 00:44:53,800 o kartici, što je super korisna. 894 00:44:53,800 --> 00:44:57,074 Iako opet, ako je napisao Python Program s karticama koje će biti u redu, 895 00:44:57,074 --> 00:44:58,990 to je samo ako je netko ode i pokušao dodati 896 00:44:58,990 --> 00:45:02,655 jedan redak na svoj program koji imao četiri mjesta za svaku karticu, 897 00:45:02,655 --> 00:45:03,280 to bi slomiti. 898 00:45:03,280 --> 00:45:07,800 I to će razbiti na način to stvarno nije vidljiv. 899 00:45:07,800 --> 00:45:12,390 Iako stvarne pogreške Poruka da baca 900 00:45:12,390 --> 00:45:15,610 ima veze s novim uvući se ovdje ne očekuje, 901 00:45:15,610 --> 00:45:18,700 or-- ako pričaju alineje i to izgleda kao da je u krivu, 902 00:45:18,700 --> 00:45:22,090 to je vjerojatno zato postoji problem kartica-prostor. 903 00:45:22,090 --> 00:45:24,154 Oni još uvijek ozlojeđenost za ispravljanje. 904 00:45:24,154 --> 00:45:26,070 Najveći cjelini u ovaj razgovor, što nisam 905 00:45:26,070 --> 00:45:29,740 dobiti, jer to je stvarno komplicirano, suptilna tema, 906 00:45:29,740 --> 00:45:34,760 i nije bilo potrebno učiniti bilo od stvari koje smo dosad učinili, 907 00:45:34,760 --> 00:45:37,140 su koncept pod nazivom torke. 908 00:45:37,140 --> 00:45:41,280 Oni su tu puno poput polja koje se ne može mijenjati. 909 00:45:41,280 --> 00:45:44,700 Oni naviknuti sve više mjesta, jer korisni su za mnoge stvari 910 00:45:44,700 --> 00:45:46,300 da polja nisu korisni. 911 00:45:46,300 --> 00:45:49,890 >> Ali, ako želite napraviti niz, a onda obećati tumača da vam 912 00:45:49,890 --> 00:45:53,140 se nikada ne će htjeti mijenjati da stvar-- u stvari, ako želite mijenjati, 913 00:45:53,140 --> 00:45:56,800 ćete napraviti novi s novim vrijednosti u it-- one su torke. 914 00:45:56,800 --> 00:45:58,800 Umjesto proizvodnju ih sa uglatim zagradama, 915 00:45:58,800 --> 00:46:00,341 što ih proizvode sa okruglim zagradama. 916 00:46:00,341 --> 00:46:05,074 Zašto bi koristiti ove stvari, je malo pitanje. , 917 00:46:05,074 --> 00:46:06,990 Jedino što ću reći o tome je vas 918 00:46:06,990 --> 00:46:10,680 možete koristiti torke kao Indeksi za rječnika. 919 00:46:10,680 --> 00:46:15,010 Ne možete koristiti nizove kao Indeksi za rječnika. 920 00:46:15,010 --> 00:46:18,970 I zašto je, opet, tehničke i Neću trčati u njega. 921 00:46:18,970 --> 00:46:23,140 >> Pset da nisam dotaknuo u ovom razgovoru je pset6. 922 00:46:23,140 --> 00:46:25,837 Pa evo kako bih provesti A- evo 923 00:46:25,837 --> 00:46:28,140 Kako bi provesti pset6 u Pythonu. 924 00:46:28,140 --> 00:46:32,680 Imajući u vidu Piton dizajn ciklusa, prva stvar 925 00:46:32,680 --> 00:46:34,760 što učiniti kad ste pisanje programa je provjera 926 00:46:34,760 --> 00:46:38,030 da li netko to već učinili. 927 00:46:38,030 --> 00:46:42,152 >> U stvari, ako želite da serve-- Apache 50 928 00:46:42,152 --> 00:46:44,110 radi oko toga, osim što ne dolazi 929 00:46:44,110 --> 00:46:45,840 standardni instaliran na Linux strojevima. 930 00:46:45,840 --> 00:46:50,490 Python radi, a piton jednostavan HTTP poslužitelj radi kao dobro. 931 00:46:50,490 --> 00:46:54,717 Ako ste ikada na Linux stroj, ili Cloud9 IDE izvan CS50 932 00:46:54,717 --> 00:46:57,550 i želite služiti ovu struju katalog za određenu luku, 933 00:46:57,550 --> 00:47:04,610 python-m SimpleHTTPServer priključak služi tome. 934 00:47:04,610 --> 00:47:07,190 Također možete uvesti jednostavna http poslužitelj 935 00:47:07,190 --> 00:47:11,240 i to je dobio puno funkcionalnosti ako želite ga prilagoditi ili promijeniti, 936 00:47:11,240 --> 00:47:15,860 ili su pokrenuti it-- ga iskoristiti za pokrenuti vlastite poslužitelja usluge. 937 00:47:15,860 --> 00:47:18,032 >> Tako da je Python u malom. 938 00:47:18,032 --> 00:47:20,280 I to je CS50. 939 00:47:20,280 --> 00:47:21,980 Hvala. 940 00:47:21,980 --> 00:47:23,468