×

Tạo hàm khởi tạo (constructor) và hàm huỷ trong Python

Python là một trong những ngôn ngữ lập trình phổ biến nhất hiện nay nhờ vào cấu trúc đơn giản và dễ hiểu của nó. Trong Python, để quản lý và sử dụng các đối tượng một cách hiệu quả, người lập trình thường sử dụng hàm khởi tạo và hàm huỷ. Bài viết này sẽ giúp bạn hiểu rõ hơn về cách tạo và sử dụng các hàm này trong Python.

Hàm khởi tạo (Constructor)

Hàm khởi tạo trong Python được sử dụng để khởi tạo các giá trị của thuộc tính khi đối tượng của một lớp được tạo ra. Hàm khởi tạo trong Python là __init__(). Khi tạo một đối tượng mới, hàm này sẽ tự động được gọi.

Cú pháp:

class MyClass:
    def __init__(self, tham_so1, tham_so2):
        self.thuoc_tinh1 = tham_so1
        self.thuoc_tinh2 = tham_so2

Ví dụ:

class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def bark(self):
        return f"{self.name} is barking!"

# Tạo đối tượng
my_dog = Dog("Buddy", 3)
print(my_dog.name)  # Output: Buddy
print(my_dog.age)   # Output: 3
print(my_dog.bark())  # Output: Buddy is barking!

Trong ví dụ trên, khi đối tượng my_dog được tạo ra, hàm __init__() được gọi tự động với các tham số là "Buddy" và 3, và các giá trị của thuộc tính nameage được khởi tạo.

Hàm huỷ (Destructor)

Hàm huỷ trong Python dùng để dọn dẹp các tài nguyên khi một đối tượng không còn cần thiết và sẽ bị huỷ. Hàm huỷ trong Python là __del__(). Không giống như hàm khởi tạo, hàm huỷ ít khi được sử dụng do Python có cơ chế tự động quản lý bộ nhớ, nhưng vẫn có những trường hợp cụ thể mà hàm này hữu ích.

Cú pháp:

class MyClass:
    def __del__(self):
        # Code dọn dẹp
        pass

Ví dụ:

class FileManager:
    def __init__(self, filename):
        self.file = open(filename, 'w')

    def write_line(self, line):
        self.file.write(line + "\n")

    def __del__(self):
        self.file.close()
        print("The file has been closed")

# Tạo đối tượng FileManager
file_manager = FileManager("example.txt")
file_manager.write_line("Hello, World!")

# Huỷ đối tượng, tự động gọi __del__()
del file_manager  # Output: The file has been closed

Trong ví dụ này, khi đối tượng file_manager bị huỷ, __del__() được gọi và tập tin sẽ được đóng.

Kết luận

Hàm khởi tạo và hàm huỷ là 2 khái niệm quan trọng trong Python để quản lý cuộc sống của đối tượng. Việc sử dụng đúng đắn các hàm này sẽ giúp mã nguồn của bạn rõ ràng và hiệu quả hơn. Bằng cách nắm vững những kiến thức cơ bản này, bạn sẽ dễ dàng quản lý và tối ưu hoá chương trình của mình.

Comments