All language subtitles for captions (1).ru

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English Download
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:00,880 --> 00:00:04,560 привет, я профессор Барба и у меня есть 2 00:00:03,439 --> 00:00:06,799 новая демо для вас 3 00:00:04,560 --> 00:00:08,720 в этой демонстрации я хочу познакомить вас с 4 00:00:06,799 --> 00:00:12,799 функции Python 5 00:00:08,720 --> 00:00:15,200 функции - это умный способ сломать 6 00:00:12,799 --> 00:00:16,560 сложные задачи на более мелкие части, чтобы 7 00:00:15,200 --> 00:00:20,000 это более управляемо 8 00:00:16,560 --> 00:00:22,480 это связка кода 9 00:00:20,000 --> 00:00:23,760 что ты собрал, потому что ты хочешь 10 00:00:22,480 --> 00:00:26,800 повторно использовать 11 00:00:23,760 --> 00:00:29,840 это эти эти наборы процедур 12 00:00:26,800 --> 00:00:33,120 или вычисляет функцию 13 00:00:29,840 --> 00:00:36,559 принимает аргументы в качестве входных данных 14 00:00:33,120 --> 00:00:37,920 и возвращает значение для определения функции 15 00:00:36,559 --> 00:00:41,040 в Python вы используете 16 00:00:37,920 --> 00:00:43,440 ключевое слово def, вот как 17 00:00:41,040 --> 00:00:46,399 простейшая функция, которую вы можете себе представить 18 00:00:43,440 --> 00:00:47,280 ключевое слово def, которому мы собираемся следовать 19 00:00:46,399 --> 00:00:48,879 ключевое слово 20 00:00:47,280 --> 00:00:52,000 def по имени функции this 21 00:00:48,879 --> 00:00:55,199 функция, которую я собираюсь назвать, ничего не делать 22 00:00:52,000 --> 00:00:56,719 ничего не делать 23 00:00:55,199 --> 00:00:58,399 после названия функции, которую вы 24 00:00:56,719 --> 00:01:01,840 следуйте за этим с 25 00:00:58,399 --> 00:01:03,680 круглые скобки, где вы можете разместить 26 00:01:01,840 --> 00:01:05,360 аргументы, но в этом случае эта функция 27 00:01:03,680 --> 00:01:06,159 не будет возражать, поэтому я ухожу 28 00:01:05,360 --> 00:01:08,159 круглые скобки 29 00:01:06,159 --> 00:01:09,200 пусто, и я заканчиваю это утверждение 30 00:01:08,159 --> 00:01:12,320 двоеточие 31 00:01:09,200 --> 00:01:14,560 следующие строки кода, которые 32 00:01:12,320 --> 00:01:15,360 с отступом после определения 33 00:01:14,560 --> 00:01:18,320 название 34 00:01:15,360 --> 00:01:19,840 расчеты, которые вы хотите сделать 35 00:01:18,320 --> 00:01:21,280 но в этом случае я просто напишу 36 00:01:19,840 --> 00:01:24,000 передача ключевого слова 37 00:01:21,280 --> 00:01:24,720 это ключевое слово в Python, которое означает делать 38 00:01:24,000 --> 00:01:28,159 ничего такого 39 00:01:24,720 --> 00:01:29,759 так вот самый простой из возможных 40 00:01:28,159 --> 00:01:30,560 функция, которую вы можете представить на Python 41 00:01:29,759 --> 00:01:33,040 но у него есть 42 00:01:30,560 --> 00:01:33,600 все необходимые элементы он имеет 43 00:01:33,040 --> 00:01:36,720 def 44 00:01:33,600 --> 00:01:39,600 ключевое слово имя функции 45 00:01:36,720 --> 00:01:40,720 скобки двоеточие, а затем отступ 46 00:01:39,600 --> 00:01:44,159 отступ 47 00:01:40,720 --> 00:01:47,920 допустимая строка Python, так что обратите внимание 48 00:01:44,159 --> 00:01:50,560 вот что, если я напечатаю 49 00:01:47,920 --> 00:01:50,560 ничего не делать 50 00:01:51,280 --> 00:01:54,720 я получаю функцию, это действительный питон 51 00:01:54,079 --> 00:01:59,119 объект 52 00:01:54,720 --> 00:02:02,399 если я напечатаю, ничего не делай 53 00:01:59,119 --> 00:02:05,040 и я добавляю круглые скобки 54 00:02:02,399 --> 00:02:05,680 и выполнить, я ничего не понимаю, что произошло 55 00:02:05,040 --> 00:02:09,119 там 56 00:02:05,680 --> 00:02:09,920 ну я на самом деле вызываю функцию 57 00:02:09,119 --> 00:02:12,080 ничего не делать 58 00:02:09,920 --> 00:02:13,120 это указано в раунде 59 00:02:12,080 --> 00:02:16,720 кронштейны 60 00:02:13,120 --> 00:02:18,720 и я спрашиваю тип 61 00:02:16,720 --> 00:02:20,160 встроенная функция Python, чтобы сказать мне 62 00:02:18,720 --> 00:02:22,319 какой тип 63 00:02:20,160 --> 00:02:24,160 который возвращается функцией в этом 64 00:02:22,319 --> 00:02:25,280 случай, так как у меня нет возврата 65 00:02:24,160 --> 00:02:28,400 утверждение 66 00:02:25,280 --> 00:02:31,200 он возвращает тип none 67 00:02:28,400 --> 00:02:31,760 но в большинстве случаев я хочу вернуть 68 00:02:31,200 --> 00:02:34,560 значение 69 00:02:31,760 --> 00:02:35,280 и поэтому нам нужен оператор возврата, чтобы 70 00:02:34,560 --> 00:02:38,720 здесь 71 00:02:35,280 --> 00:02:40,480 возможна другая функция, которая 72 00:02:38,720 --> 00:02:41,760 вернет значение, которое мы собираемся 73 00:02:40,480 --> 00:02:44,000 использовать 74 00:02:41,760 --> 00:02:46,160 ключевое слово def, и я назову его 75 00:02:44,000 --> 00:02:49,760 квадратный 76 00:02:46,160 --> 00:02:52,879 foo, и на этот раз я собираюсь включить 77 00:02:49,760 --> 00:02:55,040 аргумент, я назову его фу 78 00:02:52,879 --> 00:02:56,800 и я всегда должен помнить, чтобы закончить 79 00:02:55,040 --> 00:02:59,840 это заявление с двоеточием 80 00:02:56,800 --> 00:03:00,400 поэтому строки кода с отступом будут 81 00:02:59,840 --> 00:03:02,319 к 82 00:03:00,400 --> 00:03:04,319 Возьми сейчас и сделай следующее, я 83 00:03:02,319 --> 00:03:07,760 собираюсь определить новое имя переменной 84 00:03:04,319 --> 00:03:09,840 bar и сделайте его равным 2. 85 00:03:07,760 --> 00:03:11,200 а затем я собираюсь вычислить значение 86 00:03:09,840 --> 00:03:13,519 что равно 87 00:03:11,200 --> 00:03:18,400 foo аргумент, и я собираюсь использовать 88 00:03:13,519 --> 00:03:20,400 две звездочки для обозначения мощности 89 00:03:18,400 --> 00:03:23,680 расчет и бар будет 90 00:03:20,400 --> 00:03:25,760 экспонента, и я вернусь 91 00:03:23,680 --> 00:03:27,120 значение, так что теперь у нас есть немного 92 00:03:25,760 --> 00:03:28,879 более сложный 93 00:03:27,120 --> 00:03:31,040 функция я собираюсь удалить эти два 94 00:03:28,879 --> 00:03:32,319 чтобы освободить больше места для моей презентации 95 00:03:31,040 --> 00:03:35,440 тебе 96 00:03:32,319 --> 00:03:36,080 я собираюсь выполнить эту строку, которая 97 00:03:35,440 --> 00:03:38,640 клетка 98 00:03:36,080 --> 00:03:39,440 и я определил эту новую функцию так 99 00:03:38,640 --> 00:03:43,360 тип 100 00:03:39,440 --> 00:03:46,400 квадратного фу дает мне 101 00:03:43,360 --> 00:03:49,440 функция типа square foo 102 00:03:46,400 --> 00:03:50,080 с некоторым значением здесь, например, 5 дает 103 00:03:49,440 --> 00:03:52,959 меня 104 00:03:50,080 --> 00:03:54,640 int, поэтому возвращаемое значение square foo 105 00:03:52,959 --> 00:03:58,319 с аргументом 5 106 00:03:54,640 --> 00:04:01,599 действительно есть int, так что если я просто делаю квадрат foo 107 00:03:58,319 --> 00:04:05,040 5 я получаю 25 квадратов 5. 108 00:04:01,599 --> 00:04:07,599 Итак, вот простая функция, и я хочу 109 00:04:05,040 --> 00:04:11,200 вы должны отметить, что переменные 110 00:04:07,599 --> 00:04:13,439 используются внутри функции, не 111 00:04:11,200 --> 00:04:14,560 доступный, как только мы однажды назвали это 112 00:04:13,439 --> 00:04:17,440 функция так что если я сделаю 113 00:04:14,560 --> 00:04:18,239 bar и попробуйте выполнить, я получаю сообщение об ошибке 114 00:04:17,440 --> 00:04:21,280 потому что бар 115 00:04:18,239 --> 00:04:22,079 не определен бар является внутренним по отношению к 116 00:04:21,280 --> 00:04:24,800 функционировать так 117 00:04:22,079 --> 00:04:26,240 помните, что эти функции не показывают, как 118 00:04:24,800 --> 00:04:29,840 колбаса сделана 119 00:04:26,240 --> 00:04:31,600 поэтому бар неизвестен вне функции 120 00:04:29,840 --> 00:04:33,199 хорошо, я собираюсь удалить это в 121 00:04:31,600 --> 00:04:37,600 иметь немного больше места 122 00:04:33,199 --> 00:04:40,800 и покажу вам еще один важный 123 00:04:37,600 --> 00:04:43,919 свойство функций, если я определяю бар 124 00:04:40,800 --> 00:04:47,280 вне функции сейчас и определите 125 00:04:43,919 --> 00:04:50,479 новая функция, которую я собираюсь вызвать 126 00:04:47,280 --> 00:04:54,320 скажи мощность бара 127 00:04:50,479 --> 00:04:58,320 и требуется аргумент foo и 128 00:04:54,320 --> 00:05:02,160 теперь я собираюсь сделать результат ммм 129 00:04:58,320 --> 00:05:06,400 я могу использовать любую переменную здесь равно foo 130 00:05:02,160 --> 00:05:09,600 к панели питания и вернуться 131 00:05:06,400 --> 00:05:12,560 результаты хорошо, я выполняю это 132 00:05:09,600 --> 00:05:13,759 теперь конечно бар известен 133 00:05:12,560 --> 00:05:18,240 потому что у меня есть 134 00:05:13,759 --> 00:05:18,240 определенный бар вне функции 135 00:05:18,400 --> 00:05:21,440 результат однако 136 00:05:22,400 --> 00:05:26,880 неизвестно см. результат не определен 137 00:05:24,639 --> 00:05:28,240 потому что это внутреннее по отношению к функции 138 00:05:26,880 --> 00:05:30,320 функция не показывает, как 139 00:05:28,240 --> 00:05:33,440 колбаса сделана хорошо 140 00:05:30,320 --> 00:05:35,120 но на самом деле это не лучшая идея 141 00:05:33,440 --> 00:05:36,639 иметь это определение вне 142 00:05:35,120 --> 00:05:37,600 функция все функции должны быть 143 00:05:36,639 --> 00:05:39,840 автономный 144 00:05:37,600 --> 00:05:41,759 так что помните, будьте очень осторожны, если вы это сделаете 145 00:05:39,840 --> 00:05:43,360 это должно быть по какой-то причине 146 00:05:41,759 --> 00:05:45,440 вы хотите, чтобы ваша функция была 147 00:05:43,360 --> 00:05:47,440 автономный 148 00:05:45,440 --> 00:05:50,000 вообще плохая идея использовать глобальные 149 00:05:47,440 --> 00:05:53,120 переменные, так что давайте сделаем еще один пример 150 00:05:50,000 --> 00:05:55,360 я собираюсь добавить несколько 151 00:05:53,120 --> 00:05:56,479 ячеек здесь, чтобы я мог прокрутить вверх и показать 152 00:05:55,360 --> 00:06:01,039 ты эта функция 153 00:05:56,479 --> 00:06:04,000 Я назову это силой 154 00:06:01,039 --> 00:06:05,280 foo запомните двоеточие, и я собираюсь 155 00:06:04,000 --> 00:06:08,639 ценить 156 00:06:05,280 --> 00:06:11,919 равно foo 157 00:06:08,639 --> 00:06:14,319 к власти 158 00:06:11,919 --> 00:06:15,840 и возвращаем значение, так что 159 00:06:14,319 --> 00:06:18,960 случиться там 160 00:06:15,840 --> 00:06:21,440 хорошо, я выполняю это 161 00:06:18,960 --> 00:06:22,479 ничего не произошло, даже нет ошибки 162 00:06:21,440 --> 00:06:24,560 хоть 163 00:06:22,479 --> 00:06:26,240 oof, если вы заметили, это переменная 164 00:06:24,560 --> 00:06:28,880 что я не определил 165 00:06:26,240 --> 00:06:30,080 oof не известно ни снаружи, ни внутри 166 00:06:28,880 --> 00:06:32,880 функционировать вообще 167 00:06:30,080 --> 00:06:35,759 но что случилось, мы определили 168 00:06:32,880 --> 00:06:39,039 функция так введите 169 00:06:35,759 --> 00:06:41,039 власти 170 00:06:39,039 --> 00:06:43,039 говорит мне, что это функция, но у нас нет 171 00:06:41,039 --> 00:06:46,639 позвонил сейчас, если я позвоню 172 00:06:43,039 --> 00:06:46,639 эта функция uf 173 00:06:46,800 --> 00:06:50,400 мощность с любым числом с любым значением 174 00:06:49,840 --> 00:06:51,840 что я 175 00:06:50,400 --> 00:06:53,440 привести это как аргумент и попытаться 176 00:06:51,840 --> 00:06:57,280 выполнить сейчас я получаю 177 00:06:53,440 --> 00:07:00,000 ошибка, потому что oof не определен так 178 00:06:57,280 --> 00:07:02,080 Важное сообщение здесь заключается в том, что 179 00:07:00,000 --> 00:07:03,599 ошибка не была замечена, когда я определил 180 00:07:02,080 --> 00:07:04,880 функция, потому что, когда я определил 181 00:07:03,599 --> 00:07:07,599 функция 182 00:07:04,880 --> 00:07:09,599 на самом деле он не выполняет 183 00:07:07,599 --> 00:07:11,599 внутренности функции 184 00:07:09,599 --> 00:07:13,759 и я не вижу ошибки, но когда я 185 00:07:11,599 --> 00:07:15,199 выйти, когда я вызываю функцию, тогда те 186 00:07:13,759 --> 00:07:17,840 линии выполнены 187 00:07:15,199 --> 00:07:18,639 и я действительно увижу ошибку 188 00:07:17,840 --> 00:07:20,880 хорошо я 189 00:07:18,639 --> 00:07:22,240 выбирая слишком много вещей и последнее 190 00:07:20,880 --> 00:07:25,840 дело в том, что 191 00:07:22,240 --> 00:07:26,880 если я, конечно, определюсь сейчас, я собираюсь 192 00:07:25,840 --> 00:07:30,560 удалите это в 193 00:07:26,880 --> 00:07:34,479 у меня будет больше места, если я сделаю много равных 194 00:07:30,560 --> 00:07:38,080 что-то и теперь я звоню oof 195 00:07:34,479 --> 00:07:41,120 власть с любым аргументом, который сейчас 196 00:07:38,080 --> 00:07:43,840 выполняется, потому что uf определен 197 00:07:41,120 --> 00:07:45,520 эм, давай сделаем что-нибудь еще 198 00:07:43,840 --> 00:07:49,199 интересно давай 199 00:07:45,520 --> 00:07:54,400 numpy здесь в игре и определите 200 00:07:49,199 --> 00:07:54,400 foo равно массиву numpy 201 00:07:56,720 --> 00:08:02,879 и давайте сделаем два, три, четыре 202 00:07:59,919 --> 00:08:04,560 а теперь позвольте позвонить давайте назовем наш старый 203 00:08:02,879 --> 00:08:07,599 квадратный 204 00:08:04,560 --> 00:08:09,840 функция foo я использовал um 205 00:08:07,599 --> 00:08:10,879 это имя, я думаю, что сделал, давай назовем его 206 00:08:09,840 --> 00:08:13,759 с foo 207 00:08:10,879 --> 00:08:15,440 и теперь вы видите, что квадратный foo дал мне 208 00:08:13,759 --> 00:08:18,639 квадрат массива 209 00:08:15,440 --> 00:08:21,919 так что он работает с этим другим 210 00:08:18,639 --> 00:08:23,680 своего рода аргумент сейчас, и я мог бы сделать 211 00:08:21,919 --> 00:08:27,199 другой вид прямо сейчас обратите внимание 212 00:08:23,680 --> 00:08:28,960 что когда я определил здесь square foo 213 00:08:27,199 --> 00:08:30,479 я сказал, что этот аргумент будет 214 00:08:28,960 --> 00:08:34,080 называется foo, но я могу использовать 215 00:08:30,479 --> 00:08:38,640 любая переменная здесь, так что давайте 216 00:08:34,080 --> 00:08:38,640 бар равен numpy 217 00:08:38,839 --> 00:08:46,320 массив давай сделаем 218 00:08:41,360 --> 00:08:46,320 3 и 4 и теперь звоните 219 00:08:48,800 --> 00:08:54,880 квадрат foo с баром 220 00:08:52,959 --> 00:08:56,080 и выполнить его, и теперь приходит 221 00:08:54,880 --> 00:08:58,880 выход 222 00:08:56,080 --> 00:08:59,600 урок здесь в том, что имя 223 00:08:58,880 --> 00:09:01,839 Переменная 224 00:08:59,600 --> 00:09:02,880 вне функции, которую я собираюсь 225 00:09:01,839 --> 00:09:06,000 использовать как аргумент 226 00:09:02,880 --> 00:09:09,120 не важно, как только я отправлю 227 00:09:06,000 --> 00:09:12,560 этот объект называется bar как 228 00:09:09,120 --> 00:09:13,279 аргумент для квадратного foo изнутри, чтобы 229 00:09:12,560 --> 00:09:16,640 эта функция 230 00:09:13,279 --> 00:09:19,519 он будет называться foo, что 231 00:09:16,640 --> 00:09:20,320 последний урок, может быть, я дам тебе 232 00:09:19,519 --> 00:09:23,040 Резюме сейчас 233 00:09:20,320 --> 00:09:23,839 так что def - ключевое слово для определения 234 00:09:23,040 --> 00:09:25,839 функции 235 00:09:23,839 --> 00:09:28,800 за которым следует имя функции end 236 00:09:25,839 --> 00:09:31,839 это заявление с двоеточием 237 00:09:28,800 --> 00:09:33,360 строки с отступом после определения 238 00:09:31,839 --> 00:09:35,120 что будет выполнено, когда ты 239 00:09:33,360 --> 00:09:37,440 вызвать функцию, но 240 00:09:35,120 --> 00:09:38,240 ни одна из этих строк не выполняется на 241 00:09:37,440 --> 00:09:40,640 определение 242 00:09:38,240 --> 00:09:42,720 сами по себе внутренние переменные не 243 00:09:40,640 --> 00:09:45,760 доступно вне функции 244 00:09:42,720 --> 00:09:48,000 и сделайте свою функцию автономной 245 00:09:45,760 --> 00:09:49,360 мы не упомянули собачьи веревки, которые 246 00:09:48,000 --> 00:09:53,680 всегда хорошая идея 247 00:09:49,360 --> 00:09:56,000 и это урок документирования 248 00:09:53,680 --> 00:09:57,120 документирование ваших функций для других 249 00:09:56,000 --> 00:09:59,279 люди, чтобы понять 250 00:09:57,120 --> 00:10:01,440 в этом случае, например, я должен добавить 251 00:09:59,279 --> 00:10:04,800 эта функция 252 00:10:01,440 --> 00:10:08,480 занимает квадрат 253 00:10:04,800 --> 00:10:08,480 его аргумент и 254 00:10:08,880 --> 00:10:12,000 это комментарий, который будет доступен 255 00:10:11,279 --> 00:10:14,160 к 256 00:10:12,000 --> 00:10:15,760 другие пользователи этой функции 257 00:10:14,160 --> 00:10:16,720 всегда полезно использовать то, что называется 258 00:10:15,760 --> 00:10:21,839 собачьи веревки 259 00:10:16,720 --> 00:10:21,839 это сообщение написано между тремя умами 260 00:10:22,240 --> 00:10:27,839 тактика и вы могли бы определить 261 00:10:26,000 --> 00:10:29,440 там какие переменные будут 262 00:10:27,839 --> 00:10:32,000 для вашей функции и оставьте сообщение 263 00:10:29,440 --> 00:10:33,519 для будущего пользователя этой функции i 264 00:10:32,000 --> 00:10:36,480 думаю, это подводит итог 265 00:10:33,519 --> 00:10:42,160 Python функции для вас, и я надеюсь, что это 266 00:10:36,480 --> 00:10:42,160 дает вам это заставляет вас начать 24365

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.