All language subtitles for Copy of L4_S2 Introducing Functions-vi

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese Download
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 0 00:00:00,000 --> 00:00:00,500 ... 1 00:00:00,500 --> 00:00:03,130 So how do we create this notion of abstraction Vậy làm thế nào để chúng ta tạo ra khái niệm về sự trừu tượng 2 00:00:03,130 --> 00:00:05,630 and decomposition in Python, or actually và sự phân tách trong Python, hoặc thực sự 3 00:00:05,630 --> 00:00:07,370 in any programming language? trong bất kì loại ngôn ngữ lập trình nào? 4 00:00:07,370 --> 00:00:10,030 And the answer is, we introduced the idea Và câu trả lời là, chúng tôi đã giới thiệu ý tưởng 5 00:00:10,030 --> 00:00:12,620 of a reusable piece of code, or a chunk of code, của một đoạn mã có thể tái sử dụng hoặc một khối mã, 6 00:00:12,620 --> 00:00:14,360 called a function. gọi là hàm 7 00:00:14,360 --> 00:00:17,770 Functions are not going to be run in a program Các hàm sẽ không được chạy trong một chương trình 8 00:00:17,770 --> 00:00:20,360 until we actually ask them to do that. cho đến khi chúng tôi thực sự yêu cầu chúng làm điều đó. 9 00:00:20,360 --> 00:00:23,030 So as opposed to things I was typing into my shell-- Vì vậy, trái ngược với những thứ tôi đã gõ vào shell -- 10 00:00:23,030 --> 00:00:24,610 every time I typed in an expression, mỗi khi tôi gõ vào một biểu thức, 11 00:00:24,610 --> 00:00:26,770 it was invoked or evaluated-- I'm nó đã được gọi hoặc đánh giá - Ta 12 00:00:26,770 --> 00:00:29,010 going to create a definition of a function. sẽ tạo ra một định nghĩa của hàm. 13 00:00:29,010 --> 00:00:30,690 And when I read that in, it's simply Và khi ta đọc nó trong, nó chỉ đơn giản là 14 00:00:30,690 --> 00:00:34,520 going to create the ability to do that computation, sẽ tạo ra khả năng thực hiện tính toán đó, 15 00:00:34,520 --> 00:00:35,830 but not actually call it. nhưng không thực sự gọi nó. 16 00:00:35,830 --> 00:00:38,790 And we'll see an example of that in a second. Và chúng ta sẽ thấy một ví dụ về điều đó trong giây lát. 17 00:00:38,790 --> 00:00:40,730 What are the characteristics of a function? Đâu là các đặc tính của một hàm? 18 00:00:40,730 --> 00:00:41,710 Several. Có vài thứ 19 00:00:41,710 --> 00:00:43,680 First, it has a name. Đầu tiên, nó có một cái tên. 20 00:00:43,680 --> 00:00:44,400 That makes sense. Nghe hợp lý. 21 00:00:44,400 --> 00:00:45,640 I've got to be able to refer to it. Tôi phải có khả năng tham chiếu nó. 22 00:00:45,640 --> 00:00:48,180 In the same way that I had a variable as a name for a value, Theo cùng một cách mà tôi đã có một biến như là một cái tên cho nột giá trị, 23 00:00:48,180 --> 00:00:50,170 a function will have a name. một hàm cũng sẽ có một tên. 24 00:00:50,170 --> 00:00:52,360 It will also take a set of parameters. Nó cũng sẽ cần một tập hợp các tham số. 25 00:00:52,360 --> 00:00:54,500 These are arguments or values that I'm Đây là những đối số hoặc giá trị mà ta 26 00:00:54,500 --> 00:00:57,700 going to use inside the function when I do a computation. sẽ sử dụng bên trong hàm khi ta thực hiện tính toán. 27 00:00:57,700 --> 00:00:59,200 It's going to make sense in a second Bạn sẽ hiểu vì sao trong giây lát 28 00:00:59,200 --> 00:01:01,610 when we look at an example. khi chúng ta xem xét một ví dụ. 29 00:01:01,610 --> 00:01:03,790 Every function has to have parameters. Mỗi hàm đều phải có tham số. 30 00:01:03,790 --> 00:01:05,680 But the number of parameters could be zero. Nhưng số lượng tham số có thể bằng không. 31 00:01:05,680 --> 00:01:07,040 Or it's a funny way of saying, it's Hoặc đó là một cách nói hài hước, nó 32 00:01:07,040 --> 00:01:08,456 going to take in a parameter list, sẽ nhận vào một danh sách tham số, 33 00:01:08,456 --> 00:01:10,290 but in fact, it may need no parameters. nhưng trên thực tế, nó có thể không cần tham số. 34 00:01:10,290 --> 00:01:12,560 And I'm going to decide when I create a function how Và tôi sẽ quyết định khi tạo hàm là 35 00:01:12,560 --> 00:01:14,440 many parameters I need. tôi cần bao nhiêu tham số. 36 00:01:14,440 --> 00:01:16,780 We'd like every function to have a doc string. Chúng ta muốn mọi hàm đều có một docstring. 37 00:01:16,780 --> 00:01:18,990 That is a documentation that tells me Đó là một tài liệu cho tôi biết 38 00:01:18,990 --> 00:01:20,620 what the function does. hàm làm gì. 39 00:01:20,620 --> 00:01:22,960 We'll see an example of that in a second. Chúng ta sẽ thấy một ví dụ về điều đó trong giây lát. 40 00:01:22,960 --> 00:01:25,220 And finally, a function has a body. Và cuối cùng, mỗi hàm có một thân hàm. 41 00:01:25,220 --> 00:01:29,250 And the body is the sequence of commands or instructions Và phần thân là chuỗi các lệnh hoặc hướng dẫn 42 00:01:29,250 --> 00:01:31,520 that we want to actually have happen mà chúng ta muốn thực sự xảy ra 43 00:01:31,520 --> 00:01:34,330 when we use the function. khi chúng ta sử dụng hàm. 44 00:01:34,330 --> 00:01:35,450 Those are a lot of words. Đó là rất nhiều từ. 45 00:01:35,450 --> 00:01:38,600 Let's look at an example to get a sense of this. Hãy xem xét một ví dụ để có được cảm giác về điều này. 46 00:01:38,600 --> 00:01:41,350 Here's a definition of a function. Đây là định nghĩa của một hàm. 47 00:01:41,350 --> 00:01:43,910 And I'm going to walk through each of these pieces. Và tôi sẽ đi qua từng phần này. 48 00:01:43,910 --> 00:01:47,970 So the first part of it is I've got a keyword, in this case Vì vậy, phần đầu tiên của nó là tôi đã có một từ khóa, trong trường hợp này 49 00:01:47,970 --> 00:01:49,120 def. def. 50 00:01:49,120 --> 00:01:50,590 And it is a key word, meaning it's Và nó là một từ khóa, có nghĩa là nó 51 00:01:50,590 --> 00:01:53,000 a special symbol to Python that tells me một biểu tượng đặc biệt cho Python cho ta biết 52 00:01:53,000 --> 00:01:55,250 I'm about to define something. Tôi sắp định nghĩa cái gì đó. 53 00:01:55,250 --> 00:01:57,780 In this case, I'm about to define a function. Trong trường hợp này, ta sắp định nghĩa một hàm. 54 00:01:57,780 --> 00:02:00,510 That is followed by a string that Tiếp theo đó là chuỗi 55 00:02:00,510 --> 00:02:02,050 is the name of the function. gọi là tên của hàm. 56 00:02:02,050 --> 00:02:05,080 In this case, it's is even, or is underscore even. Trong trường hợp này, nó là chẵn, hoặc được nhấn mạnh thậm chí. 57 00:02:05,080 --> 00:02:09,150 That's the name I'm going to give to this function. Đó là tên ta sẽ đặt cho hàm này. 58 00:02:09,150 --> 00:02:11,990 That is followed in parentheses, in those parens, Điều đó được theo sau trong ngoặc đơn, trong các parens đó,-- 59 00:02:11,990 --> 00:02:15,280 by zero, one, or more parameters. bằng không, một hoặc nhiều tham số. 60 00:02:15,280 --> 00:02:17,010 In this case, I've got one. Trong trường hợp này, ta đã có một cái. 61 00:02:17,010 --> 00:02:18,670 And I'm giving it a name. Và ta đang đặt cho nó một cái tên. 62 00:02:18,670 --> 00:02:20,180 Think of it like a variable name. Hãy nghĩ về nó như một cái tên biến đổi. 63 00:02:20,180 --> 00:02:22,340 Well, I'm saying, I'm going to use the name Chà, ta đang nói, ta sẽ sử dụng tên 64 00:02:22,340 --> 00:02:26,630 i as the name for a parameter inside this function. i làm tên cho một tham số bên trong hàm này. 65 00:02:26,630 --> 00:02:28,200 And that's then followed by a colon Và đó là sau đó là một dấu hai chấm 66 00:02:28,200 --> 00:02:31,260 to tell me I'm done with the top line of the definition, để cho tôi biết tôi đã hoàn thành với dòng trên cùng của định nghĩa, 67 00:02:31,260 --> 00:02:33,970 I'm about to follow it with other information. Ta sắp theo dõi nó với các thông tin khác. 68 00:02:33,970 --> 00:02:37,170 So keyword def, a name, and in parens Vì vậy, từ khóa def, một cái tên và trong parens 69 00:02:37,170 --> 00:02:39,380 some number of parameters. một số tham số. 70 00:02:39,380 --> 00:02:42,990 Immediately below that in triple double quotes-- Ngay bên dưới đó trong dấu ngoặc kép gấp ba-- 71 00:02:42,990 --> 00:02:46,820 which is a wonderful expression-- is a docstring. đó là một biểu hiện tuyệt vời - là một tài liệu. 72 00:02:46,820 --> 00:02:48,400 It's up to you how to use this. Nó tùy thuộc vào bạn làm thế nào để sử dụng điều này. 73 00:02:48,400 --> 00:02:50,360 But traditionally, you would specify Nhưng theo truyền thống, bạn sẽ chỉ định 74 00:02:50,360 --> 00:02:52,800 what's the input to this function đầu vào cho hàm này là gì 75 00:02:52,800 --> 00:02:55,604 and what's the output of this function. và đầu ra của hàm này là gì. 76 00:02:55,604 --> 00:02:57,020 It's a little bit like a contract. Nó hơi giống một hợp đồng. 77 00:02:57,020 --> 00:02:59,680 In this case, I'm saying I'm expecting one input. Trong trường hợp này, ta đang nói rằng ta đang mong đợi một đầu vào. 78 00:02:59,680 --> 00:03:01,000 I'm calling it i. Ta 2gọi nó là i 79 00:03:01,000 --> 00:03:02,860 And it's a positive integer. Và đó là một số nguyên dương. 80 00:03:02,860 --> 00:03:06,770 And what I'm going to return is true if i is even. Và những gì ta sẽ trở lại là sự thật nếu ta là đồng đều. 81 00:03:06,770 --> 00:03:09,284 Otherwise, I'm going to return false. Nếu không, tôi sẽ trả lại sai. 82 00:03:09,284 --> 00:03:10,700 As you'll see in a little bit, one Như bạn sẽ thấy trong một chút, một 83 00:03:10,700 --> 00:03:12,200 of the nice things about a docstring trong những điều tốt đẹp về một docstring 84 00:03:12,200 --> 00:03:16,230 is, once I've defined this function, if I go to call it, là, một khi ta đã định nghĩa hàm này, nếu ta đi gọi nó, 85 00:03:16,230 --> 00:03:19,300 which I'm going to get to in a second, Python will mà tôi sẽ đạt được trong giây lát, Python sẽ 86 00:03:19,300 --> 00:03:22,250 automatically bring up a little window that tells me tự động hiển thị một cửa sổ nhỏ cho ta biết 87 00:03:22,250 --> 00:03:24,010 the docstring that's remind me what docstring nhắc nhở ta những gì 88 00:03:24,010 --> 00:03:27,060 the conditions for this function are, which is great. các điều kiện cho hàm này là, đó là tuyệt vời. 89 00:03:27,060 --> 00:03:31,550 So keyword, name, parameters, I've got a docstring. Vì thế từ khóa, tên, tham số, ta đã có một docstring. 90 00:03:31,550 --> 00:03:34,940 Immediately below that is the body of the function. Ngay bên dưới đó là cơ thể của hàm. 91 00:03:34,940 --> 00:03:37,360 This is the sequence of commands or expressions Đây là chuỗi các lệnh hoặc biểu thức 92 00:03:37,360 --> 00:03:41,040 I want to evaluate when I'm ready to use this. Ta muốn đánh giá khi nào tôi đã sẵn sàng sử dụng cái này. 93 00:03:41,040 --> 00:03:45,040 Notice the indentation-- all of this is indented here. Lưu ý thụt lề - tất cả những điều này được thụt lề ở đây. 94 00:03:45,040 --> 00:03:48,394 This is telling me where the body of the function is. Điều này cho ta biết phần khung của hàm ở đâu. 95 00:03:48,394 --> 00:03:49,810 And in fact, it will be everything Và trên thực tế, nó sẽ là tất cả mọi thứ 96 00:03:49,810 --> 00:03:51,680 until I get back to something that cho đến khi ta quay lại với một cái gì đó 97 00:03:51,680 --> 00:03:56,850 returns to the left hand side of the editor or of the shell. trở về phía bên tay trái của trình soạn thảo hoặc của shell. 98 00:03:56,850 --> 00:03:59,020 In this case, I've got two expressions in my body. Trong trường hợp này, ta có hai biểu hiện trong cơ thể của mình. 99 00:03:59,020 --> 00:04:00,950 It's going to print out simply the string hi. Nó sẽ in ra chỉ đơn giản là string hi. 100 00:04:00,950 --> 00:04:03,300 And then it's going to return a value. Và sau đó nó sẽ trả về một giá trị. 101 00:04:03,300 --> 00:04:05,810 We'll come back to the return in a second. Chúng tôi sẽ trở lại hàm return một giây nữa. 102 00:04:05,810 --> 00:04:08,610 There is how I write a function. Có cách ta viết một hàm. 103 00:04:08,610 --> 00:04:11,320 Now, how do I use it? Bây giờ, làm thế nào để ta sử dụng nó? 104 00:04:11,320 --> 00:04:12,430 The function has a name. Hàm này có tên. 105 00:04:12,430 --> 00:04:14,080 The same way I could use a variable Giống như cách ta có thể sử dụng một biến 106 00:04:14,080 --> 00:04:16,160 as a name inside of an expression, như một cái tên bên trong một biểu thức, 107 00:04:16,160 --> 00:04:18,510 I can use the function name. Ta có thể sử dụng tên hàm. 108 00:04:18,510 --> 00:04:21,000 And in particular, later on in the code, Và đặc biệt, sau này trong mã, 109 00:04:21,000 --> 00:04:25,290 I can say an expression like, is underscore even, Tôi có thể nói một biểu thức như, được nhấn mạnh ngay cả, 110 00:04:25,290 --> 00:04:29,350 and then an open paren, followed by an expression whose value và sau đó là một paren mở, theo sau là một biểu thức có giá trị 111 00:04:29,350 --> 00:04:32,094 I'm going to use inside of that procedure Ta sẽ sử dụng bên trong quy trình đó 112 00:04:32,094 --> 00:04:34,510 followed, in this case, by a closed paren, because there's theo sau, trong trường hợp này, bởi một paren đóng cửa, bởi vì có 113 00:04:34,510 --> 00:04:36,550 only one parameter. chỉ có một tham số. 114 00:04:36,550 --> 00:04:39,370 I call this invoking or calling the function. Ta gọi đây là gọi gọi hoặc callhàm. 115 00:04:39,370 --> 00:04:41,449 I'm using the function. Ta đang sử dụng hàm này. 116 00:04:41,449 --> 00:04:43,490 We're going to look at some examples in a second. Chúng ta sẽ xem xét một số ví dụ trong giây lát. 117 00:04:43,490 --> 00:04:48,070 But the basic idea here is that, when I call this function, Nhưng ý tưởng cơ bản ở đây là, khi ta gọi hàm này, 118 00:04:48,070 --> 00:04:51,120 I'm going to take the value 3, in this case, Ta sẽ lấy giá trị 3, trong trường hợp này, 119 00:04:51,120 --> 00:04:54,030 and everywhere I see an i in the body of the function, và ở khắp mọi nơi ta thấy chữ i trong cơ thể của hàm, 120 00:04:54,030 --> 00:04:57,520 I'm going to use that value in place of i. Ta sẽ sử dụng giá trị đó thay cho i. 121 00:04:57,520 --> 00:04:59,380 And in fact, if I look at it then, Và trên thực tế, nếu tôi nhìn vào nó thì, 122 00:04:59,380 --> 00:05:02,740 inside of this particular expression, bên trong biểu hiện cụ thể này, 123 00:05:02,740 --> 00:05:06,510 I'm going to print out simple the string hi. Ta sẽ in ra đơn giản string hi. 124 00:05:06,510 --> 00:05:10,500 And then I'm going to evaluate this particular expression. Và sau đó ta sẽ đánh giá biểu hiện cụ thể này. 125 00:05:10,500 --> 00:05:16,830 And it has the keyword return followed by an actual value. Và nó có lợi nhuận từ khóa return là một giá trị thực tế. 00:05:16,830 --> 00:05:18,860 Now, I just said, in this case, if I've Bây giờ, ta chỉ nói, trong trường hợp này, nếu ta đã 127 00:05:18,860 --> 00:05:21,490 called is_even with the parameter 3, được gọi là is_even với tham số 3, 128 00:05:21,490 --> 00:05:24,120 i now holds the value 3. bây giờ ta giữ giá trị 3. 129 00:05:24,120 --> 00:05:26,590 So I'm going to evaluate 3 remainder 2 and say, Vì vậy, ta sẽ đánh giá 3 phần còn lại 2 và nói, 130 00:05:26,590 --> 00:05:28,150 is that equal to 0? con số đó có bằng 0 không? 131 00:05:28,150 --> 00:05:30,500 In this case, it's not, because the remainder is 1. Trong trường hợp này, nó không phải, bởi vì phần còn lại là 1. 132 00:05:30,500 --> 00:05:34,840 And I'm going to then return that value to whoever Và sau đó ta sẽ return giá trị đó cho bất cứ ai 133 00:05:34,840 --> 00:05:36,360 called this function. được gọi là hàm này. 134 00:05:36,360 --> 00:05:39,100 So that's the expression I want to evaluate and actually Vì vậy, đó là biểu thức ta muốn đánh giá và thực sự 135 00:05:39,100 --> 00:05:40,470 return. hàm return. 136 00:05:40,470 --> 00:05:42,270 So return is a keyword that tells me Vì vậy,hàm return là từ khóa cho tôi biết 137 00:05:42,270 --> 00:05:44,490 I'm ready to stop the computation. Ta đã sẵn sàng để ngăn chặn việc tính toán. 138 00:05:44,490 --> 00:05:46,390 And whatever the following expression is, Và bất kể biểu thức sau đây là gì, 139 00:05:46,390 --> 00:05:48,080 that is the value I'm going to give back đó là giá trị ta sẽ trả lại 140 00:05:48,080 --> 00:05:50,140 to the person who asked for it. cho người yêu cầu nó. 141 00:05:50,140 --> 00:05:52,900 In this case, it was simply at my shell. Trong trường hợp này, nó chỉ đơn giản là ở vỏ của tôi. 142 00:05:52,900 --> 00:05:54,380 But we'll see in a second, it could Nhưng chúng ta sẽ thấy trong giây lát nữa, nó có thể 143 00:05:54,380 --> 00:05:56,005 be somebody else that's going to use it là người khác sẽ sử dụng nó 144 00:05:56,005 --> 00:05:58,040 as part of another computation. như một phần của phép tính khác. 145 00:05:58,040 --> 00:05:58,719 18342

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