1 00:00:00,000 --> 00:00:05,426 2 00:00:05,426 --> 00:00:06,800 ROSS RHEINGANS-Yoo: Здраво, јас сум Рос. 3 00:00:06,800 --> 00:00:08,570 И ова е CS50 семинарот. 4 00:00:08,570 --> 00:00:12,100 Тоа ќе ве однесе од програмирање во C за програмирање во Python. 5 00:00:12,100 --> 00:00:15,120 >> Пајтон е јазик за скриптирање. 6 00:00:15,120 --> 00:00:17,870 Тоа е во голема мера како C во синтакса, иако некои 7 00:00:17,870 --> 00:00:20,390 на техничките детали на колку добива погубен дека синтаксата 8 00:00:20,390 --> 00:00:22,240 се малку различни. 9 00:00:22,240 --> 00:00:24,780 Тоа е помалку моќен од С, на некој начин. 10 00:00:24,780 --> 00:00:28,130 Тоа е помалку изразен за каде точно во вашиот компјутер 11 00:00:28,130 --> 00:00:30,030 меморија добива поставени, како таа добива поставени, 12 00:00:30,030 --> 00:00:32,030 кога ќе стане слобода и овие видови на нештата. 13 00:00:32,030 --> 00:00:36,150 >> Тоа е повеќе корисни од С, на некој начин, бидејќи тоа е полесно да програма во. 14 00:00:36,150 --> 00:00:39,920 Јазикот е, до одреден луѓе, повеќе интуитивна. 15 00:00:39,920 --> 00:00:44,820 И навистина, целта е за тоа да биде побрзо да го програмираат 16 00:00:44,820 --> 00:00:46,490 и потенцијално побавно да се изврши. 17 00:00:46,490 --> 00:00:48,198 >> Сега, ако се размислува за на износот на време 18 00:00:48,198 --> 00:00:50,514 сте потрошиле за вашата последна проблем во собата на пишување 19 00:00:50,514 --> 00:00:52,430 Кодот вашиот против износот на времето кое го минуваш 20 00:00:52,430 --> 00:00:55,310 на твојот последен проблем поставите извршување вашиот код, 21 00:00:55,310 --> 00:00:58,300 што би се замисли дека јазикот кој беше два пати толку брзо да се напише, 22 00:00:58,300 --> 00:01:02,170 и двапати како бавно за извршување, може да биде подобрување во однос Ц, на некој начин. 23 00:01:02,170 --> 00:01:05,730 Секако, кога ќе се обидуваш да се напише мали програми да се направи мали нешта, 24 00:01:05,730 --> 00:01:08,520 Пајтон е корисна јазик на избор. 25 00:01:08,520 --> 00:01:10,620 >> И на крајот на оваа Семинарот, се надевам дека ќе 26 00:01:10,620 --> 00:01:12,950 да биде во можност да се направи избор во идните проекти 27 00:01:12,950 --> 00:01:17,710 за кој јазик е точно да се користат, а не идејата 28 00:01:17,710 --> 00:01:21,405 дека еден јазик е многу поправите цело време. 29 00:01:21,405 --> 00:01:23,030 Неколку работи за тоа што на семинарот е. 30 00:01:23,030 --> 00:01:25,910 Овој семинар не е наменет за да научат да Пајтон од нула. 31 00:01:25,910 --> 00:01:28,310 Пајтон е многу слична до C, а јас сум под претпоставка 32 00:01:28,310 --> 00:01:34,056 дека сте студент CS50, или некој со слична блискоста со Ц. 33 00:01:34,056 --> 00:01:36,700 >> Ако сте студент CS50 целиот проблем во собата 6, 34 00:01:36,700 --> 00:01:38,866 Значи сте видите многу работите во C, јас ќе ви даде 35 00:01:38,866 --> 00:01:40,740 главните разлики, и некои од работите 36 00:01:40,740 --> 00:01:42,840 кои го прават различен Пајтон и посебна и корисни, 37 00:01:42,840 --> 00:01:45,256 но јас не одам да се обратите за она програмски јазик е 38 00:01:45,256 --> 00:01:46,920 и како да се пишуваат програми. 39 00:01:46,920 --> 00:01:49,820 Сепак, овој семинар ќе учат можете да напишете Пајтон програми 40 00:01:49,820 --> 00:01:52,310 ако сте еден од оние неколку групи. 41 00:01:52,310 --> 00:01:54,820 Повторно ќе се погледне како ќе се спроведе psets-- 42 00:01:54,820 --> 00:01:57,550 кој треба да биде 1-6 во Python-- и да се обезбеди совети 43 00:01:57,550 --> 00:02:00,322 до официјалната документација за во иднина. 44 00:02:00,322 --> 00:02:03,030 Од друга работа што е важно за тоа како е доделен овој разговор, 45 00:02:03,030 --> 00:02:05,360 Ова видео ќе биде онлајн, куртоазни на CS50, 46 00:02:05,360 --> 00:02:07,550 така да не треба да се чувствуваат како што треба да се забележува. 47 00:02:07,550 --> 00:02:11,180 Секогаш може да се врати и да се погледне на тоа подоцна како референца. 48 00:02:11,180 --> 00:02:13,340 Дополнително на слајдови се достапни во моментов 49 00:02:13,340 --> 00:02:16,480 на овој сајт, кој треба да ги правиш doc Google. 50 00:02:16,480 --> 00:02:21,010 Тоа е малку скратена верзија на она што јас сум покажува на екранот. 51 00:02:21,010 --> 00:02:24,850 >> Еден внимателен протест пред ние фрламе во, python 3 52 00:02:24,850 --> 00:02:26,700 е различен јазик од Python 2. 53 00:02:26,700 --> 00:02:30,020 Тие изгледаат многу исти; има многу мали технички разлики 54 00:02:30,020 --> 00:02:32,530 што ќе предизвика програми напишана во Python 2 55 00:02:32,530 --> 00:02:37,140 да не биде во можност да биде погубен во Пајтон 3 животната средина. 56 00:02:37,140 --> 00:02:41,969 >> Апаратот на CS50 доаѓа со Пајтон, стандардно тоа го користи Пајтон 2. 57 00:02:41,969 --> 00:02:44,010 Можете да ја проверите оваа страна пишување во вашиот командната линија 58 00:02:44,010 --> 00:02:51,310 Пајтон --version, кој треба излез 2.7.6 за актуелната апаратот. 59 00:02:51,310 --> 00:02:53,580 Обидете Пајтон 3, која се занимава работат во апаратот, 60 00:02:53,580 --> 00:02:58,500 ако Пајтон стандардно 2.X.Y, или на апаратот или на свој машини. 61 00:02:58,500 --> 00:03:03,730 Треба да го замени Пајтон 3 во секое време во ова зборува дека јас пишувам Пајтон. 62 00:03:03,730 --> 00:03:05,760 Ако вашата машина е работи 2 по дифолт, тип 63 00:03:05,760 --> 00:03:09,770 Пајтон 3, со цел да бидат во можност да всушност следат заедно и извршување на овие работи. 64 00:03:09,770 --> 00:03:12,280 >> Покрај тоа, јас ќе ви точка на официјалните средства сега. 65 00:03:12,280 --> 00:03:16,082 docs.python.org/3--~~V внимателни дека тоа е 3, а не 2-- 66 00:03:16,082 --> 00:03:17,030 има корисни референци. 67 00:03:17,030 --> 00:03:19,280 Почетен курс ќе ве однесе низ многу од истите работи 68 00:03:19,280 --> 00:03:21,460 што го правам сега, освен во текст форма. 69 00:03:21,460 --> 00:03:23,725 Референца е корисно како референца за јазикот, 70 00:03:23,725 --> 00:03:26,100 и стандардната библиотека дава вас некои од екстензии 71 00:03:26,100 --> 00:03:27,770 со дополнителна функционалност. 72 00:03:27,770 --> 00:03:31,300 >> Толку многу првата програма Пајтон. 73 00:03:31,300 --> 00:03:34,410 На левата страна ги имаме стандарден C, на десната страна, имаме Пајтон. 74 00:03:34,410 --> 00:03:36,780 Можеби ќе ја имаат признаено овој проблем, тоа е 75 00:03:36,780 --> 00:03:40,760 еден од првите проблеми сетови во CS50, и овие 76 00:03:40,760 --> 00:03:42,677 го решиме користејќи го истиот раствор. 77 00:03:42,677 --> 00:03:45,010 Сега, од причина што ние сме гледајќи ги овие рамо до рамо 78 00:03:45,010 --> 00:03:46,830 е па ние може да се погледне во синтаксички разлики. 79 00:03:46,830 --> 00:03:49,580 Еден од слон во соба што може да се забележи во право 80 00:03:49,580 --> 00:03:56,350 надвор од лилјак, е во тоа што нема Пајтон Главната функција на обвивката околу код. 81 00:03:56,350 --> 00:03:59,170 Па во C, ти напишам еден куп датотеки, можете да ги поврзат заедно, 82 00:03:59,170 --> 00:04:02,590 а на програмата ќе почне извршување во тоа нешто наречено int главната. 83 00:04:02,590 --> 00:04:04,930 >> Во Python, ти пишувам ќе датотека, извршување на датотеката, 84 00:04:04,930 --> 00:04:07,882 на програмата ќе почне извршување на врвот на датотеката. 85 00:04:07,882 --> 00:04:09,590 Па затоа се случува да се започне на врвот на датотеката 86 00:04:09,590 --> 00:04:11,280 одат надолу додека не се најде нешто друго. 87 00:04:11,280 --> 00:04:14,440 Ако најде дефиниција функција, тоа нема да се всушност извршување тој код, 88 00:04:14,440 --> 00:04:15,940 тоа едноставно ќе се дефинира функција. 89 00:04:15,940 --> 00:04:18,459 Но, еве, кога за првпат Програмата е n е еднакво на 10, 90 00:04:18,459 --> 00:04:21,273 првото нешто што оваа програма ќе го однесам вредност од 10 91 00:04:21,273 --> 00:04:24,120 и го постави во променлива наречена n. 92 00:04:24,120 --> 00:04:27,690 >> Говорејќи на таа линија, една од други things-- sorry-- ова 93 00:04:27,690 --> 00:04:31,040 значи дека C програми, ќе ги пишувам, 94 00:04:31,040 --> 00:04:34,899 ќе ги направи, кој ќе се повикуваат некои ѕвекот команди, 95 00:04:34,899 --> 00:04:36,690 а потоа ќе се води резултира извршна. 96 00:04:36,690 --> 00:04:41,030 Пајтон програми, ќе се кандидира на Текстот file-- ова би можело mario.py 97 00:04:41,030 --> 00:04:44,900 биде оваа датотека, дека само што покажа you-- ќе се кандидира на таа датотека 98 00:04:44,900 --> 00:04:47,450 и ќе се изврши, и содржината на тоа 99 00:04:47,450 --> 00:04:50,390 ќе биде извршена од страна на Python преведувачот. 100 00:04:50,390 --> 00:04:52,470 Можете да го направите ова во вашиот ИРО. 101 00:04:52,470 --> 00:05:02,260 >> Па ако имам датотека Здраво, кој едноставно има оваа содржина. 102 00:05:02,260 --> 00:05:04,840 Ова е всушност Пајтон 2, не Пајтон 3, па не 103 00:05:04,840 --> 00:05:06,600 грижите за синтаксата за сега. 104 00:05:06,600 --> 00:05:14,230 Но, јас ќе се кандидира Пајтон, на hello.py, и тоа работи. 105 00:05:14,230 --> 00:05:18,890 >> Друг начин на кој можете да го користите дека Пајтон Јас нема да се справи со толку многу во овој разговор, 106 00:05:18,890 --> 00:05:21,840 е ако јас само напишете Пајтон, тоа ме капки во средина каде што 107 00:05:21,840 --> 00:05:24,370 Можам да го нахрани Пајтон линија по линија. 108 00:05:24,370 --> 00:05:31,260 Па еве, ако сум тип во печати простор "Здраво, свет". 109 00:05:31,260 --> 00:05:32,360 Напишете влезе. 110 00:05:32,360 --> 00:05:37,430 Тоа ќе ме плукаат, кој се врати на резултатите таа индивидуа линија веднаш. 111 00:05:37,430 --> 00:05:38,470 >> Ова може да биде корисно. 112 00:05:38,470 --> 00:05:40,700 Во овој разговор ќе се прават работите на слајдови. 113 00:05:40,700 --> 00:05:43,940 И така ќе биде во можност да го следат заедно или во тука, или со пишување 114 00:05:43,940 --> 00:05:45,725 Крај на датотеки и потоа да ги извршуваат. 115 00:05:45,725 --> 00:05:48,340 116 00:05:48,340 --> 00:05:50,995 >> Но, да се вратам на оваа код, друга работа 117 00:05:50,995 --> 00:05:53,230 дека можете да имате noticed-- Па, има 118 00:05:53,230 --> 00:05:55,980 две работи кои можеби ќе известување за овие блокови. 119 00:05:55,980 --> 00:05:59,280 Првиот, а посекојдневни, е тоа што Пајтон нема коса запирка. 120 00:05:59,280 --> 00:06:02,630 >> Запирки се опционални насекаде и безопасно насекаде. 121 00:06:02,630 --> 00:06:03,722 Можете да ги додадете. 122 00:06:03,722 --> 00:06:06,430 Тоа може да има луѓе кои пишуваат Пајтон за дневна кикот на тебе 123 00:06:06,430 --> 00:06:08,860 за грб, бидејќи тие не се неопходни. 124 00:06:08,860 --> 00:06:13,497 Тие често се знак за се одржи во текот од В. дизајнери на јазикот 125 00:06:13,497 --> 00:06:16,580 чувствуваат дека тоа е повеќе јасно на овој начин и дека тоа не е потребно да се изјасни 126 00:06:16,580 --> 00:06:18,700 секој пат кога ќе се стави крај на линија. 127 00:06:18,700 --> 00:06:21,799 >> Уште една чудна работа за овој n е тоа не имаат еден вид спроведен. 128 00:06:21,799 --> 00:06:24,590 Еден од магијата парчиња Python-- а јас ќе одам да го наречеме магија, 129 00:06:24,590 --> 00:06:26,381 но постојат многу технички причини зошто тоа 130 00:06:26,381 --> 00:06:28,560 works-- еден од магијата парчиња Пајтон 131 00:06:28,560 --> 00:06:32,700 е дека променливи може да се прошири или да смалуваат содржи сите податоци 132 00:06:32,700 --> 00:06:34,530 типови што би сакале тие да се сакате. 133 00:06:34,530 --> 00:06:35,580 >> Значи ова е 10. 134 00:06:35,580 --> 00:06:40,060 Ако подоцна по јас доделен на овој n 0.5, тоа ќе се земе дека 0.5. 135 00:06:40,060 --> 00:06:43,770 Без разлика на тоа што тоа е на int тука и плови таму, нешто што го користи ова н 136 00:06:43,770 --> 00:06:47,057 ќе, повеќе или помалку, да бидат способни да chug заедно ако станува било кој од овие. 137 00:06:47,057 --> 00:06:49,640 Освен ако има некои многу реална причина зошто тоа не може да ги користат податоците 138 00:06:49,640 --> 00:06:52,170 напишеш дека n моментов има, на која точка ќе добиете 139 00:06:52,170 --> 00:06:54,490 заглавени и фрли грешка, и оние видови на нештата. 140 00:06:54,490 --> 00:06:57,050 >> Но, еве, Python навистина не се грижат што 141 00:06:57,050 --> 00:06:59,140 е тоа што јас ќе одам да се држиме во овој реченица, како, што го сакате тоа нешто? 142 00:06:59,140 --> 00:06:59,840 Ова нешто во тоа? 143 00:06:59,840 --> 00:07:00,640 Да, тоа е вид на нешто. 144 00:07:00,640 --> 00:07:01,810 Јас ќе се држи тоа на крајот. 145 00:07:01,810 --> 00:07:04,740 Тоа ќе биде проблем подоцна, ако некој кој сака да го искористи тој крај 146 00:07:04,740 --> 00:07:05,710 не може да се справи со неа. 147 00:07:05,710 --> 00:07:08,500 Ова е една од главните разликите помеѓу Пајтон и Ц 148 00:07:08,500 --> 00:07:10,790 што го прави лесен за да се пишувам многу голема C програми 149 00:07:10,790 --> 00:07:15,120 и го прави полесно да се напише многу мал Пајтон програма. 150 00:07:15,120 --> 00:07:19,564 >> За синтаксата не е многу различни по што таа прави. 151 00:07:19,564 --> 00:07:21,480 Тоа е малку поинаква во тоа како е изразена. 152 00:07:21,480 --> 00:07:25,370 Значи ова е многу, она што се нарекува Pythonic, начин на пишување. 153 00:07:25,370 --> 00:07:28,969 за ред во опсег (л), ова е спектар на броеви од 0 до n, 154 00:07:28,969 --> 00:07:31,010 заклучно на дното и ексклузивни на врвот. 155 00:07:31,010 --> 00:07:34,790 Па тоа е од 0 до n-1, кое е што точно го кодот C е тоа, 156 00:07:34,790 --> 00:07:38,690 освен што е многу полесно да се погледне во, можеби. 157 00:07:38,690 --> 00:07:42,710 >> Релевантните блок е не тргна од протези 158 00:07:42,710 --> 00:07:44,540 наместо тоа се тргна со овој вовлекување. 159 00:07:44,540 --> 00:07:47,580 Така што сите од овие линии се четири места во текот на правото, 160 00:07:47,580 --> 00:07:50,410 или како врска со ширина слон. 161 00:07:50,410 --> 00:07:54,570 И тие се оние кои се ќе биде извршена во ова за. 162 00:07:54,570 --> 00:07:57,020 Ако јас се плеткаш вовлекување на ова и јас 163 00:07:57,020 --> 00:08:01,420 кои им помогнам назад на печатење оригиналниот вовлекување, 164 00:08:01,420 --> 00:08:04,320 дека печати ќе ја напушти за телефонска линија. 165 00:08:04,320 --> 00:08:08,560 За разлика од Ц, каде што тука јас всушност треба да се движи оваа затворена заграда наоколу. 166 00:08:08,560 --> 00:08:11,820 >> Ова значи дека вие не добивате грешки кои скокаат на тебе затоа што 167 00:08:11,820 --> 00:08:13,580 стави голема заграда во погрешно место. 168 00:08:13,580 --> 00:08:16,460 Тоа не значи дека ќе го добиете грешки кои скокаат на тебе затоа што 169 00:08:16,460 --> 00:08:17,620 вовлечен линија ред. 170 00:08:17,620 --> 00:08:19,290 Па тоа го прави засеци супер внимателни. 171 00:08:19,290 --> 00:08:22,123 Се надевам дека ќе се се супер внимателни со вашите вовлекување во секој случај, 172 00:08:22,123 --> 00:08:25,300 и така ова не е тоа многу повеќе од товар. 173 00:08:25,300 --> 00:08:28,762 >> Но основно правило за Python, и ќе имаме и неколку од нив 174 00:08:28,762 --> 00:08:30,970 дека ние ќе одиме преку преку За време на разговор, 175 00:08:30,970 --> 00:08:33,840 се обиде природен синтакса пред да барате ништо до. 176 00:08:33,840 --> 00:08:37,610 Па оваа синтакса, за овој број во опсег, 177 00:08:37,610 --> 00:08:41,460 е многу карактеристична во смисла на стил. 178 00:08:41,460 --> 00:08:45,260 Многу работи во Python ќе видиме преземање на оваа форма. 179 00:08:45,260 --> 00:08:47,420 >> И така, ако дојде до со нов објект што го 180 00:08:47,420 --> 00:08:50,870 мислам дека треба да биде во можност да iterate во текот на овој, во овој формат, 181 00:08:50,870 --> 00:08:53,720 Излегува тоа веројатно го поддржува тој формат. 182 00:08:53,720 --> 00:08:56,990 Ние нема да оди супер длабоко во техничките причини зошто тоа е вистина. 183 00:08:56,990 --> 00:09:00,167 >> Но, тоа е корисно да имаат интуиција кога сте се приближува Пајтон програми, 184 00:09:00,167 --> 00:09:01,750 дека тоа нешто е само да оди на работа. 185 00:09:01,750 --> 00:09:03,020 Пробај. 186 00:09:03,020 --> 00:09:06,480 Подигнете нагоре на командната линија Преведувач, види дали таа работи, 187 00:09:06,480 --> 00:09:09,827 се движи со нешта, пред да дури и треба да се отвори во Google и да каже, 188 00:09:09,827 --> 00:09:11,660 што е синтаксата на ова особено нешто? 189 00:09:11,660 --> 00:09:14,740 Многу Пајтон би можеле откријат само со обидот. 190 00:09:14,740 --> 00:09:19,005 >> Ако ова е уште повеќе слично до C тогаш Форс се. 191 00:09:19,005 --> 00:09:20,380 Имајте на ум дека нема загради. 192 00:09:20,380 --> 00:09:23,490 Заградите се, повторно, безопасен, но непотребни. 193 00:09:23,490 --> 00:09:25,750 Постои дебелото црево на крајот исто како и за петелки, 194 00:09:25,750 --> 00:09:30,800 и повторно, релативната блокови се вовлечен наместо тргна од загради. 195 00:09:30,800 --> 00:09:33,080 Ова друго е во оригиналот ниво на вовлекување, 196 00:09:33,080 --> 00:09:35,930 и нејзините релевантни блок вовлечен повторно. 197 00:09:35,930 --> 00:09:41,720 Оние работи токму онака како што тоа го прават во В. 198 00:09:41,720 --> 00:09:44,520 >> Всушност ова е многу многу исти. 199 00:09:44,520 --> 00:09:49,430 Повторно, печати ја губи еден карактер исклучување на printf Вие поминат некои жици. 200 00:09:49,430 --> 00:09:51,520 Излегува стрингови или може да се одбележа 201 00:09:51,520 --> 00:09:53,562 со единечен наводник или двојни наводници. 202 00:09:53,562 --> 00:09:55,270 Нема разлика, освен дека внатре 203 00:09:55,270 --> 00:09:57,722 на единечен наводник можете да го користите двојни наводници со напуштат, 204 00:09:57,722 --> 00:09:59,430 наместо да ги избега сите од нив. 205 00:09:59,430 --> 00:10:01,480 И во внатрешноста на двојни наводници, можете може да Користете единечен наводник со напуштат 206 00:10:01,480 --> 00:10:02,420 без да ги избегнат. 207 00:10:02,420 --> 00:10:04,253 Ако сакаше да се меша нив, сигурно може да 208 00:10:04,253 --> 00:10:06,100 Побарајте онлајн како да се направи тоа. 209 00:10:06,100 --> 00:10:09,581 >> Ќе забележите дека овде, Јас сум донесен во крајот = тоа нешто. 210 00:10:09,581 --> 00:10:12,580 Ова е пример на изборен аргумент, кој е една од оние работи 211 00:10:12,580 --> 00:10:14,990 Пајтон дека го поддржува тоа го прави доста корисни. 212 00:10:14,990 --> 00:10:18,240 Па печатење всушност има многу аргументи, кои се обично 213 00:10:18,240 --> 00:10:20,140 поставени на нивните стандардни вредности вредност, но тука сум 214 00:10:20,140 --> 00:10:21,924 одлучи да го замени еден вика крај. 215 00:10:21,924 --> 00:10:24,340 Од причина што јас треба да се го замени со празен стринг 216 00:10:24,340 --> 00:10:26,756 е во тоа што за печатење во Python, од страна на Стандардно, отпечатоци од нова линија 217 00:10:26,756 --> 00:10:28,630 по нешто што ќе им го раскажа премногу. 218 00:10:28,630 --> 00:10:31,462 >> Па ова хаш е всушност ќе печатење на хаш во нова линија. 219 00:10:31,462 --> 00:10:34,670 И ако јас не сакам да се печати хаш нова линија по неа, тогаш морам да кажам 220 00:10:34,670 --> 00:10:35,340 не се печати една. 221 00:10:35,340 --> 00:10:37,980 222 00:10:37,980 --> 00:10:43,690 Но, се уште е така, едно последно нешто што оваа програма изнесува недостасува дека еден има е 223 00:10:43,690 --> 00:10:44,960 една вклучуваат на врвот. 224 00:10:44,960 --> 00:10:48,120 Печати се печени во Пајтон значи, во основа дека нема заглавие или модулот 225 00:10:48,120 --> 00:10:49,869 дека треба да се вклучуваат, но ако сакаше 226 00:10:49,869 --> 00:10:52,029 да се вклучат и други работи во Python скрипта, 227 00:10:52,029 --> 00:10:55,320 Јас би го направил тоа на многу сличен format-- зборовите се само малку различни. 228 00:10:55,320 --> 00:10:58,840 229 00:10:58,840 --> 00:11:01,360 >> Јас спомнав дека ние не треба главната тука, 230 00:11:01,360 --> 00:11:03,372 бидејќи Пајтон започнува извршување на врвот. 231 00:11:03,372 --> 00:11:05,080 Ако сакав да се заврши ова во функција, јас 232 00:11:05,080 --> 00:11:07,667 ќе го стори тоа како јас this-- би рекол името дефиниција функција, 233 00:11:07,667 --> 00:11:10,500 аргументи би можеле да одат во тука и ние ќе види некои од оние кои подоцна, дебелото црево, 234 00:11:10,500 --> 00:11:13,040 а потоа, повторно, ова целиот тргна блок 235 00:11:13,040 --> 00:11:16,810 е она што е во функција блокира за таа функција. 236 00:11:16,810 --> 00:11:18,560 Значи ова е дефиниција на функцијата. 237 00:11:18,560 --> 00:11:21,587 И таму е декларација, потоа долу овде, јас само може да се јавите на функцијата. 238 00:11:21,587 --> 00:11:23,920 И повторно, на програмата преведувач, со почеток во врвот, 239 00:11:23,920 --> 00:11:25,280 ќе го гледаат ова е дефиниција. 240 00:11:25,280 --> 00:11:27,960 Тоа нема да се изврши оваа додека не се добие тука, а потоа тоа е како, о 241 00:11:27,960 --> 00:11:30,860 сега сте го нарече, јас Претпоставувам дека треба да го изврши. 242 00:11:30,860 --> 00:11:33,850 >> Едно нешто што е многу честа за да ја видите во Python датотеки, 243 00:11:33,850 --> 00:11:36,700 особено Пајтон датотеки што се пуштени во јавноста 244 00:11:36,700 --> 00:11:41,650 и развиени by-- и развиени и одржува, е нешто на оваа форма. 245 00:11:41,650 --> 00:11:44,540 Ова е така затоа што basically-- Пајтон, ќе почнете на врвот 246 00:11:44,540 --> 00:11:50,310 а потоа ќе се изврши до дното, Мислам, ако јас само имаше Марио извика тука, 247 00:11:50,310 --> 00:11:54,190 тогаш секој пат кога оваа датотека вклучени во друга датотека, затоа што сакав да го користите 248 00:11:54,190 --> 00:11:58,580 е Марио функција, таа друга датотека би исто така, имаат овој повик да Марио во неа. 249 00:11:58,580 --> 00:12:01,000 И кога налетав на таа датотека, тоа би го нарекол Марио. 250 00:12:01,000 --> 00:12:04,520 >> Па можно е дека само јас сакате да ја извршите оваа, ако јас сум всушност 251 00:12:04,520 --> 00:12:07,290 егзекутирани конкретниов датотека. 252 00:12:07,290 --> 00:12:11,520 И да можам да се заврши ова во идиом како овој, каде што велам, 253 00:12:11,520 --> 00:12:14,820 Ако името на ова извршување Животната средина е главниот, 254 00:12:14,820 --> 00:12:16,200 тогаш сакам да прават вакви работи. 255 00:12:16,200 --> 00:12:18,710 Во спротивно некој друг може да use-- вклучите мојот function-- 256 00:12:18,710 --> 00:12:22,510 моето досие, и само за да добие пристап до овие функции 257 00:12:22,510 --> 00:12:25,552 без да се кандидира работи дека сакам да се изврши во оваа датотека. 258 00:12:25,552 --> 00:12:27,260 Ова е, пак, по желба но многу честа појава. 259 00:12:27,260 --> 00:12:30,450 260 00:12:30,450 --> 00:12:33,840 >> Овие нешта се entirely-- се иста помеѓу C и Python, 261 00:12:33,840 --> 00:12:35,100 секако, во 3. 262 00:12:35,100 --> 00:12:38,610 Мислам дека во 2, операторот на поделба понекогаш ти дава назад лебди кога 263 00:12:38,610 --> 00:12:41,450 сте оперирани ints, и или си сакал тој или не сте. 264 00:12:41,450 --> 00:12:44,777 Но, плус, минус, а пати се однесуваат исто како што би очекувале, 265 00:12:44,777 --> 00:12:46,110 освен преку малку повеќе типови. 266 00:12:46,110 --> 00:12:49,740 За да можете да се размножуваат плови по ints, и оние видови на нештата. 267 00:12:49,740 --> 00:12:52,480 >> сет работи токму истото. 268 00:12:52,480 --> 00:12:54,310 Можете да го користите две еднакви знаци. 269 00:12:54,310 --> 00:12:59,000 inequals-- поголем од, помалку отколку, овие видови на things-- 270 00:12:59,000 --> 00:13:02,580 ги имаат значењата кои сте запознаени со нив. 271 00:13:02,580 --> 00:13:05,770 >> Каде што C користи овие оператори, Пајтон користи малку повеќе на англиски јазик 272 00:13:05,770 --> 00:13:06,390 читлив оние. 273 00:13:06,390 --> 00:13:09,348 Така, наместо на две, ampersands, можете буквално напишете го зборот "и", "или" 274 00:13:09,348 --> 00:13:10,740 или не." 275 00:13:10,740 --> 00:13:13,420 Како и во вашиот if-- во вашата условно извештаи, 276 00:13:13,420 --> 00:13:17,670 што видовме претходно дека оваа синтакса во C одговара на оваа синтакса во Python. 277 00:13:17,670 --> 00:13:21,010 И таму не е многу различна таму, освен за малку 278 00:13:21,010 --> 00:13:24,780 на интерпункција околу страни. 279 00:13:24,780 --> 00:13:28,890 Повторно, каде C би друго ако, python користи elif, 280 00:13:28,890 --> 00:13:33,960 но овие се претежно промени на нивото на површината. 281 00:13:33,960 --> 00:13:38,450 >> Повторување како ова е често напишано во овој идиом во Python. 282 00:13:38,450 --> 00:13:42,350 Можете да се произведуваат овој вид на Она со додека јамка за надвор 283 00:13:42,350 --> 00:13:46,387 ако сака, но вие секако, не треба да се. 284 00:13:46,387 --> 00:13:48,970 И повторно, ако си сакал на испечатите елементи на низата 285 00:13:48,970 --> 00:13:50,560 може да го направи тоа на овој начин. 286 00:13:50,560 --> 00:13:52,927 Еден од забавни нешта за Пајтон иако, 287 00:13:52,927 --> 00:13:54,760 е тоа што вие не треба да да се користи оваа парадигма, 288 00:13:54,760 --> 00:13:57,290 и можете да го користите малку повеќе домот еден. 289 00:13:57,290 --> 00:13:59,370 Да се ​​каже за во арен. 290 00:13:59,370 --> 00:14:02,980 >> Така, наместо да оди тука и работи во текот на индекси, 291 00:14:02,980 --> 00:14:05,630 и потоа извлече поединечни елементи, 292 00:14:05,630 --> 00:14:08,644 ви ја каже за да се, всушност, само прегазен самите елементи. 293 00:14:08,644 --> 00:14:11,060 И тогаш што правите во внатрешноста може да работи директно 294 00:14:11,060 --> 00:14:13,260 на елементите, што е прилично забавно. 295 00:14:13,260 --> 00:14:16,710 И ние ќе see-- ќе се послужиме повторно и повторно дека идиом 296 00:14:16,710 --> 00:14:18,050 чекориме во кодот. 297 00:14:18,050 --> 00:14:20,091 >> Ова е, пак, на пример на нешто што јас ќе 298 00:14:20,091 --> 00:14:23,300 повика Python магија, иако постојат многу технички причини зошто тоа функционира. 299 00:14:23,300 --> 00:14:26,340 А тука се и технички работи кои треба да бидат точни за низа со цел 300 00:14:26,340 --> 00:14:28,340 за ова да работи зад сцената. 301 00:14:28,340 --> 00:14:31,390 Работата е дека повеќето типови кои можат да се очекуваат ова да работи 302 00:14:31,390 --> 00:14:36,610 имале овој спроведува за ви во вграден во јазикот. 303 00:14:36,610 --> 00:14:40,030 >> Друга работа е дека тоа би било убаво ако ова работел во секој јазик, 304 00:14:40,030 --> 00:14:45,460 но постојат неколку причини зошто тоа не може, печати ја оваа низа пати овој број. 305 00:14:45,460 --> 00:14:48,860 Излезе во Python, ова го прави токму што би сакале, што е само забава, 306 00:14:48,860 --> 00:14:52,840 и значи дека ние всушност може да намали оваа програма, која повторно mario.c. 307 00:14:52,840 --> 00:14:57,150 Наместо процесирањето многу, ние можеме само да се каже, јас сакам некои број на места, 308 00:14:57,150 --> 00:15:01,120 Сакам бројот на хаш, а некои хаш на крајот. 309 00:15:01,120 --> 00:15:02,640 И повторно, ние ги користиме овој формат. 310 00:15:02,640 --> 00:15:05,340 >> Тука, ние сме поминува во променлива на овој начин. 311 00:15:05,340 --> 00:15:08,050 Повторно, ние не треба да се каже она што тип на променлива е тоа, 312 00:15:08,050 --> 00:15:11,322 и единствениот пат ќе добијат грешки е во рок време. 313 00:15:11,322 --> 00:15:13,030 Кога некој се обидува да помине нешто во, 314 00:15:13,030 --> 00:15:14,860 тоа ќе стапи на функцијата само парична казна. 315 00:15:14,860 --> 00:15:18,240 Ако ние клин тука, бидејќи ова не е Она што може да се создаде движи над, 316 00:15:18,240 --> 00:15:22,100 Јас ќе добие траење грешка таму, и јас ќе мора да го debug на тој начин. 317 00:15:22,100 --> 00:15:25,050 Но, во меѓувреме, јас немам да се биде многу внимателен во врска со тоа што 318 00:15:25,050 --> 00:15:32,800 ќе поминуваат во, се додека во конкретната извршување сето тоа функционира многу чисто. 319 00:15:32,800 --> 00:15:35,080 >> Јас би можел да се направи ова малку почиста 320 00:15:35,080 --> 00:15:41,770 со помош на посебен вграден во функција на жици, кој е во право оправда. 321 00:15:41,770 --> 00:15:45,250 Ова е само корисна функција милување библиотеката. 322 00:15:45,250 --> 00:15:47,660 Тоа е во документацијата ако одите и да се погледне за неа. 323 00:15:47,660 --> 00:15:51,650 А јас велам, и јас ќе одам да имаат оваа низа, некои број на хаш, 324 00:15:51,650 --> 00:15:56,390 и јас би сакал да го оправда право it-- рампа тоа надвор со места за да биде оваа должина. 325 00:15:56,390 --> 00:16:00,584 >> Повторно, ова е во документација, со што се доведува us-- 326 00:16:00,584 --> 00:16:03,500 Јас всушност ќе кликнат these-- што нè доведува до нашата Второто правило 327 00:16:03,500 --> 00:16:06,990 за Python-- стандардната библиотека Методи на функцијата се вашите пријатели. 328 00:16:06,990 --> 00:16:09,880 И тоа е често вреди вашето време да одат во потрага за Се прашувам 329 00:16:09,880 --> 00:16:12,310 ако има нешто што само го прави ова. 330 00:16:12,310 --> 00:16:13,830 Постојат веројатно е. 331 00:16:13,830 --> 00:16:15,990 Ако сакате можете да рампа конец, ако сакате 332 00:16:15,990 --> 00:16:17,470 сакал да ги преземе назад половина на стринг, ако сакате 333 00:16:17,470 --> 00:16:20,370 сакал да пребарувате низ низа, ако што би сакале да пресече неколку работи 334 00:16:20,370 --> 00:16:22,420 заедно со низа со запирки помеѓу нив, 335 00:16:22,420 --> 00:16:24,640 постојат стандардната библиотека функции за тоа. 336 00:16:24,640 --> 00:16:27,190 >> И тоа го прави вашиот живот полесно ако ги користите 337 00:16:27,190 --> 00:16:29,240 наместо Почнуваме сето сами 338 00:16:29,240 --> 00:16:31,650 во пет линии на код овде пет линии на код овде. 339 00:16:31,650 --> 00:16:34,430 Дека навистина започнува во додадете до реално време. 340 00:16:34,430 --> 00:16:37,430 >> Една од интересните работи за тоа како ова добива нарекува. 341 00:16:37,430 --> 00:16:39,980 Ќе забележите дека има нешто точка. 342 00:16:39,980 --> 00:16:43,490 Имам некои објекти од левата страна, и тогаш се јавив на функција точка. 343 00:16:43,490 --> 00:16:49,780 Ова е една од парадигми кои Пајтон користи за прикачување на методи за да се објектите. 344 00:16:49,780 --> 00:16:54,410 Ние ќе зборуваме за она што овој е многу кратко, на крајот, 345 00:16:54,410 --> 00:16:58,510 но знам дека и ние може да работат на работи со преземање на тоа нешто велејќи точка 346 00:16:58,510 --> 00:17:01,690 што и да, или со повик функција која трае 347 00:17:01,690 --> 00:17:04,339 тој објект и некои други аргументи. 348 00:17:04,339 --> 00:17:07,450 >> Значи овие се двата начини на кои работите да се сработуваат во Python. 349 00:17:07,450 --> 00:17:09,780 И дали одреден функционалност е имплементиран 350 00:17:09,780 --> 00:17:14,230 во овој стил или ова стил е нешто што можете 351 00:17:14,230 --> 00:17:19,990 треба да се погледне нагоре додека не се добие висат за кој е најверојатно да падне во. 352 00:17:19,990 --> 00:17:22,660 Има еден, повеќе или помалку смирување филозофијата зад Пајтон 353 00:17:22,660 --> 00:17:24,930 кои ви се апсорбираат главно со пишување на многу во него. 354 00:17:24,930 --> 00:17:28,190 Во одреден момент, кој од овие нешто ќе се спроведува како 355 00:17:28,190 --> 00:17:29,470 станува природно. 356 00:17:29,470 --> 00:17:32,420 Сега за сега, тоа е само нешто ви учат како да дознаам 357 00:17:32,420 --> 00:17:34,140 секоја индивидуална работа. 358 00:17:34,140 --> 00:17:36,420 >> Па стандардната библиотека функции се вашите пријатели, 359 00:17:36,420 --> 00:17:41,320 и тие ви дозволуваат да пишувате работи кои потрае ова многу простор навистина кратко време, 360 00:17:41,320 --> 00:17:42,040 навистина елегантно. 361 00:17:42,040 --> 00:17:45,670 И ова е всушност веројатно повеќе читливи, јас би рекол, од програмата C 362 00:17:45,670 --> 00:17:46,780 таму. 363 00:17:46,780 --> 00:17:49,730 Да не се спомене фактот дека е така кратко може да се вклопуваат во целина слон 364 00:17:49,730 --> 00:17:52,250 во просторот што ние сме спасени. 365 00:17:52,250 --> 00:17:56,270 >> Друга работа, ова е имплементацијата на Марио дека е точка C, што мислам дека 366 00:17:56,270 --> 00:17:57,890 е најкратко може да го добие. 367 00:17:57,890 --> 00:18:00,757 Тоа не мора на се int, но тешко кодови вредност од 10 368 00:18:00,757 --> 00:18:02,090 на ист начин како што тоа го прави тоа. 369 00:18:02,090 --> 00:18:06,080 Излезе дека ова еден часовници во 84 карактери, додека Пајтон е 64. 370 00:18:06,080 --> 00:18:11,490 И ова е бескрајно повеќе може да се чита од ова ѓубре овде. 371 00:18:11,490 --> 00:18:14,610 Па Пајтон е поефикасен во вселената. 372 00:18:14,610 --> 00:18:17,260 Тоа е малку помалку ефикасни во тоа време, но не и од многу. 373 00:18:17,260 --> 00:18:18,890 >> Листи се важна работа во Python. 374 00:18:18,890 --> 00:18:21,540 375 00:18:21,540 --> 00:18:24,587 Ние не сме ги виделе, но тие работат многу како низи направи во В. 376 00:18:24,587 --> 00:18:27,170 Па еве, ќе може да ги пријават, можете да ги помине во нешто. 377 00:18:27,170 --> 00:18:29,810 Сега плоштади поседува Низа на овие работи. 378 00:18:29,810 --> 00:18:33,480 Повторно, ние не се прогласени за тип, но ако некогаш се обидат да го користат, 379 00:18:33,480 --> 00:18:36,260 нешто што би очекувале да работи на низа од цели броеви 380 00:18:36,260 --> 00:18:40,130 се случува да работат на низа од цели броеви. 381 00:18:40,130 --> 00:18:42,030 >> Ова е нешто што сте апсолутно не може 382 00:18:42,030 --> 00:18:47,390 направи во C, бидејќи меморија е толку раце, 383 00:18:47,390 --> 00:18:48,950 но е многу лесно да се направи во Python. 384 00:18:48,950 --> 00:18:55,310 Ако сакам моето низа да биде поголем, што можам додадете елемент на него и тоа е во ред. 385 00:18:55,310 --> 00:18:57,150 >> Она што се случува зад сцената? 386 00:18:57,150 --> 00:18:59,150 Преведувачот ќе одат надвор и да добијат некои меморија, 387 00:18:59,150 --> 00:19:00,860 а можеби и тоа ќе се добие малку дополнителна меморија, 388 00:19:00,860 --> 00:19:03,090 па јас не, па јас немам да realloc секое време. 389 00:19:03,090 --> 00:19:04,897 Но, колку имаме повеќе меморија не е потребно? 390 00:19:04,897 --> 00:19:06,730 Ова не се одлуки што треба да се направи, 391 00:19:06,730 --> 00:19:10,540 ова се одлуки што Преведувачот ќе направи. 392 00:19:10,540 --> 00:19:12,270 >> Овде можеме да видиме опсег може земе два аргументи, 393 00:19:12,270 --> 00:19:16,430 но сè уште нема да биде инклузивна на почеток па го додаваме 1 таму. 394 00:19:16,430 --> 00:19:21,970 Ова е идиом, кој е дури и повеќе паметен начин да се пишуваат вакви работи. 395 00:19:21,970 --> 00:19:25,980 Таа се вика листа со разбирање, и тука она што ние го велиме 396 00:19:25,980 --> 00:19:32,560 се би сакал да го стави во з квадрат за секој вредноста на i во овој опсег. 397 00:19:32,560 --> 00:19:35,770 Ова нешто на правото може да биде друго низа, и тоа нешто на левата 398 00:19:35,770 --> 00:19:40,740 да биде некоја особена функција кои ќе ги преземат во I како променлива 399 00:19:40,740 --> 00:19:42,250 и ми даде некаков резултат. 400 00:19:42,250 --> 00:19:43,480 >> Она што јас ќе одам да направите е, Одам да се изгради 401 00:19:43,480 --> 00:19:46,200 низа тоа е сите овие нешта за секоја вредност во овој опсег. 402 00:19:46,200 --> 00:19:48,960 403 00:19:48,960 --> 00:19:55,670 И ова е супер елегантен, супер кратки, и тоа е многу јасно што значи тоа. 404 00:19:55,670 --> 00:19:59,190 Оваа е една од things-- тоа е, повторно, 405 00:19:59,190 --> 00:20:03,860 еден of-- многу симптоматични за причини што луѓето како Пајтон. 406 00:20:03,860 --> 00:20:05,900 Ако ви се допаѓа програмирање вака, тогаш Пајтон 407 00:20:05,900 --> 00:20:07,830 е јазик можеби ќе сакате да се научат. 408 00:20:07,830 --> 00:20:10,950 >> И повторно, постојат технички причините зошто тоа функционира. 409 00:20:10,950 --> 00:20:14,730 Но, колку што ние сме загрижени, ние, повеќе или помалку, не ми е грижа. 410 00:20:14,730 --> 00:20:18,500 >> Значи, ако сакате да ја испечатите листи, некои од истите идиоми се корисни. 411 00:20:18,500 --> 00:20:20,940 Зашто Јас во овој опсег, ние би можеле да Индекс низ сите нешта 412 00:20:20,940 --> 00:20:23,140 и потоа да бидат испечатите. 413 00:20:23,140 --> 00:20:24,650 И ќе видите Лен тука. 414 00:20:24,650 --> 00:20:27,150 Ако некогаш сте сакале да се добие должината на низата, тоа е 415 00:20:27,150 --> 00:20:31,150 многу лесно во Python, тоа е многу тешко во В. 416 00:20:31,150 --> 00:20:33,720 Ова ќе се печати точно она што би го очекувале да. 417 00:20:33,720 --> 00:20:36,986 Ние, исто така, како што видовме претходно, iterate во текот на елементи во низа 418 00:20:36,986 --> 00:20:39,860 директно, а потоа само се зборува за нив, наместо да има индекс 419 00:20:39,860 --> 00:20:43,190 назад во низа во секое време. 420 00:20:43,190 --> 00:20:45,990 >> И ова е нешто што можете да направите. 421 00:20:45,990 --> 00:20:49,984 Па во C, ако прашате за нешто вака, печати би рекол, 422 00:20:49,984 --> 00:20:51,150 тоа е низа од цели броеви. 423 00:20:51,150 --> 00:20:53,456 Што дефинитивно не е стринг, не можам да го испечатите. 424 00:20:53,456 --> 00:20:54,830 Пајтон повеќе или помалку, не се грижи. 425 00:20:54,830 --> 00:20:57,496 Тоа е како, постои начин на кој јас може да се претвори ова во во низа? 426 00:20:57,496 --> 00:20:58,500 Да, јас ќе го направи тоа. 427 00:20:58,500 --> 00:21:01,600 И така јас само ќе се печати дека надвор. 428 00:21:01,600 --> 00:21:03,640 Ова значи дека можете да се прават работите like-- овие 429 00:21:03,640 --> 00:21:06,530 се поголемиот дел од хард делови на играта на петнаесет, напишана 430 00:21:06,530 --> 00:21:08,930 многу кратко во Python. 431 00:21:08,930 --> 00:21:11,320 >> Ќе видите дека има малку of-- тука 432 00:21:11,320 --> 00:21:14,441 Сум го дадат цел број во низа, и морам да го направите тоа рачно. 433 00:21:14,441 --> 00:21:16,190 А јас ќе одам да се додаде тоа во друга низа, 434 00:21:16,190 --> 00:21:17,590 или на друг начин Пајтон збунува. 435 00:21:17,590 --> 00:21:19,840 Но, дали и кога сте додавајќи низа на цел број, 436 00:21:19,840 --> 00:21:22,630 Претпоставувам дека сум за да се добие врати цел број или стринг назад? 437 00:21:22,630 --> 00:21:24,480 Но, повторно, ако само јавете ул за нешто, 438 00:21:24,480 --> 00:21:27,240 и тоа би можело во секој можен светот се конвертира во низа, 439 00:21:27,240 --> 00:21:30,390 тоа најверојатно ќе биде претворена во низа. 440 00:21:30,390 --> 00:21:33,120 >> Тука, ние гледаме на употребата на вгнездена листа со разбирање 441 00:21:33,120 --> 00:21:38,690 на левата страна, некои индексирање, која е точно како што сакате да се навикнеш на него, 442 00:21:38,690 --> 00:21:40,060 а некои печатење на нештата. 443 00:21:40,060 --> 00:21:42,560 Повторно, ние сме дефинирани некои функции, а ние ќе ги наречеме долу 444 00:21:42,560 --> 00:21:45,820 во главната кога ние всушност го добиете датотека. 445 00:21:45,820 --> 00:21:52,004 враќање работи токму како што би очекуваат од работа со В. Најди, 446 00:21:52,004 --> 00:21:54,420 ние да го поставите работите како this-- тука е листа со разбирање 447 00:21:54,420 --> 00:21:59,245 има задача да променлива, и ние, всушност, може да го направи тоа дури и полесно. 448 00:21:59,245 --> 00:22:01,870 Ние не треба да се напише за пребарување, бидејќи вграден на јазикот 449 00:22:01,870 --> 00:22:04,230 е ако тоа нешто е во оваа низа. 450 00:22:04,230 --> 00:22:05,680 Врати вистина, друго return false. 451 00:22:05,680 --> 00:22:08,830 Значи тоа е целината на откритие. 452 00:22:08,830 --> 00:22:12,230 >> Целината на вид вклучува повикувајќи вид, 453 00:22:12,230 --> 00:22:15,462 која is-- постојат имплементации на овој вградена во одредени C библиотеки. 454 00:22:15,462 --> 00:22:17,170 Ако сакате ова вид на наназад, ќе 455 00:22:17,170 --> 00:22:20,450 може да ја замени оваа опција аргумент во обратна насока со вистина. 456 00:22:20,450 --> 00:22:23,350 457 00:22:23,350 --> 00:22:27,860 И ако би сакале да се најде решение преку жици, која е вградена како и. 458 00:22:27,860 --> 00:22:31,950 >> Значи ова не е да се каже овие се работи кои што треба да се направи секој ден, 459 00:22:31,950 --> 00:22:34,280 но идејата е дека овој е филозофијата на Пајтон, 460 00:22:34,280 --> 00:22:37,530 дека сите овие работи кои што би вид сакате да го направите е вграден. 461 00:22:37,530 --> 00:22:42,410 И повеќето стандардни функции, толку вид, должина, без разлика, 462 00:22:42,410 --> 00:22:44,380 поддршка на повеќето логично разумен влез. 463 00:22:44,380 --> 00:22:49,020 Ти се јавам Лен на низа исто начинот на кој го нарекуваме Лен на конец. 464 00:22:49,020 --> 00:22:55,785 Multiply-- можете да ги сортирате низи на ист начин да се најде решение за низи. 465 00:22:55,785 --> 00:22:58,930 466 00:22:58,930 --> 00:23:00,740 >> Повеќето стандардни функции дека луѓето се изгради, 467 00:23:00,740 --> 00:23:03,000 и повеќето од трети лица библиотеки, кои луѓе 468 00:23:03,000 --> 00:23:06,980 изгради, затоа што тие се угледува дизајнот на стандардната библиотека, 469 00:23:06,980 --> 00:23:10,190 може да се нарече за се она што си како, зошто не се ова само работа, 470 00:23:10,190 --> 00:23:12,800 во C. Повеќе или помалку, дека ќе работи во Python 471 00:23:12,800 --> 00:23:15,930 затоа што луѓето работат зад да фигура што е ова и потоа да работат 472 00:23:15,930 --> 00:23:17,510 соодветно на тоа. 473 00:23:17,510 --> 00:23:22,760 Значи, повторно, техничка позадина, но тоа го прави нашиот живот полесно, како програмери. 474 00:23:22,760 --> 00:23:26,820 >> Значи тука е датотека I / O. датотека I / O има многу мали нешта кои го прават тоа комплицирано, 475 00:23:26,820 --> 00:23:29,890 и така постојат ресурси на интернет, но во мало, 476 00:23:29,890 --> 00:23:33,010 ти се јавам отворени на датотека именува со одреден тип. 477 00:23:33,010 --> 00:23:37,640 Значи тоа е чита, чита и пишувам, пишувам, ниту да се додаде. 478 00:23:37,640 --> 00:23:41,790 Го прочитате на одреден број на ликови и да ги печатите оние, 479 00:23:41,790 --> 00:23:42,595 ќе добиете Здраво! 480 00:23:42,595 --> 00:23:43,970 Мислам, како оваа датотека имаше Здраво! 481 00:23:43,970 --> 00:23:46,480 Во неа, јавете се да се чита, и она што ќе се вратам 482 00:23:46,480 --> 00:23:49,520 е стринг кој ги има сите од остатокот од низата, 483 00:23:49,520 --> 00:23:50,860 или сите на остатокот од датотеката. 484 00:23:50,860 --> 00:23:53,805 485 00:23:53,805 --> 00:23:56,055 Ако ти се јавам повторно читање, ти си на крајот на датотеката, 486 00:23:56,055 --> 00:23:58,138 и така да не добие ништо и така ќе се затвори. 487 00:23:58,138 --> 00:24:02,510 Повторно, ова е .close наместо близина на датотеки, како што ќе биде во В. 488 00:24:02,510 --> 00:24:07,190 Ова е повеќе или помалку, затоа што f е работа, и што би сакале за f за да го затворите. 489 00:24:07,190 --> 00:24:12,092 Но основните датотека I / O не е особено комплицирано. 490 00:24:12,092 --> 00:24:15,300 Повторно, ако сакате да се отвори датотеката, ако што би сакале да читаат одредена линија, 491 00:24:15,300 --> 00:24:17,870 може да се добијат од особено line-- има изградена-in за тоа. 492 00:24:17,870 --> 00:24:19,995 Ако сакате да се напише работа, можете да ја напишам оваа. 493 00:24:19,995 --> 00:24:23,412 Ако сакате да се напише поединечни каснувања, може да се пишуваат тие. 494 00:24:23,412 --> 00:24:25,620 И ако сакате да iterate во текот на линии на датотека 495 00:24:25,620 --> 00:24:29,557 поединечно, како што направивме во едно парче од Пред неколку недели, можете да го направите тоа да. 496 00:24:29,557 --> 00:24:32,140 Повторно, повеќето објекти, кои би сакал да биде во можност да iterate во текот 497 00:24:32,140 --> 00:24:33,780 поддршка процесирањето над нив. 498 00:24:33,780 --> 00:24:37,430 Во Монти Пајтон, фајлот е можеби нешто што Би сакал да iterate во текот ред по ред. 499 00:24:37,430 --> 00:24:39,138 Ако тоа беше речникот на зборови, а јас бев 500 00:24:39,138 --> 00:24:42,181 се обидува да добие тие поединечни зборови, а потоа, во рамките на овој циклус, 501 00:24:42,181 --> 00:24:44,180 линија тоа се случува да биде секој збор, пак и ова 502 00:24:44,180 --> 00:24:47,880 ќе биде погубен за секоја линија во датотеката до крајот на датотеката. 503 00:24:47,880 --> 00:24:52,280 И повторно, ако јас се отпечатени секоја линија, линиите доаѓаат со нови линии, 504 00:24:52,280 --> 00:24:54,740 па јас сум поставување на крајот назад кон нешто како ова. 505 00:24:54,740 --> 00:24:56,580 Тогаш јас ќе добијам со содржината на датотеката. 506 00:24:56,580 --> 00:25:03,610 507 00:25:03,610 --> 00:25:07,480 >> Втората работа која работи во некој начин слична листи, и на некој начин 508 00:25:07,480 --> 00:25:11,870 како нешто значително помоќен, 509 00:25:11,870 --> 00:25:16,170 се речници, кои се навистина кул да го користите, но во суштина се хаш 510 00:25:16,170 --> 00:25:17,670 маси во себе. 511 00:25:17,670 --> 00:25:23,330 Да се ​​создаде една, користејќи ги два лика, што е страшно 512 00:25:23,330 --> 00:25:25,959 ако сте се обиделе да се спроведе хаш табелата за вашиот проблем во собата, 513 00:25:25,959 --> 00:25:27,250 знаеш колку болка која може да биде. 514 00:25:27,250 --> 00:25:29,390 Но, луѓето имаат направено тоа, и тоа го прави толку добро, 515 00:25:29,390 --> 00:25:32,260 тоа што вие не мора да го се грижите за тоа повеќе. 516 00:25:32,260 --> 00:25:35,180 >> Тогаш можете да го внесете поединечните нешта. 517 00:25:35,180 --> 00:25:38,110 Хаш tables-- или речници не особено 518 00:25:38,110 --> 00:25:40,240 гајле што сте чување во нив. 519 00:25:40,240 --> 00:25:44,210 Па ако некои записи се броеви, а некои записи се листи, 520 00:25:44,210 --> 00:25:47,360 ако некои записи и други речници, а некои записи се стрингови, 521 00:25:47,360 --> 00:25:49,930 Пајтон не прави многу за заштита. 522 00:25:49,930 --> 00:25:53,460 >> Повторно, ако оди во неа очекувајќи стринг и она што ќе се вратам 523 00:25:53,460 --> 00:25:56,269 е низа, тоа е вашиот проблем. 524 00:25:56,269 --> 00:25:58,810 И можеби тоа е вина на кој мислев дека тоа е оставате работите 525 00:25:58,810 --> 00:26:00,476 во речникот, можеби тоа беше вас. 526 00:26:00,476 --> 00:26:02,350 Ако тоа беше некој друго, се надевам дека тие беа 527 00:26:02,350 --> 00:26:04,520 добро се однесувал за тоа што се случува во речникот 528 00:26:04,520 --> 00:26:07,420 и не ја напушти било стапици за да падне во. 529 00:26:07,420 --> 00:26:10,890 >> Но стандардот функции ќе ти го врати добро однесување работи. 530 00:26:10,890 --> 00:26:13,500 Така што тие велат дека ова се враќа се врати на речникот на стрингови, 531 00:26:13,500 --> 00:26:15,860 тогаш сè си оди да излезат од е стринг. 532 00:26:15,860 --> 00:26:20,710 Ако го направите некои од ова и патувања ви се, добро, тоа би можело да биде за вас. 533 00:26:20,710 --> 00:26:25,542 Пајтон секако ви дава доволно јаже да се обесиш, ако сакате. 534 00:26:25,542 --> 00:26:28,250 Сега ние може да се печати од индивидуалните елементи на овој и овој се враќа 535 00:26:28,250 --> 00:26:29,935 токму она што би очекувале. 536 00:26:29,935 --> 00:26:32,810 Токму она што би очекувале, претпоставувам, е фраза која јас користам многу, 537 00:26:32,810 --> 00:26:35,070 но тоа е повеќе или помалку како функционира Пајтон. 538 00:26:35,070 --> 00:26:39,880 Ако ве праша за нешто што не е тоа, python ќе го исфрли грешка 539 00:26:39,880 --> 00:26:43,194 и тоа ќе ви се откажат од што и програма ќе се во. 540 00:26:43,194 --> 00:26:45,360 Тоа, всушност, ќе се печати повеќе информации од тоа, 541 00:26:45,360 --> 00:26:49,110 тоа ќе се укаже you-- тоа ќе додадете линија, и така. 542 00:26:49,110 --> 00:26:52,190 >> И, повторно, можеби сакаме да iterate во текот речници 543 00:26:52,190 --> 00:26:54,410 и ги најдете сите работи во неа. 544 00:26:54,410 --> 00:26:57,440 Тука сме процесирањето над две работи во исто време. 545 00:26:57,440 --> 00:27:03,040 И така ние ќе го направи со клуч, вредност, но потоа печати од сите овие. 546 00:27:03,040 --> 00:27:06,300 >> И ако сакаме да cast-- ако ние всушност се стрча ова, 547 00:27:06,300 --> 00:27:10,840 ќе имаме некои проблеми, бидејќи on-- кога отидовме во со Давида, 548 00:27:10,840 --> 00:27:13,920 тоа не може да add-- ако ние не фрли го во низа, прво, 549 00:27:13,920 --> 00:27:17,802 ние не би можеле да додадеме дека низа на стрингови со излез на стрингот. 550 00:27:17,802 --> 00:27:19,760 Но, ако ние го фрли на стринг, да добиеме нешто 551 00:27:19,760 --> 00:27:22,590 како овој, што е можеби она што ние би сакале да ја прочитате. 552 00:27:22,590 --> 00:27:27,000 553 00:27:27,000 --> 00:27:30,500 >> И ова е правопис. 554 00:27:30,500 --> 00:27:32,460 Ние само се читаат во нештата. 555 00:27:32,460 --> 00:27:35,770 Па ние може да се прочита во поединечни зборови како линии. 556 00:27:35,770 --> 00:27:38,240 Ние се исецка надвор последните работа, така што на дебелото црево минус 1 557 00:27:38,240 --> 00:27:41,651 chomps надвор последното нешто што we-- последните карактер на стрингот. 558 00:27:41,651 --> 00:27:42,150 Ние ќе се каже. 559 00:27:42,150 --> 00:27:44,730 Во ред, секој што добива вметнува во овој речник, 560 00:27:44,730 --> 00:27:45,810 картирање на вредност од 1. 561 00:27:45,810 --> 00:27:48,006 Ние не особено се грижат за оној, 562 00:27:48,006 --> 00:27:51,130 но тоа е само таму да се каже, О, добро, ова нешто што ќе ги ставам во речникот. 563 00:27:51,130 --> 00:27:53,182 Бидејќи подоцна она што ние сме случува да направите е ние сме 564 00:27:53,182 --> 00:27:55,390 случува да се каже, добро, ако тоа е во речникот на сите. 565 00:27:55,390 --> 00:27:57,650 >> Повторно, овој чек за членство е до оперативниот 566 00:27:57,650 --> 00:28:00,940 користење на сосема поинаков алгоритам, отколку што ќе во некоја листа, 567 00:28:00,940 --> 00:28:05,709 но ние ја нарекуваме, на ист начин, што е дел од тие луѓе Пајтон шеќер слој 568 00:28:05,709 --> 00:28:07,250 работите, така што тие се полесно да се користи. 569 00:28:07,250 --> 00:28:10,230 И повторно, што сум го видел работи како тоа порано. 570 00:28:10,230 --> 00:28:12,940 Ова е во основа се најде, или тоа е точно истата синтакса 571 00:28:12,940 --> 00:28:16,480 како да се најде, но работи во текот на еден сосема поинаква структура. 572 00:28:16,480 --> 00:28:20,170 А ние не особено се грижат. 573 00:28:20,170 --> 00:28:25,540 Значи тоа се работи кои што беше побарано да се спроведе за правопис. 574 00:28:25,540 --> 00:28:29,278 Во овој случај, ние ќе треба да се добие повеќе или помалку сите psets направено. 575 00:28:29,278 --> 00:28:31,474 >> ПУБЛИКАТА: Така што во основа, само се враќа 576 00:28:31,474 --> 00:28:34,852 како што погрешно напишани ако не е така одговара нешто во речникот? 577 00:28:34,852 --> 00:28:36,060 ROSS RHEINGANS-Yoo: Да, да. 578 00:28:36,060 --> 00:28:38,964 579 00:28:38,964 --> 00:28:40,880 И така, ова е адаптација на проблем во собата 580 00:28:40,880 --> 00:28:43,150 кој ќе ве праша да го прават токму тоа. 581 00:28:43,150 --> 00:28:46,357 >> ПУБЛИКАТА: Зошто е линијата минус 1 таму? 582 00:28:46,357 --> 00:28:48,190 ROSS RHEINGANS-Yoo: Значи кога сте процесирањето 583 00:28:48,190 --> 00:28:50,300 повеќе од една датотека барајќи со линии, линии 584 00:28:50,300 --> 00:28:53,900 дојде со нова линија карактер на крајот на it-- на минус 1 585 00:28:53,900 --> 00:28:55,260 е само да купуваат оние надвор. 586 00:28:55,260 --> 00:28:59,549 И ова е особено флексибилни начин на индексирање во нештата. 587 00:28:59,549 --> 00:29:01,590 Значи, ако имате еден конец, и сакате, и јас сум 588 00:29:01,590 --> 00:29:05,340 ќе започне во знак на три а јас ќе одам да се оди до крај. 589 00:29:05,340 --> 00:29:07,140 3 дебелото црево ќе го направи тоа за вас. 590 00:29:07,140 --> 00:29:10,570 Ако сте како, сакам да се започне на почнуваат и да одат во последните минус 1 591 00:29:10,570 --> 00:29:12,400 карактер, дебелото црево минус 1. 592 00:29:12,400 --> 00:29:14,940 И ако си сакал да оди од третата до минус прв, 593 00:29:14,940 --> 00:29:16,570 тогаш ќе кажам 3 минус 1. 594 00:29:16,570 --> 00:29:19,464 595 00:29:19,464 --> 00:29:22,400 >> Покрај тоа, ако сакате да ги индекс во работите сметано од назад, 596 00:29:22,400 --> 00:29:24,470 вие само индекс во минус со броеви. 597 00:29:24,470 --> 00:29:26,980 И поради тоа што, каде C ќе експлодира или можеби 598 00:29:26,980 --> 00:29:31,090 ви се хранат други меморија не сте имале пристап до, слушне може да се каже минус 1 599 00:29:31,090 --> 00:29:34,104 значи предпоследниот 1 лик во серијата. 600 00:29:34,104 --> 00:29:36,950 601 00:29:36,950 --> 00:29:43,590 >> Модули се version-- се аналози во библиотеките во С 602 00:29:43,590 --> 00:29:45,119 и се корисни за многу работи. 603 00:29:45,119 --> 00:29:46,910 А многу работи што би како да се направи во Python, 604 00:29:46,910 --> 00:29:50,040 освен едноставен манипулација на променливи, 605 00:29:50,040 --> 00:29:52,290 сакате да кука во поголеми библиотеки со поголеми 606 00:29:52,290 --> 00:29:55,910 интерфејси и повеќе можности за интеракција 607 00:29:55,910 --> 00:29:57,195 со другите делови на светот. 608 00:29:57,195 --> 00:29:58,910 Сис е еден од оние со еден куп алатки 609 00:29:58,910 --> 00:30:01,159 кои се корисни за интеракција со самиот систем 610 00:30:01,159 --> 00:30:05,050 и ќе го внесете како увозот Сис. 611 00:30:05,050 --> 00:30:07,820 >> Има повеќе документација од кои што може да оди тука, 612 00:30:07,820 --> 00:30:11,490 или можете да го најдете на Google со Googling Пајтон сис. 613 00:30:11,490 --> 00:30:12,640 Ќе напишете влезе. 614 00:30:12,640 --> 00:30:15,140 Првиот линк е и ќе биде документација во Python 2, 615 00:30:15,140 --> 00:30:19,260 вториот линк ќе биде Пајтон документација 3. 616 00:30:19,260 --> 00:30:24,830 >> И ако ние напиша датотека која изгледаше како this-- Ако особено, ние сме 617 00:30:24,830 --> 00:30:27,910 гледа во кои работат на командната линија аргументи, 618 00:30:27,910 --> 00:30:30,040 како што научивме да се направи многу на почетокот на оваа класа. 619 00:30:30,040 --> 00:30:32,190 Ова не е тешко. Може да се добијат argv, 620 00:30:32,190 --> 00:30:34,565 која е една од оние работи кој се спроведува со сис. 621 00:30:34,565 --> 00:30:37,210 Тоа не е вграден во база пакет, но повторно, вие 622 00:30:37,210 --> 00:30:40,080 да го прошири од увоз Функционалноста од сис. 623 00:30:40,080 --> 00:30:41,090 Ќе го наречеме сис. 624 00:30:41,090 --> 00:30:42,611 како и да е. 625 00:30:42,611 --> 00:30:43,360 Тука има argv. 626 00:30:43,360 --> 00:30:45,193 Има всушност нема argc во Сис, затоа што 627 00:30:45,193 --> 00:30:47,880 може да го добие толку лесно со повик Лен. 628 00:30:47,880 --> 00:30:55,390 Ние тогаш печатени дека надвор, тогаш ние трчаше на нашите терминал echo-args.py. 629 00:30:55,390 --> 00:30:58,360 Ние се вратам низа, која ова е првиот аргумент. 630 00:30:58,360 --> 00:31:02,240 Повторно, ова е argv 0, што е името на нешто што доби нарекува. 631 00:31:02,240 --> 00:31:04,870 Ако ние го нарече со дополнителни аргументи, ние ќе добијам оние назад. 632 00:31:04,870 --> 00:31:07,687 633 00:31:07,687 --> 00:31:09,770 Ова е еден начин на добивање на командната линија аргументи. 634 00:31:09,770 --> 00:31:13,440 Ако сакате знамиња, каде ќе го вклучите одредени нешта или прескокнување 635 00:31:13,440 --> 00:31:16,050 одреден стандард, argparse е вашиот пријател. 636 00:31:16,050 --> 00:31:21,550 И повторно ќе се најде дека онлајн на питон argparse во Google. 637 00:31:21,550 --> 00:31:24,300 >> Постојат неколку комунални модули кои ќе се најдете со користење на 638 00:31:24,300 --> 00:31:27,630 и повторно, ако потрошите секое време на овој јазик увоз jsons 639 00:31:27,630 --> 00:31:33,300 за читање во и надвор од JSON додадени фајлови, не е толку комплициран. 640 00:31:33,300 --> 00:31:37,139 Ќе се отвори датотеката, ќе се нарекува json.load на таа датотека и ќе се вратам на работа. 641 00:31:37,139 --> 00:31:37,930 Што е тоа нешто? 642 00:31:37,930 --> 00:31:40,329 Тоа е JSON објект. 643 00:31:40,329 --> 00:31:42,370 Каде што JSON има низа, Пајтон има низи. 644 00:31:42,370 --> 00:31:44,420 Каде што има JSON асоцијативни низи, Пајтон 645 00:31:44,420 --> 00:31:48,810 речници, стрингови, и броеви, и така натаму. 646 00:31:48,810 --> 00:31:53,560 Сакате да шутнат дека надвор, вие отвори нова датотека, ти се јавам депонија, 647 00:31:53,560 --> 00:31:57,590 и носивост и депонии да одат во и надвор од жици. 648 00:31:57,590 --> 00:32:02,120 >> Слично на тоа, марината добива нарекува во суштина е ист интерфејс. 649 00:32:02,120 --> 00:32:04,740 Тоа е малку повеќе корисни, ако сте фрлање Пајтон објекти. 650 00:32:04,740 --> 00:32:08,370 Значи, ако некогаш сте сакале да се спаси верзија на сегашниот статус 651 00:32:08,370 --> 00:32:11,930 на променливата за иднина се кандидира на вашата програма, 652 00:32:11,930 --> 00:32:14,740 марината е Пајтон библиотека за тоа. 653 00:32:14,740 --> 00:32:19,140 >> Ако имате било каков вид на променлива која може да се запише надвор 654 00:32:19,140 --> 00:32:21,990 како во зборови и ликови и bytes-- вака речникот, 655 00:32:21,990 --> 00:32:24,230 ние би можеле да се запишам, ние би можеле да го запишете 656 00:32:24,230 --> 00:32:26,670 како JSON објект, кој беше буквално овие ликови. 657 00:32:26,670 --> 00:32:29,420 И тогаш тоа ќе биде многу лесно за човечки да се отвори тоа up-- отвори 658 00:32:29,420 --> 00:32:30,889 и ја прочита. 659 00:32:30,889 --> 00:32:33,180 Ако ние не се особено се грижат за луѓето читање, 660 00:32:33,180 --> 00:32:38,490 ние би можеле да ги спакувате уште поефикасно во форми кои подоцна можат да бидат уште неотпакувани 661 00:32:38,490 --> 00:32:42,860 или кои можат подоцна да бидат напумпани. 662 00:32:42,860 --> 00:32:46,740 И ова заштедува 80% од простор што вашите објекти би можеле да 663 00:32:46,740 --> 00:32:49,390 земе ако ги напиша longhand. 664 00:32:49,390 --> 00:32:52,384 >> Ти се јавам марината многу исто way-- депонија, оптоварување, 665 00:32:52,384 --> 00:32:53,800 а потоа ќе ја добиете вашата нештата. 666 00:32:53,800 --> 00:32:56,880 Значи, ако ви се пишува многу кратки програми кои Пајтон 667 00:32:56,880 --> 00:32:59,952 сакаат да се спаси државата, а потоа читаат ги врати подоцна, вакви работи 668 00:32:59,952 --> 00:33:00,660 се вашите пријатели. 669 00:33:00,660 --> 00:33:02,640 Дека вие многу лесно да ги шутнат како JSON. 670 00:33:02,640 --> 00:33:04,550 Повеќето Пајтон објекти може да шутнат на JSON 671 00:33:04,550 --> 00:33:11,310 дали има каква било надеж дека структурно тие може да се претстави на тој начин. 672 00:33:11,310 --> 00:33:14,410 >> Ова се само врв на ледениот брег на модули кои се корисни. 673 00:33:14,410 --> 00:33:19,510 Па Сис, ОПЕРАТИВЕН СИСТЕМ, мултипроцесирање, се вид на основните workhorses за нешта 674 00:33:19,510 --> 00:33:23,120 ние треба да комуницирате со os на датотечниот систем., 675 00:33:23,120 --> 00:33:28,764 како os.isfile, os.isdirectory, os.makefile, овие се најдобри пријатели. 676 00:33:28,764 --> 00:33:30,930 Ако сакате да комуницирате со одреден тип на датотека, 677 00:33:30,930 --> 00:33:32,190 JSON, марината, CSV. 678 00:33:32,190 --> 00:33:37,160 Ако сакате да комуницирате со веб- страници, urllib за добивање http 679 00:33:37,160 --> 00:33:41,370 страници. bs4-- BeautifulSoup-- тоа е прекрасен парсер за HTML. 680 00:33:41,370 --> 00:33:47,047 Можете да ја стартувате на HTML, и вие добивате ова вгнездените низа објект сега, 681 00:33:47,047 --> 00:33:49,630 кои можете да напречни преку торентите, like само барате 682 00:33:49,630 --> 00:33:52,380 ако, е, во, што е фантастично. 683 00:33:52,380 --> 00:33:55,920 >> Има еден куп на пакети за running-- 684 00:33:55,920 --> 00:33:57,960 за тоа особено mathy работи. 685 00:33:57,960 --> 00:34:01,790 Значи, ако сакате да се размножуваат, превртете, трансформирате матрици, 686 00:34:01,790 --> 00:34:05,690 numpy се користи од страна на луѓе целиот свет за тоа. 687 00:34:05,690 --> 00:34:09,620 scipy е уште повеќе корисни алатки во таа насока. 688 00:34:09,620 --> 00:34:13,980 sklearn-- учење машина, Обработка на природни јазици, 689 00:34:13,980 --> 00:34:17,880 супер корисни работи, добива имплементирани во Python цело време. 690 00:34:17,880 --> 00:34:21,469 >> И повторно, зема малку подолго да write-- ми е, 691 00:34:21,469 --> 00:34:26,199 трае малку подолго да се кандидира, но од причина што реално инженери имаат тенденција 692 00:34:26,199 --> 00:34:29,900 употреба Пајтон е затоа што имаат тенденција да бидат блокирани од вас пишување на код, наместо 693 00:34:29,900 --> 00:34:32,699 од вашиот компјутер работи на кодот. 694 00:34:32,699 --> 00:34:35,860 Значи, ако си оди за да се напише Програмата, која многу други луѓе 695 00:34:35,860 --> 00:34:37,699 се случува да се користи засекогаш, како Линукс, можете 696 00:34:37,699 --> 00:34:41,900 Може да го напише во C. Ако сте во ситуација ќе напише пресметка на моторот, 697 00:34:41,900 --> 00:34:46,124 може да напише во Python, ако е потребно да го промени на секои неколку месеци. 698 00:34:46,124 --> 00:34:48,540 Некои луѓе би го напише во Ц, бидејќи тие се допаѓа. 699 00:34:48,540 --> 00:34:51,100 700 00:34:51,100 --> 00:34:54,050 >> Значи ние сме виделе увозот Сис како начин за добивање на работите 701 00:34:54,050 --> 00:34:57,070 за добивање на модул во вашата програма. 702 00:34:57,070 --> 00:35:00,370 Исто така можете да го внесете како прекар, ако сакате. 703 00:35:00,370 --> 00:35:03,660 Повторно мултипроцесирање е болка за да се тип надвор во секое време, па увоз како пратеник 704 00:35:03,660 --> 00:35:05,900 а потоа и во секое време да го користат во програмата, 705 00:35:05,900 --> 00:35:09,732 ќе речете mp.process, или она што го имате. 706 00:35:09,732 --> 00:35:12,670 Ако сакате можете да увоз само една единствена работа, 707 00:35:12,670 --> 00:35:19,450 па urllib има нешто што се нарекува барање, така што само може увоз тоа. 708 00:35:19,450 --> 00:35:22,610 Подоцна, нема да бара помош од неа како urllib.request, но само како барање 709 00:35:22,610 --> 00:35:24,590 само по себе. 710 00:35:24,590 --> 00:35:30,110 >> И се што може да се внесуваат од модулот, ако сакате. 711 00:35:30,110 --> 00:35:34,820 Ова понекогаш не е добра idea-- ова обично не е добра идеја, всушност. 712 00:35:34,820 --> 00:35:39,080 Бидејќи вие very-- бидејќи ако ништо друго во тој модул има име кое 713 00:35:39,080 --> 00:35:41,640 сакаше да го користите на некое друго место во својата програма, дека не можеш. 714 00:35:41,640 --> 00:35:44,127 >> И тоа не е секогаш очигледна дека тоа е случај. 715 00:35:44,127 --> 00:35:46,460 Со цел да бидете сигурни дека што правевте беше безбедно, 716 00:35:46,460 --> 00:35:47,920 што треба да се отвори модул и да видиме сите 717 00:35:47,920 --> 00:35:50,295 на имиња кои завршуваат во there-- сите функции, 718 00:35:50,295 --> 00:35:53,010 сите променливи кои живеат во тој модул, 719 00:35:53,010 --> 00:35:57,040 затоа што ти си носат сите нив во вашата локална именски простор. 720 00:35:57,040 --> 00:35:58,680 >> Па луѓето го направите тоа. 721 00:35:58,680 --> 00:36:01,322 Тоа е генерално се препорачува дека вие не го направите тоа. 722 00:36:01,322 --> 00:36:03,280 Но, луѓето го направите сето ова тоа време, бидејќи тие се 723 00:36:03,280 --> 00:36:05,180 мрзливи и не сакаат да се тип надвор пратеник. 724 00:36:05,180 --> 00:36:06,310 ништо, било кога. 725 00:36:06,310 --> 00:36:09,560 726 00:36:09,560 --> 00:36:13,310 >> Сето ова зборува за модули ми донесе околу да краток разговор 727 00:36:13,310 --> 00:36:15,930 за тоа како да дизајн програми во Python. 728 00:36:15,930 --> 00:36:19,860 Првиот чекор е да се провери да се види дали некој друг веќе го направи на работа, 729 00:36:19,860 --> 00:36:22,160 или направиле 90% од работа. 730 00:36:22,160 --> 00:36:26,010 Шансите се тие, најверојатно, ќе мора, и вие треба да одам да купам нивната работа и да ја стартувате тоа. 731 00:36:26,010 --> 00:36:28,900 Или пишете обвивка околу тоа да го прилагоди на вашата цел. 732 00:36:28,900 --> 00:36:31,250 Тоа е само по тоа што има не, кои би потоа 733 00:36:31,250 --> 00:36:35,529 да одат на и write-- почнат да размислуваат за како ќе се стави тоа нешто заедно. 734 00:36:35,529 --> 00:36:37,320 Има многу работи таму, а тоа е 735 00:36:37,320 --> 00:36:39,180 една од најпознатите корисни работи во врска Пајтон. 736 00:36:39,180 --> 00:36:40,930 Како и да е јазикот домот, јазикот 737 00:36:40,930 --> 00:36:43,800 е лесен за употреба, но исто така и поради тоа е толку елегантен и лесен за користење, 738 00:36:43,800 --> 00:36:47,420 луѓето се го користите за долго време, а и нема многу нешта 739 00:36:47,420 --> 00:36:52,520 таму што можете да искористат за сопствена употреба. 740 00:36:52,520 --> 00:36:58,457 >> Така минатата владеењето на Пајтон е, некој друг веќе веројатно напишана 741 00:36:58,457 --> 00:37:00,290 модул за тоа, некој друг веќе 742 00:37:00,290 --> 00:37:02,980 веројатно напишана библиотека за тоа. 743 00:37:02,980 --> 00:37:06,579 Пред да се обиде да направи нешто, погледнете да се види дали тоа е се имплементираат. 744 00:37:06,579 --> 00:37:07,370 Тоа не е толку тешко. 745 00:37:07,370 --> 00:37:11,960 Сите модули кои ја ставив до пред, со можеби еден исклучок, 746 00:37:11,960 --> 00:37:15,220 доаѓаат пред-инсталиран во секој стандардна инсталација Пајтон. 747 00:37:15,220 --> 00:37:17,769 И така со повик за увезе без разлика, вие 748 00:37:17,769 --> 00:37:19,852 имаат сите дека функционалност на вашите прсти. 749 00:37:19,852 --> 00:37:24,660 750 00:37:24,660 --> 00:37:28,920 >> Почнуваат да се заокружи овој разговор, постојат неколку работи кои треба 751 00:37:28,920 --> 00:37:32,770 што сум ги остави како црни кутии и вид на забошотува, 752 00:37:32,770 --> 00:37:37,217 и има неколку бели лаги што сум кажа дека за доброто на искреност, 753 00:37:37,217 --> 00:37:39,050 Ке се најмалку точка на тука, дури и ако не ќе 754 00:37:39,050 --> 00:37:43,980 супер оди длабоко во сите од нив и нивните технички објаснувања. 755 00:37:43,980 --> 00:37:46,010 >> А многу од работите што сум ги повика магија 756 00:37:46,010 --> 00:37:48,980 е она што другите луѓе би го нарекол објектно ориентирано програмирање. 757 00:37:48,980 --> 00:37:52,470 Па така постојат многу things-- така променливи не се многу често 758 00:37:52,470 --> 00:37:56,540 едноставна бајти седи, меморија, но се многу комплициран 759 00:37:56,540 --> 00:38:01,910 објекти кои имаат внатрешни државата за функциите и многу 760 00:38:01,910 --> 00:38:05,570 на скриени променливи, многу скриена функционалност, која 761 00:38:05,570 --> 00:38:09,480 Ви овозможува да ги претвори во низи, кој ви овозможува да iterate над нив. 762 00:38:09,480 --> 00:38:12,260 И ако сте во writing-- а од причина дека тие 763 00:38:12,260 --> 00:38:15,710 ги имаат сите на оваа богата функционалност е затоа што people-- 764 00:38:15,710 --> 00:38:17,740 архитектите на Language-- се качил 765 00:38:17,740 --> 00:38:22,420 преку и за секој стандард објект, се стави во функција 766 00:38:22,420 --> 00:38:26,970 да кажам дека ова е како тоа е како тоа се случува да работат 767 00:38:26,970 --> 00:38:28,470 ако некој сака да iterate над неа. 768 00:38:28,470 --> 00:38:31,240 >> Па сè што некој може да можеби сакате да iterate во текот, 769 00:38:31,240 --> 00:38:34,529 има логика напишан во рачно за тоа како сте 770 00:38:34,529 --> 00:38:36,070 би требало да iterate во текот на тој објект. 771 00:38:36,070 --> 00:38:40,274 Сето она што ви би можеле да сакаат фрлени во низа има логика напишано. 772 00:38:40,274 --> 00:38:43,440 Ова е функција која ти се јавам ако сакате да шутнат ова да стринг. 773 00:38:43,440 --> 00:38:45,273 Ова е причината зошто може да се Лен јавите на нештата, овој 774 00:38:45,273 --> 00:38:49,900 Затоа може да се јавите во за, ова е Затоа може да се јавите ако твојата работа 775 00:38:49,900 --> 00:38:53,490 дека ќе сакате да, затоа што сите оние кои го носат со нив, 776 00:38:53,490 --> 00:38:55,380 технички know-how за да го направите тоа. 777 00:38:55,380 --> 00:38:58,170 778 00:38:58,170 --> 00:39:00,432 >> Ова е нешто што јас сум супер нема да одат во. 779 00:39:00,432 --> 00:39:03,140 Но, за работа во листа е суптилно различен од С стил за петелки, 780 00:39:03,140 --> 00:39:06,160 и можете да ги прочитате сите за тоа на интернет, ако сте заинтересирани. 781 00:39:06,160 --> 00:39:08,930 Постои темната страна на сите за тоа, што ги спомнав, 782 00:39:08,930 --> 00:39:10,359 па има две работи. 783 00:39:10,359 --> 00:39:13,400 Првата е дека ова објектно ориентирано програмирање додава многу надземни 784 00:39:13,400 --> 00:39:16,080 на случајни нешта, па ќе се заокружи со користење на многу повеќе меморија; 785 00:39:16,080 --> 00:39:18,640 ќе заврши со користење малку повеќе време отколку што би поинаку. 786 00:39:18,640 --> 00:39:21,300 На other-- но повеќе подмолно темната страна на оваа 787 00:39:21,300 --> 00:39:24,047 е, ако работите само да дејствува како што сакате тие да 788 00:39:24,047 --> 00:39:27,130 без да мора да се размислува супер тешко за тоа дали ова треба да биде цел број 789 00:39:27,130 --> 00:39:29,713 или дали треба да има плови, тоа би можело да биде дека овде 790 00:39:29,713 --> 00:39:34,240 ќе се произведуваат на int но овде ви но мислам дека тие ќе always-- ми е, 791 00:39:34,240 --> 00:39:36,555 тоа би можело да биде дека тука ќе се произведуваат со подвижна запирка, 792 00:39:36,555 --> 00:39:39,430 но кога ќе го добиете во вториот дел на вашата програма, си мисли, 793 00:39:39,430 --> 00:39:41,150 О, добро, но тие ќе Секогаш ми помине int. 794 00:39:41,150 --> 00:39:43,608 И ако тие не се направи, тоа е можно кои ви се заглавени некаде, 795 00:39:43,608 --> 00:39:47,600 ако се обидете да го користите дека за индексирање во низа, или она што го имате. 796 00:39:47,600 --> 00:39:51,050 >> Па една од вистинските корисни работи за C е 797 00:39:51,050 --> 00:39:54,219 тоа ве тера да мислам дека навистина хард пред да го направите any-- 798 00:39:54,219 --> 00:39:56,510 пред да се донесе каква било променлива во сила, како што 799 00:39:56,510 --> 00:39:58,764 е од типот на оваа променлива. 800 00:39:58,764 --> 00:40:00,680 И тоа се случува да се има тој тип за сите времиња. 801 00:40:00,680 --> 00:40:02,410 >> Ова не е вистина Пајтон, и всушност, може 802 00:40:02,410 --> 00:40:04,740 can-- ако сте само вид на одење од страна на уво, 803 00:40:04,740 --> 00:40:07,690 и ќе се направи некои одлуки еден начин на едно место, 804 00:40:07,690 --> 00:40:09,870 и некои одлуки еден начин во друго место 805 00:40:09,870 --> 00:40:12,960 без да се стави доволно работи зад сцените во друго место 806 00:40:12,960 --> 00:40:16,170 да го фати работи правилно, може да се добијат некои многу чудни грешки. 807 00:40:16,170 --> 00:40:19,200 И програма може да продолжи да работи за многу долго време, затоа што тоа е 808 00:40:19,200 --> 00:40:23,200 прави многу работа да се каже, и оваа работа би можеле да работат на овој начин, 809 00:40:23,200 --> 00:40:25,070 па јас ќе одам да се кандидира на тој начин. 810 00:40:25,070 --> 00:40:30,300 >> И всушност, тоа што го турка проследува низ многу мали грешки 811 00:40:30,300 --> 00:40:33,260 значи дека, често кога грешка е всушност лоша 812 00:40:33,260 --> 00:40:38,720 а вие всушност сакате да го поправам, тој завршува милји away-- програмата 813 00:40:38,720 --> 00:40:41,780 завршува запирање милји далеку од кога ќе се има вашата грешка. 814 00:40:41,780 --> 00:40:46,590 И така, едно нешто што ние би сакале програми за да се направи тоа, едно нешто sometimes-- 815 00:40:46,590 --> 00:40:48,910 дека ние би сакале програми да се направи кога сме дебагирање 816 00:40:48,910 --> 00:40:54,160 е гласно и не успеваат многу брзо кога нешто ќе тргне наопаку. 817 00:40:54,160 --> 00:40:55,510 >> Пајтон е многу лошо во тоа. 818 00:40:55,510 --> 00:40:58,820 Пајтон е многу добар во не тоа што не и се тркалаат напред 819 00:40:58,820 --> 00:41:00,320 преку неочекувани работи. 820 00:41:00,320 --> 00:41:02,820 Значи ова е корисно за кога сте пишување мали програми. 821 00:41:02,820 --> 00:41:07,110 Кога ќе се добие комплицирано грешки, тоа понекогаш се 822 00:41:07,110 --> 00:41:09,300 да трае долго време да им се размрси коренсподенцијата. 823 00:41:09,300 --> 00:41:12,210 >> Па таму е темната страна на сите на овој, како што тоа едноставно работи. 824 00:41:12,210 --> 00:41:13,860 Тоа си работи како што би очекувале тоа да. 825 00:41:13,860 --> 00:41:18,320 Освен кога тоа не се случи, ќе се заокружи во сосема поинакво место 826 00:41:18,320 --> 00:41:21,530 и се обидувам да дознаам каде тоа беше дека не беше во ред. 827 00:41:21,530 --> 00:41:25,180 >> Собирање на ѓубрето is-- така едно нешто што ќе забележите 828 00:41:25,180 --> 00:41:28,110 е дека секоја од овие работи кои Сум донесе во existence-- 829 00:41:28,110 --> 00:41:34,114 овие низи, овие речници, овие објекти, овие files-- никогаш не се ослободени. 830 00:41:34,114 --> 00:41:36,030 Немаше повик за бесплатно во било кој од овој разговор. 831 00:41:36,030 --> 00:41:40,340 А тоа беше на C-страна, бидејќи ние никогаш не влезе во тие работи. 832 00:41:40,340 --> 00:41:42,220 >> Но во Python-страна, таму не е бесплатно. 833 00:41:42,220 --> 00:41:43,970 Работите стануваат автоматски ослободени кога Пајтон 834 00:41:43,970 --> 00:41:45,386 мисли дека не сте во потрага по нив. 835 00:41:45,386 --> 00:41:49,640 Тоа е навистина добро неослободувањето работи кои сеуште може евентуално да се гледа, 836 00:41:49,640 --> 00:41:54,262 но тоа значи дека ако сте биле ќе одвои оваа голема работа, 837 00:41:54,262 --> 00:41:55,970 и сте како, о Сум се направи со тоа сега, 838 00:41:55,970 --> 00:42:00,360 тоа е тешко да се каже Пајтон дека ќе завршиш со тоа сега. 839 00:42:00,360 --> 00:42:02,986 >> Понекогаш може да се постави дека променливата да биде никој, 840 00:42:02,986 --> 00:42:05,110 а потоа се надеваат дека на крајот собирач на ѓубре 841 00:42:05,110 --> 00:42:06,720 доаѓа преку и чисти надвор. 842 00:42:06,720 --> 00:42:10,177 Но, повторно, ти не имаат контрола над тоа. 843 00:42:10,177 --> 00:42:13,510 И една од причините поради кои луѓето ги користат C за навистина перформанси критични работи, 844 00:42:13,510 --> 00:42:16,570 е оваа способност навистина да знаеш кога меморија се доделува 845 00:42:16,570 --> 00:42:19,369 И кога е ослободен, и имаат многу на контрола над велејќи: 846 00:42:19,369 --> 00:42:20,910 Јас сум користење на не повеќе меморија отколку што ми треба. 847 00:42:20,910 --> 00:42:23,632 Што е нешто што Пајтон не е голема во. 848 00:42:23,632 --> 00:42:25,090 ПУБЛИКАТА: Може ли да те прашам едно прашање? 849 00:42:25,090 --> 00:42:29,800 Што мислевте со гласно не успеваат? 850 00:42:29,800 --> 00:42:32,070 >> ROSS RHEINGANS-Yoo: Значи, ако нешто се случува во ред 851 00:42:32,070 --> 00:42:34,950 а ти си во дебагирање на владата, што би направиле многу често 852 00:42:34,950 --> 00:42:38,510 сакате вашата програма да ви кажам каде точно тоа е во ред, 853 00:42:38,510 --> 00:42:42,360 и не само тивко да престане да работи. 854 00:42:42,360 --> 00:42:45,085 Но ќе всушност тоа да се печати на сите видови на информации во врска со 855 00:42:45,085 --> 00:42:46,972 како, тука е тоа. 856 00:42:46,972 --> 00:42:53,957 Ако се случи тоа дали печатите на wen-- ако сте водење на веб server-- 857 00:42:53,957 --> 00:42:55,390 >> ПУБЛИКАТА: [Беззвучен] 858 00:42:55,390 --> 00:42:59,800 >> ROSS RHEINGANS-Yoo: Да, ако сте водење на веб сервер, 859 00:42:59,800 --> 00:43:02,680 тоа е понекогаш лошо, ако сте секогаш отфрлајќи грешки, 860 00:43:02,680 --> 00:43:04,530 а ти си велејќи: и тоа не работи. 861 00:43:04,530 --> 00:43:05,300 Одам да се запре. 862 00:43:05,300 --> 00:43:07,680 Јас сум само ќе да се игнорира што и да се случува. 863 00:43:07,680 --> 00:43:11,260 Затоа што тогаш може да се добијат во стотици за овие грешки и да не ги гледаат. 864 00:43:11,260 --> 00:43:13,910 >> Тоа, секако, би било корисно за целите на дебагирање 865 00:43:13,910 --> 00:43:20,327 ако секој пат кога вашиот веб сервер направи грешка, сте имале трајни записите од тоа. 866 00:43:20,327 --> 00:43:22,910 Можеби дури и сакате на програмата да се запре, така што овие записи 867 00:43:22,910 --> 00:43:25,471 Не се закопани под работи. 868 00:43:25,471 --> 00:43:26,970 Но, повторно, тоа е во режим за дебагирање. 869 00:43:26,970 --> 00:43:31,280 >> Често во режим на производство, Светот е малку поинаква. 870 00:43:31,280 --> 00:43:36,380 И во мали скрипти кои јас се кандидирам, каде што нешто што ми рече да се направи 871 00:43:36,380 --> 00:43:40,680 Може да биде само малку надвор од она што јас би сакал тоа да се направи, 872 00:43:40,680 --> 00:43:44,010 тогаш вид на туркање преку грешки е нешто што можеби ќе сакате. 873 00:43:44,010 --> 00:43:49,410 И во тие случаи, секако, Пајтон навистина заработува своите настапи. 874 00:43:49,410 --> 00:43:54,617 >> Последното нешто што не ми се зборува во this-- дека јас не зборувам за 875 00:43:54,617 --> 00:43:57,700 но може да биде навистина налутувајќи првиот Ако вие имате една од овие грешки, 876 00:43:57,700 --> 00:44:00,491 и на вториот и третиот и четвртиот време го имате овие грешки. 877 00:44:00,491 --> 00:44:03,490 Пајтон, јас спомнав тоа што користи бел простор 878 00:44:03,490 --> 00:44:06,700 да ви кажам што нивото на вовлекување и што функционален блок сте во, 879 00:44:06,700 --> 00:44:08,840 тоа го третира јазичиња и простори поинаку. 880 00:44:08,840 --> 00:44:12,780 Значи, ако сте табот во текот на четири, а потоа следната линија има четири места, 881 00:44:12,780 --> 00:44:16,910 дури и ако тие се појавуваат како истиот износ во вашиот уредник, 882 00:44:16,910 --> 00:44:20,160 Пајтон не се однесуваат исто. 883 00:44:20,160 --> 00:44:23,610 >> Всушност, python третира јазичиња и места како масло и вода. 884 00:44:23,610 --> 00:44:25,050 Тие се само различни нешта. 885 00:44:25,050 --> 00:44:27,264 Нема некоја посебна должина што јазичето е, 886 00:44:27,264 --> 00:44:30,180 па тоа не е како некој таб еднаква 8 простори, и така што ќе се добие околу него 887 00:44:30,180 --> 00:44:30,860 натаму. 888 00:44:30,860 --> 00:44:34,110 Како, кога вели, она што ниво на белиот простор да сум, 889 00:44:34,110 --> 00:44:37,240 што е, всушност, во потрага по шемата на места и јазичиња. 890 00:44:37,240 --> 00:44:43,050 И така, на најдобар начин да се справи со ова е да се секогаш да користите празни места цело време. 891 00:44:43,050 --> 00:44:47,510 >> И всушност, во Cloud9 IDE и на CS50 ИРО, 892 00:44:47,510 --> 00:44:50,610 Вашиот копчето Tab инсерти четири места во место 893 00:44:50,610 --> 00:44:53,800 на табулатор, што е супер корисни. 894 00:44:53,800 --> 00:44:57,074 Иако повторно, ако напиша Пајтон програма со јазичиња што ќе биде во ред, 895 00:44:57,074 --> 00:44:58,990 тоа е само ако некој отиде и се обидел да го додадете 896 00:44:58,990 --> 00:45:02,655 една линија на вашата програма која имаше четири празни места за секој таб, 897 00:45:02,655 --> 00:45:03,280 тоа ќе се скрши. 898 00:45:03,280 --> 00:45:07,800 И тоа ќе се скрши на начин што навистина не е видлива. 899 00:45:07,800 --> 00:45:12,390 Иако вистинските грешка порака дека тоа го фрла 900 00:45:12,390 --> 00:45:15,610 има врска со нова вовлекува не очекува тука, 901 00:45:15,610 --> 00:45:18,700 or-- ако тоа зборува алинеи и се чини дека тоа е во ред, 902 00:45:18,700 --> 00:45:22,090 тоа е веројатно затоа има проблем со таб-просторот. 903 00:45:22,090 --> 00:45:24,154 Тие се уште ги разлути да debug. 904 00:45:24,154 --> 00:45:26,070 Најголемите во целина овој разговор, што јас не 905 00:45:26,070 --> 00:45:29,740 дојде до бидејќи тоа е навистина комплициран, суптилна тема, 906 00:45:29,740 --> 00:45:34,760 и не е потребно да се направи било од работите што го направиле досега, 907 00:45:34,760 --> 00:45:37,140 се концептот наречен торки. 908 00:45:37,140 --> 00:45:41,280 Тие се таму за многу сличен на низи што не можете да го измените. 909 00:45:41,280 --> 00:45:44,700 Тие се користат насекаде, бидејќи тие се корисни за многу работи 910 00:45:44,700 --> 00:45:46,300 низи кои не се корисни за. 911 00:45:46,300 --> 00:45:49,890 >> Но, ако сакате да се направи низа, и тогаш ветувам толкувачот што 912 00:45:49,890 --> 00:45:53,140 никогаш не се случува да сакаме да го промените тоа thing-- во Всушност, ако сакате да го измените, 913 00:45:53,140 --> 00:45:56,800 ќе се направи нов со новите вредности во it-- тоа се торки. 914 00:45:56,800 --> 00:45:58,800 Наместо производство нив со квадратни загради, 915 00:45:58,800 --> 00:46:00,341 што ги произведуваат со круг загради. 916 00:46:00,341 --> 00:46:05,074 Зошто би го користите овие работи, е малку на едно прашање. . 917 00:46:05,074 --> 00:46:06,990 Единствено нешто што јас ќе се каже за тоа е што 918 00:46:06,990 --> 00:46:10,680 може да се користат како торки индекси на речници. 919 00:46:10,680 --> 00:46:15,010 Не можете да користите низи како индекси на речници. 920 00:46:15,010 --> 00:46:18,970 И зошто е, пак, техничките и Јас не одам за да работи во неа. 921 00:46:18,970 --> 00:46:23,140 >> На pset што не сум ја допрел во овој разговор е pset6. 922 00:46:23,140 --> 00:46:25,837 Па еве како можете 'd спроведување a-- еве 923 00:46:25,837 --> 00:46:28,140 како ќе се спроведе pset6 во Python. 924 00:46:28,140 --> 00:46:32,680 Имајќи предвид Пајтон дизајн циклус, првото нешто 925 00:46:32,680 --> 00:46:34,760 тоа што го правите кога сте пишување програми е проверка 926 00:46:34,760 --> 00:46:38,030 да се види дали некој е тоа направено веќе. 927 00:46:38,030 --> 00:46:42,152 >> Всушност, ако сакате да serve-- Апачи 50 928 00:46:42,152 --> 00:46:44,110 прави околу ова, освен тоа не доаѓа 929 00:46:44,110 --> 00:46:45,840 стандард инсталиран на Linux машини. 930 00:46:45,840 --> 00:46:50,490 Python ја извршува, а питон едноставна HTTP сервер прави тоа како добро. 931 00:46:50,490 --> 00:46:54,717 Ако сте некогаш на Линукс машина, или Cloud9 ИРО надвор од CS50 932 00:46:54,717 --> 00:46:57,550 а што би сакале да им служи на оваа струја Директориум на одредена порта, 933 00:46:57,550 --> 00:47:04,610 Пајтон-м SimpleHTTPServer порт служи таа. 934 00:47:04,610 --> 00:47:07,190 Исто така можете да увоз едноставна HTTP сервер 935 00:47:07,190 --> 00:47:11,240 и тоа е се здобија со многу функционалност, ако сакате да го изберете, или да го промени, 936 00:47:11,240 --> 00:47:15,860 или водени it-- тоа да се подигнат кандидира на вашиот сопствен сервер услуги. 937 00:47:15,860 --> 00:47:18,032 >> Значи тоа е Пајтон во мало. 938 00:47:18,032 --> 00:47:20,280 И ова е CS50. 939 00:47:20,280 --> 00:47:21,980 Ти благодарам. 940 00:47:21,980 --> 00:47:23,468