Functions · Hàm số
Name a block of code
- A function is named code you can use again and again.
- Make one with
def name():and an indented body. - "Calling" the function by its name runs that code.
Đặt tên cho một khối mã
- Một hàm (function) là đoạn mã có tên mà bạn có thể sử dụng đi lặp lại.
- Tạo hàm bằng cách dùng
def name():và theo sau bởi thân hàm được thụt vào. - "Gọi" hàm thông qua tên của nó sẽ thực thi đoạn mã đó.
Give it inputs (parameters)
- The names in the brackets are parameters — the function's inputs.
- When you call it, you pass in arguments (the real values).
- A function can take more than one parameter.
Cung cấp đầu vào (tham số)
- Các tên nằm trong dấu ngoặc là tham số (parameters) — đầu vào của hàm.
- Khi gọi hàm, bạn truyền vào các số đối (arguments) — những giá trị cụ thể.
- Một hàm có thể nhận nhiều hơn một tham số.
def shout(word):
print(word.upper() + "!")
shout("hello")
Send back a result (return)
returnsends a value back to whoever called the function.- You can store that value or use it in an expression.
returnalso ends the function straight away.
Trả về kết quả (return)
returngửi một giá trị trở lại cho đơn vị đã gọi hàm.- Bạn có thể lưu giá trị đó hoặc sử dụng nó trong biểu thức.
returncũng kết thúc hàm ngay lập tức.
def double(x):
return x * 2
result = double(5)
print(result)
return vs print
printonly shows something on the screen.returngives a value back that the rest of your code can use.- A function with no
returngives backNone.
return so với print
printchỉ hiển thị thứ gì đó trên màn hình.returntrả về một giá trị mà phần còn lại của mã có thể sử dụng.- Hàm không có
returnsẽ trả vềNone.
In Cambridge pseudocode
- A
FUNCTIONreturns a value; aPROCEDUREjust does an action.
Trong pseudocode Cambridge
- Một
FUNCTIONtrả về giá trị; mộtPROCEDUREchỉ thực hiện một hành động.
FUNCTION Add(A : INTEGER, B : INTEGER) RETURNS INTEGER
RETURN A + B
ENDFUNCTION
PROCEDURE Greet(Name : STRING)
OUTPUT "Hello, ", Name
ENDPROCEDURE
Common mistakes
- A function returns
Noneunless you writereturn; printing is not the same as returning. - Run a function with
():greet(), notgreet. - Define a function before you call it.
Lỗi thường gặp
- Hàm sẽ trả về
Nonetrừ khi bạn viếtreturn; việc in ra không giống với việc trả về. - Chạy một hàm với
():greet(), chứ không phảigreet. - Định nghĩa hàm trước khi gọi nó.
Now you try
- Define each function, then the checks will call it for you.
- Use
returnto send the answer back (do notprintit).
Bây giờ bạn thử
- Định nghĩa từng hàm, sau đó các bài kiểm tra sẽ gọi nó cho bạn.
- Dùng
returnđể gửi câu trả lời trở lại (đừngprintnó).
Calling a function · Gọi hàm
A call pushes a frame with its arguments; return pops it. · Một lời gọi đẩy một khung với các tham số của nó; return lấy nó ra.
Write a function add(a, b) that returns the sum of a and b. · Viết hàm add(a, b) trả về tổng của a và b.
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.
Write a function greet(name) that returns the string Hello, then the name then !. So greet("Sam") returns Hello, Sam!. · Viết hàm greet(name) trả về chuỗi Hello, , rồi tên, rồi !. Vậy greet("Sam") sẽ trả về Hello, Sam!.
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.
Write a function biggest(a, b) that returns the larger of the two values. If they are equal, return either one. · Viết hàm biggest(a, b) trả về giá trị lớn hơn của hai giá trị. Nếu chúng bằng nhau, trả về bất kỳ giá trị nào.
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.
Write is_palindrome(word) that returns True when the word reads the same backwards (like racecar), otherwise False. · Viết is_palindrome(word) trả về True khi từ đọc giống nhau từ trái sang phải và ngược lại (như racecar), ngược lại trả về False.
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.