Từ khóa def của Python
Category: Python
Từ khóa def trong Python được sử dụng để định nghĩa một hàm, nó được đặt trước tên hàm do người dùng cung cấp để tạo ra một hàm do người dùng định nghĩa. Trong Python , hàm là một đơn vị mã logic chứa một chuỗi các câu lệnh được thụt lề dưới một tên được chỉ định bằng cách sử dụng từ khóa “ def ”. Trong Python, từ khóa def là từ khóa được sử dụng nhiều nhất .
# Định nghĩa hàm
def func():
print("Hello")
# Gọi hàm
func()
Đầu ra:
Hello
Cú pháp def của Python
Trong trường hợp của các lớp, từ khóa def được sử dụng để định nghĩa các phương thức của một lớp.
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 tái sử dụng mã thay vì phải viết đi viết lại đoạn mã, 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 . Sẽ rõ ràng hơn trong ví dụ minh họa được đưa ra bên dưới. 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.
Ví dụ 1: Tạo hàm để tìm phép trừ của hai số
Trong ví dụ này, chúng tôi đã tạo một hàm do người dùng định nghĩa bằng cách sử dụng từ khóa def. Tên hàm là subNumbers() để tính toán sự khác biệt giữa hai số.
# Mã Python3 để minh họa
# từ khóa def
# Hàm thực hiện phép trừ 2 số.
def subNumbers(x, y):
return (x - y)
# mã chính
a = 90
b = 50
# tìm hiệu
res = subNumbers(a, b)
# câu lệnh in kết quả
print("Hiệu của", a, "và", b, "là", res)
Đầu ra:
Hiệu của 90 và 50 là 40
Ví dụ 2: Tạo hàm với 10 số nguyên tố đầu tiên
Trong ví dụ này, chúng tôi đã tạo một hàm do người dùng định nghĩa bằng cách sử dụng từ khóa def. Chương trình định nghĩa một hàm có tên là fun() bằng cách sử dụng từ khóa def. Hàm này lấy một tham số duy nhất là n, chỉ định số lượng số nguyên tố sẽ được in.
# Chương trình Python để in ra 10 số nguyên tố đầu tiên
# Một hàm tên là fun được định nghĩa
# sử dụng từ khóa def
def fun(n):
x = 2 # bắt đầu kiểm tra từ số 2
count = 0 # biến đếm số lượng số nguyên tố đã in ra
while count < n:
# kiểm tra chia hết chỉ đến căn bậc hai của x
for d in range(2, int(x ** 0.5) + 1):
if x % d == 0:
break # nếu chia hết, không phải số nguyên tố nên thoát vòng lặp
else:
print(x) # là số nguyên tố
count += 1 # tăng biến đếm
x += 1 # tăng số cần kiểm tra
# Mã chính (Driver Code)
n = 10
fun(n)
Đầu ra:
2
3
5
7
11
13
17
19
23
29
Truyền hàm như một đối số
Trong Python, chúng ta có thể truyền các hàm như là đối số cho các hàm khác. Chúng ta có thể truyền một hàm bằng cách chỉ cần tham chiếu đến tên của nó mà không cần dấu ngoặc đơn. Sau đó, hàm được truyền có thể được gọi bên trong hàm nhận.
Ví dụ:
# Một hàm nhận một hàm khác làm đối số
def fun(func, arg):
return func(arg)
# Hàm tính bình phương
def square(x):
return x ** 2
# Gọi hàm fun và truyền hàm square làm đối số
res = fun(square, 5)
print(res)
Đầu ra:
25
Giải thích:
Hàm này có hai tham số: func (một hàm) và x (một giá trị). Nó áp dụng hàm func cho giá trị x và trả về kết quả.
Chúng ta gọi fun và truyền hàm bình phương (không có dấu ngoặc đơn) và số 5. Hàm bình phương được áp dụng cho 5 và kết quả được in ra.
Ví dụ về từ khóa def của Python với *args
Trong Python, args được sử dụng để truyền một số lượng biến đối số cho một hàm. cho phép một hàm chấp nhận bất kỳ số lượng đối số vị trí nào. Điều này hữu ích khi chúng ta không chắc chắn có bao nhiêu đối số sẽ được truyền cho hàm.
Ví dụ:
# Định nghĩa hàm với số lượng đối số không giới hạn
def fun(*args):
for arg in args:
print(arg)
# Gọi hàm với nhiều đối số
fun(1, 2, 3, 4, 5)
Đầu ra:
1
2
3
4
5
Ví dụ về từ khóa def của Python với **kwargs
Trong Python, kwargs được sử dụng để truyền một số lượng biến đổi các đối số từ khóa vào một hàm. Cú pháp thu thập các đối số từ khóa vào một từ điển , trong đó các khóa là tên đối số và các giá trị là các giá trị đối số tương ứng. Điều này cho phép hàm chấp nhận bất kỳ số lượng đối số được đặt tên (từ khóa).
# Định nghĩa hàm với các đối số từ khóa không giới hạn
def fun(**kwargs):
for k, val in kwargs.items():
print(f"{k}: {val}")
# Gọi hàm với các đối số từ khóa
fun(name="Alice", age=30, city="New York")
Đầu ra:
name: Alice
age: 30
city: New York
Giải thích:
**kwargs thu thập các đối số từ khóa được truyền tới example_function vào một từ điển kwargs.
Bên trong hàm, bạn có thể lặp lại từ điển và in ra các cặp khóa-giá trị.
Ví dụ về từ khóa def của Python với lớp
Trong Python, từ khóa def được sử dụng để định nghĩa hàm và cũng có thể được sử dụng để định nghĩa phương thức bên trong một lớp . Phương thức là hàm được liên kết với một đối tượng và được gọi bằng cách sử dụng thể hiện của lớp.
Khi sử dụng def bên trong một lớp, chúng ta có thể định nghĩa các phương thức có thể truy cập và sửa đổi các thuộc tính của lớp và các thể hiện của lớp đó.
class Person:
# Hàm khởi tạo (Constructor) để khởi tạo tên và tuổi của người
def __init__(self, name, age):
self.name = name # Gán thuộc tính name
self.age = age # Gán thuộc tính age
# Phương thức để in ra lời chào
def greet(self):
print(f"Name - {self.name} and Age - {self.age}.")
# Tạo một đối tượng của lớp Person
p1 = Person("Alice", 30)
# Gọi phương thức greet để hiển thị lời chào
p1.greet()
Đầu ra:
Name - Alice and Age - 30.
Published on Jun 17, 2025