Từ khóa def trong Python được sử dụng để định nghĩa một Function, nó được đặt trước tên hàm do người dùng cung cấp để tạo một hàm do người dùng định nghĩa. Trong python, một hàm là một đơn vị code logic chứa một tập hợp các câu lệnh được thụt vào dưới một tên được đặt bằng từ khóa “def”. Trong python từ khóa def là từ khóa được sử dụng nhiều nhất.
Các bài viết liên quan:
Trong trường hợp của các Object, từ khóa def được sử dụng để định nghĩa các phương thức của một đối tướng.
Từ khóa def cũng được yêu cầu để định nghĩa hàm thành viên đặc biệt của một lớp như __init__().
Ứng dụng thực tế có thể có là nó cung cấp tính năng sử dụng lại code thay vì viết đi viết lại đoạn code, chúng ta có thể định nghĩa một hàm và viết mã bên trong hàm với sự trợ giúp của từ khóa def. Nó sẽ rõ ràng hơn trong ví dụ minh họa được đưa ra dưới đây. Có thể có nhiều ứng dụng của def tùy thuộc vào các trường hợp sử dụng.
Các loại function trong Python
Có hai loại hàm trong lập trình Python:
- Standard library functions hay Các hàm thư viện chuẩn – Đây là các hàm tích hợp sẵn trong Python có sẵn để sử dụng.
- User-defined functions hay Các function do người dùng định nghĩa – Chúng tôi có thể tạo các function của riêng mình dựa trên các yêu cầu của.
Khai báo hàm Python
Cú pháp để khai báo một hàm là:
def function_name(arguments): # function body return
- def – từ khóa dùng để khai báo hàm
- function_name – bất kỳ tên nào được đặt cho hàm
- arguments – bất kỳ giá trị nào được truyền cho hàm
- return (tùy chọn) – trả về giá trị từ một hàm
Hãy xem một ví dụ,
def helloworld(): print('Hello World!')
Ở đây, chúng ta đã tạo một hàm có tên là helloworld(). Nó chỉ in dòng chữ Hello World!.
Hàm này không có bất kỳ đối số nào và không trả về bất kỳ giá trị nào. Chúng ta sẽ tìm hiểu về các đối số và câu lệnh trả về sau trong hướng dẫn này.
Gọi một hàm trong Python
Trong ví dụ trên, chúng ta đã khai báo một hàm có tên là helloworld().
Bây giờ, để sử dụng function này, chúng ta cần gọi nó.
Đây là cách chúng ta có thể gọi hàm hello() trong Python.
# call the function helloworld()
Ví dụ: Hàm Python
def helloworld(): print('Hello World!') # call the function helloworld() print('Outside function')
Trong ví dụ trên, chúng ta đã tạo một hàm có tên là helloworld(). Đây là cách chương trình hoạt động:
Khi hàm được gọi, điều khiển của chương trình sẽ chuyển sang phần định nghĩa hàm.
Tất cả các mã bên trong function được thực thi.
Điều khiển chương trình nhảy tới câu lệnh tiếp theo sau lời gọi hàm.
Đối số hàm Python
Như đã đề cập trước đó, một hàm cũng có thể có đối số. Đối số là một giá trị được hàm chấp nhận. Ví dụ,
# function có 2 tham số def add_numbers(num1, num2): #cộng số 1 và 2 sum = num1 + num2 #trả về kết quả sum print('Sum: ',sum) # function không có tham số def add_numbers(): # code
Nếu chúng ta tạo một hàm với các đối số, chúng ta cần chuyển các giá trị tương ứng trong khi gọi chúng. Ví dụ,
# gọi function với 2 tham số add_numbers(5, 4) # gọi function không tham số add_numbers()
Ở đây, add_numbers(5, 4) chỉ định rằng các đối số num1 và num2 sẽ nhận các giá trị 5 và 4 tương ứng.
Ví dụ 1: Đối số hàm Python
# function với 2 tham số def add_numbers(num1, num2): sum = num1 + num2 print("Sum: ",sum) # gọi function với 2 tham số add_numbers(5, 4)
Trong ví dụ trên, chúng ta đã tạo một hàm có tên add_numbers() với các đối số: num1 và num2.
Câu lệnh return trong Python
Một hàm Python có thể hoặc không thể trả về một giá trị. Nếu chúng ta muốn hàm của mình trả về một số giá trị cho lời gọi hàm, chúng ta sử dụng câu lệnh return. Ví dụ,
def add_numbers(): ... return sum
Ở đây, chúng tôi đang trả lại biến sum cho lệnh gọi hàm.
Lưu ý: Câu lệnh return cũng biểu thị rằng function đã kết thúc. Bất kỳ mã nào sau khi trả về đều không được thực thi.
Ví dụ 2: Hàm trả về
# định nghĩa một function def find_square(num): #tính bình phương result = num * num return result # gọi function square = find_square(3) #in ra kết quả print('Square:',square)
Trong ví dụ trên, chúng ta đã tạo một hàm có tên là find_square(). Hàm chấp nhận một số và trả về bình phương của số đó.
Ví dụ 3: Cộng hai số
# function cộng với 2 tham số num1 và num2 def add_numbers(num1, num2): #tính sum = sum1 + sum2 sum = num1 + num2 #trả về kết quả return sum # gọi function với 2 tham số result = add_numbers(5, 4) #in ra kết quả print('Sum: ', result)
Hàm thư viện Python
Trong Python, các hàm thư viện tiêu chuẩn là các hàm tích hợp sẵn có thể được sử dụng trực tiếp trong chương trình của chúng ta. Ví dụ,
- print() – in chuỗi bên trong dấu ngoặc kép
- sqrt() – trả về căn bậc hai của một số
- pow() – trả về lũy thừa của một số
Các hàm thư viện này được định nghĩa bên trong mô-đun. Và, để sử dụng chúng, chúng ta phải đưa mô-đun vào bên trong chương trình của mình.
Ví dụ: sqrt() được định nghĩa bên trong thư viện math.
Ví dụ 4: Hàm thư viện Python
import math # tính toán căn bậc 2 sử dụng hàm sqrt square_root = math.sqrt(4) #in ra kết quả print("căn bậc 2 của 4 là",square_root) # pow() là hàm tính toán lũy thừa power = pow(2, 3) #hiển thị kết quả tính toán print("2 lũy thừa 3 là",power)
Trong ví dụ trên, chúng tôi đã sử dụng
- math.sqrt(4) – để tính căn bậc hai của 4
- pow(2, 3) – tính lũy thừa của một số tức là 2^3
Ở đây, chú ý import math
Vì sqrt() được định nghĩa bên trong mô-đun math nên chúng ta cần đưa nó vào chương trình của mình.
Lợi ích của việc sử dụng function
- Mã có thể tái sử dụng
Chúng tôi có thể sử dụng cùng một function nhiều lần trong chương trình của mình, điều này làm cho đoạn code thể tái sử dụng. Ví dụ,
# định nghĩa function def get_square(num): #trả về kết quả num*num return num * num #duyệt vòng for for i in [1,2,3]: # gọi function result = get_square(i) print('bình phươngg',i, '=',result)
Trong ví dụ trên, chúng ta đã tạo hàm get_square() để tính bình phương của một số. Ở đây, hàm dùng để tính bình phương các số từ 1 đến 3.
Do đó, cùng một function được sử dụng lặp đi lặp lại.
- Khả năng đọc mã
Các function giúp chúng tôi chia mã của mình thành nhiều phần để làm cho chương trình của chúng tôi dễ đọc và dễ hiểu.