__init__
là một phương thức đặc biệt trong Python, được gọi là “constructor” (hàm khởi tạo) của một lớp (class). Phương thức này được tự động gọi khi một đối tượng (instance) của lớp được tạo ra. Mục đích chính của __init__
là để khởi tạo các thuộc tính (attributes) của đối tượng và thiết lập trạng thái ban đầu của nó.
class ClassName: def __init__(self, param1, param2, ...): self.attribute1 = param1 self.attribute2 = param2 # Khởi tạo các thuộc tính khác
self
: Là tham số đầu tiên của phương thức __init__
. self
đại diện cho đối tượng hiện tại của lớp, cho phép bạn truy cập các thuộc tính và phương thức của lớp.param1
, param2
, …: Các tham số bổ sung mà bạn có thể truyền vào để khởi tạo thuộc tính của đối tượng.__init__
class Dog: def __init__(self, name, age): self.name = name # Khởi tạo thuộc tính name self.age = age # Khởi tạo thuộc tính age def bark(self): print(f"{self.name} says Woof!") # Tạo một đối tượng của lớp Dog my_dog = Dog("Buddy", 3) # Truy cập thuộc tính print(my_dog.name) # Kết quả: Buddy print(my_dog.age) # Kết quả: 3 # Gọi phương thức my_dog.bark() # Kết quả: Buddy says Woof!
Trong ví dụ trên, khi tạo một đối tượng my_dog
của lớp Dog
, phương thức __init__
sẽ được gọi với các tham số "Buddy"
và 3
. Các thuộc tính name
và age
được khởi tạo với các giá trị này.
class Car: def __init__(self, make, model, year=2020): self.make = make self.model = model self.year = year # Tạo đối tượng với năm mặc định my_car = Car("Toyota", "Camry") print(my_car.year) # Kết quả: 2020 # Tạo đối tượng với năm cụ thể another_car = Car("Honda", "Accord", 2022) print(another_car.year) # Kết quả: 2022
Trong ví dụ này, tham số year
có giá trị mặc định là 2020
. Nếu bạn không cung cấp giá trị cho year
, giá trị mặc định sẽ được sử dụng.
__init__
?__init__
cho phép bạn khởi tạo các thuộc tính của đối tượng ngay khi nó được tạo ra, giúp bạn dễ dàng thiết lập trạng thái ban đầu.__init__
giúp mã của bạn trở nên rõ ràng và dễ hiểu hơn, vì nó cho phép bạn thiết lập cấu trúc của đối tượng ngay khi nó được tạo ra.__init__
là một phần quan trọng trong lập trình hướng đối tượng với Python. Nó cho phép bạn khởi tạo các thuộc tính của đối tượng và thiết lập trạng thái ban đầu, giúp cho việc quản lý và sử dụng các đối tượng trở nên dễ dàng và trực quan hơn.