1 00:00:00,000 --> 00:00:05,426 2 00:00:05,426 --> 00:00:06,800 РОСС RHEINGANS-Ё: Прывітанне, я Рос. 3 00:00:06,800 --> 00:00:08,570 І гэта CS50 семінар. 4 00:00:08,570 --> 00:00:12,100 Гэта зойме ў вас ад праграмавання у З праграмаванні ў Python. 5 00:00:12,100 --> 00:00:15,120 >> Python гэта скрыптовая мова. 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 Гэта менш магутны, чым C у некаторых адносінах. 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 >> Гэта больш карысна, чым C у некаторых адносінах, таму што гэта лягчэй праграмаваць на. 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 і ў два разы павольней, каб выканаць, магчыма, быць паляпшэнне ў параўнанні з C у некаторых адносінах. 23 00:01:02,170 --> 00:01:05,730 Вядома, калі вы спрабуеце напісаць невялікія праграмы, каб зрабіць маленькія рэчы, 24 00:01:05,730 --> 00:01:08,520 Python з'яўляецца карысным мове выбару. 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 Гэты семінар не прызначаны для навучыць вас Python з нуля. 31 00:01:25,910 --> 00:01:28,310 Python вельмі падобны З, і я мяркую, 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 якія робяць Python адрозніваецца і спецыяльныя і карысна, 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 Тым не менш, гэты семінар навучыць Вам напісаць Python праграмы 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 на гэтым сайце, якія павінны прыняць вас зрабіць дакумент 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 не зможа быць выканана у асяроддзі Python 3. 56 00:02:37,140 --> 00:02:41,969 >> CS50 прыбор пастаўляецца з Пітон, па змаўчанні ён выкарыстоўвае Python 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 Паспрабуйце Python 3, які робіць працаваць ў прыборы, 60 00:02:53,580 --> 00:02:58,500 калі Python па змаўчанні 2.X.Y, альбо на прыбор або на вашых уласных машын. 61 00:02:58,500 --> 00:03:03,730 Вы павінны замяніць Python 3 у любы час У гэтай гутарцы, што я пішу на Python. 62 00:03:03,730 --> 00:03:05,760 Калі ваша машына працуе 2 па змаўчанні, тып 63 00:03:05,760 --> 00:03:09,770 Python 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 >> Такім чынам, вельмі першая праграма на Python. 73 00:03:31,300 --> 00:03:34,410 Злева ў нас стандартны C, справа, у нас ёсць Python. 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 Але тут, калі першы Праграма п роўная 10, 90 00:04:18,459 --> 00:04:21,273 Першае, што гэтая праграма будзе зрабіць, гэта прыняць гэта значэнне 10 91 00:04:21,273 --> 00:04:24,120 і ўсталяваць яго ў зменную пад назвай п. 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 Праграмы Python, вы запусціце Тэкст 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 Вы можаце зрабіць гэта ў вашым IDE. 101 00:04:52,470 --> 00:05:02,260 >> Так што, калі ў мяне ёсць файл Hello, які проста мае гэта змесціва. 102 00:05:02,260 --> 00:05:04,840 Гэта на самай справе Python 2, не Python 3, таму не 103 00:05:04,840 --> 00:05:06,600 турбавацца аб сінтаксісе цяпер. 104 00:05:06,600 --> 00:05:14,230 Але я пабягу Python, на hello.py, і ён працуе. 105 00:05:14,230 --> 00:05:18,890 >> Яшчэ адзін спосаб, што я магу выкарыстоўваць Python, што Я не буду мець справу з так шмат у гэтай гутарцы, 106 00:05:18,890 --> 00:05:21,840 калі я проста ўвядзіце Python, ён падае мне ў сераду, дзе 107 00:05:21,840 --> 00:05:24,370 Я магу карміць яго Python парадкова. 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 Гэта можа зрабіць людзей, якія пішуць Python для гасцінай смяшок ў Вас 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 >> Іншая дзіўная рэч пра гэта п гэта не ёсць тып прыкладаецца. 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-- адно з магічныя кавалкі Python 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 Калі пазней ўніз, я прызначаны на гэта п 0.5, было б лічыць, што 0,5. 135 00:06:40,060 --> 00:06:43,770 Незалежна ад таго, што што гэта тут і INT плаваць там, усё, што выкарыстоўвае гэты п 136 00:06:43,770 --> 00:06:47,057 будзе больш ці менш, зможа пыхценне нароўні калі ён атрымлівае небудзь з іх. 137 00:06:47,057 --> 00:06:49,640 Калі няма некаторыя вельмі рэальныя Прычына, чаму ён не можа выкарыстоўваць дадзеныя 138 00:06:49,640 --> 00:06:52,170 тып, які ў цяперашні час мае п, у які момант ён будзе атрымліваць 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 Гэта адзін з найважнейшых Адрозненні паміж Python і C 148 00:07:08,500 --> 00:07:10,790 што робіць яго лёгка напісаць вельмі вялікіх праграм C 149 00:07:10,790 --> 00:07:15,120 і робіць яго лягчэй пісаць вельмі маленькая праграма Python. 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 Так што гэта вельмі, што называецца Питоновских, спосаб напісання. 153 00:07:25,370 --> 00:07:28,969 для радкі ў дыяпазоне (п), гэта Дыяпазон лікаў ад 0 да п, 154 00:07:28,969 --> 00:07:31,010 ўключана ў ніжняй і эксклюзіўны зверху. 155 00:07:31,010 --> 00:07:34,790 Такім чынам, гэта ад 0 да N-1, які менавіта тое, што код З робіць, 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 У адрозненне ад C, дзе я на самой справе тут трэба рухацца, што замкнёнае дужкі вакол. 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 думаю, што вы павінны быць у стане перабору гэта, у гэтым фармаце, 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 >> Але гэта карысна мець інтуіцыя калі вы набліжаецца праграмы Python, 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 Шмат Python вы маглі адкрыць проста паспрабаваць. 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 што Python падтрымлівае, што робіць яго вельмі карысным. 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 Раздрукаваць выпякаецца ў Python так у асноўным што няма загалоўка ці модуль 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-- I скажа выразнасці імя функцыі, 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 асабліва файлы Python, што якія апублікаваныя 244 00:11:36,700 --> 00:11:41,650 і распрацавалі по-- распрацаваў і падтрымліваецца, гэта нешта з гэтай формы. 245 00:11:41,650 --> 00:11:44,540 Гэта так, таму што basically-- Python, вы пачынаеце на вяршыні 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-- сапраўды гэтак жа паміж З і 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 Вы аперавалі цэлых лікаў, і альбо Вы хацелі, каб ці вы гэтага не зрабілі. 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 Такім чынам, вы можаце памножыць плытах па Інтс, і тыя віды рэчаў. 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 выкарыстоўвае гэтыя аператары, Python выкарыстоўвае крыху больш па-ангельску 272 00:13:05,770 --> 00:13:06,390 счытваць тыя. 273 00:13:06,390 --> 00:13:09,348 Такім чынам, замест двух, Ампэрсанд, вы літаральна увядзіце слова "і", "або", 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 Зноў жа, дзе З будзе яшчэ калі Python выкарыстоўвае Эліф, 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 Адзін з пацешных рэчаў, аб Python, хоць, 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 Я атрымліваю паведамленне пра памылку выканання там, і я буду мець, каб адладзіць яго такім чынам. 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 Гэта адзін з парадыгмаў, што Python выкарыстоўвае для мацавання метады аб'ектаў. 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 Там гэта больш-менш згуртаванай Філасофія Python 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 сімвалаў, у той час як Python 64. 370 00:18:06,080 --> 00:18:11,490 І гэта значна больш чытэльным, чым гэты смецце тут. 371 00:18:11,490 --> 00:18:14,610 Так Python з'яўляецца больш эфектыўным ў прасторы. 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 так што я не так што я не каб пераразмеркаваць кожны раз. 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-- вельмі сімвалічна з Прычыны, па якіх людзі, як Python. 406 00:20:03,860 --> 00:20:05,900 Калі вам падабаецца праграмаванне як гэта, то Python 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 Мы маглі б таксама, як мы бачылі раней, перабору элементаў масіва ў 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 Python больш ці менш не хвалюе. 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 ці іншым чынам Python блытаецца. 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 Вярнуцца праўда, яшчэ вярнуцца ілжывым. 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 але ідэя, што гэта філасофія Python, 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 Вы называеце LEN на масіву ж як вы называеце LEN на радок. 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 >> Дык вось файлавы ўвод / выснова. падаць ўводу / высновы мае мноства дробязі, якія робяць яго складаным, 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 Вы атрымаеце Hello! 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 чым зачыніць файл, як гэта было б у C. 488 00:24:02,510 --> 00:24:07,190 Гэта больш ці менш, таму што F з'яўляецца рэч, і вы хацелі б для F, каб закрыць. 489 00:24:07,190 --> 00:24:12,092 Але асноўны файлавы ўвод / выснова ня Асабліва складаным. 490 00:24:12,092 --> 00:24:15,300 Зноў жа, калі вы хочаце, каб адкрыць файл, калі Вы хацелі б прачытаць пэўную лінію, 491 00:24:15,300 --> 00:24:17,870 Вы можаце выйсці з прыватнасці line-- ёсць убудаваныя модулі для гэтага. 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 І калі вы хочаце, каб ітэрацыі за радкоў файла 495 00:24:25,620 --> 00:24:29,557 індывідуальна, як мы гэта рабілі ў кавалку ад Некалькі тыдняў таму, вы можаце зрабіць што. 496 00:24:29,557 --> 00:24:32,140 Зноў жа, большасць аб'ектаў, якія вы б хацеў бы мець магчымасць перабору 497 00:24:32,140 --> 00:24:33,780 падтрымка ітэрацыі над імі. 498 00:24:33,780 --> 00:24:37,430 У пітонаў, файл, можа быць, гэта рэч, якая Я хацеў бы, каб перабраць парадкова. 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 Python ня шмат сыходу. 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 Python, безумоўна, дае вам дастаткова вяроўку, каб павесіцца, калі вы хацелі б. 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 але гэта больш ці менш, як працуе Python. 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 >> І, зноў жа, можа быць, мы хочам перабраць слоўнікі 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 чмякае ад апошняе, што 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 але мы называем гэта ж шлях, які некаторыя з гэтага цукру Python пакрыцця 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 РОСС RHEINGANS-Ё: Так, так. 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 РОСС RHEINGANS-Ё: Так калі вы ітэрацыі 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-- аналагаў у бібліятэках C 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 SYS з'яўляецца адным з тых, з кучай інструментаў 609 00:29:58,910 --> 00:30:01,159 , Якія карысныя для ўзаемадзеяння з самай сістэмай 610 00:30:01,159 --> 00:30:05,050 і імпартаваць яго як імпартных SYS. 611 00:30:05,050 --> 00:30:07,820 >> Там больш дакументацыя ад што, што вы маглі б ісці сюды, 612 00:30:07,820 --> 00:30:11,490 ці вы маглі б знайсці на Google звяртаючыся да дапамогі Python SYS. 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 Другое звяно збіраецца быць дакументацыя Python 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 які з'яўляецца адным з тых рэчаў, які рэалізуецца SYS. 621 00:30:34,565 --> 00:30:37,210 Гэта не убудаваны ў да базавы пакет, але зноў жа, вам 622 00:30:37,210 --> 00:30:40,080 можа падоўжыць яго імпарту што функцыянальнасць ад SYS. 623 00:30:40,080 --> 00:30:41,090 Вы буду называць яго SYS. 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 ў SYS, таму што вы 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 асацыятыўныя масівы, у Python 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 Гэта крыху больш карысным, калі Вы пахавання аб'ектаў Python. 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 прыняць, калі вы напісалі іх звычайны ліст. 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 Так што, калі вы пішаце вельмі кароткія праграмы Python, што 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 Большасць аб'ектаў Python можа дамп 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 Так SYS, АС, шматпрацэсарныя, з'яўляюцца Сартаваць асноўных рабочых конікаў для рэчаў 674 00:33:19,510 --> 00:33:23,120 мы павінны ўзаемадзейнічаць з файлавая сістэма АС., 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 якія вы можаце прайсці на працягу Лукін, з, як проста шукаеце 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 Выкарыстанне Python, таму што вы, як правіла, заблякаваны на вас напісання кода, а 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 збіраецеся выкарыстоўваць назаўсёды, як Linux, вы 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 >> Такім чынам, мы бачылі на імпарт SYS як спосаб атрымання рэчаў 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 адным з самых карысных рэчы, пра Python. 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 >> Таму ў мінулым правіла Python ёсць, хтосьці то ўжо, верагодна, напісаны 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 загадзя ўстаноўлены ў кожным Стандартная ўстаноўка Python. 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 Дазваляе ўключыць іх у радкі, які дазваляе перабраць іх. 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 калі хто-небудзь хоча перабраць яго. 768 00:38:28,470 --> 00:38:31,240 >> Такім чынам, усё, што хто-то можа магчыма, хочаце перабраць, 769 00:38:31,240 --> 00:38:34,529 была логіка напісана на ўручную, як вы 770 00:38:34,529 --> 00:38:36,070 Мяркуецца, перабраць гэтага аб'екта. 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 тэхнічнае ноу-хау, каб зрабіць гэта. 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 Але, рэчы ў спісе тонка адрозніваецца ад C стыль для завес, 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 без неабходнасці думаць звышцвёрдых пра тое, ці варта гэта быць INT 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 >> Такім чынам, адна з рэальнага карысныя рэчы, аб З 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 >> Гэта не дакладна Python, і на самай справе, вы 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 >> Python вельмі дрэнна ў гэтым. 818 00:40:55,510 --> 00:40:58,820 Python вельмі добра, ня няўдачу і накату 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 Рэчы становяцца аўтаматычна вызвалены, калі Python 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 цяжка сказаць Python што вы зрабілі з ім у цяперашні час. 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 >> РОСС RHEINGANS-Ё: Так што, калі што-то ідзе не так 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 >> РОСС RHEINGANS-Ё: Так, калі вы працуеце ў вэб-сервер, 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 І ў гэтых выпадках, вядома, Python сапраўды зарабляе свае запускі. 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 Python, я згадаў што ён выкарыстоўвае прабелы 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 Python ня ставіцца да іх гэтак жа. 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 і 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 Хоць зноў жа, калі вы напісалі Python Праграма з укладкамі, якія былі б у парадку, 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 или--, калі ён кажа пра абзацах і, падобна, што гэта няправільна, 902 00:45:18,700 --> 00:45:22,090 гэта, верагодна, таму ёсць праблема ўкладка-прастору. 903 00:45:22,090 --> 00:45:24,154 Яны да гэтага часу прыводзіць у шаленства для адладкі. 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-- Apache 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 Калі вы калі-небудзь на машыне Linux, або Cloud9 IDE межамі 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 >> Дык вось Python у двух словах. 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