Bỏ qua đến nội dung
Bỏ qua điều hướng
Đăng nhập
MT.NET.VN

Viewbh Bai 2 Constructor Va Destructor Trong Python2023 04 05 02 33 09

Tìm kiếm
Thuộc khóa học · baihoc_sub = 26

Lập trình Python (Free)

Bài 1 / 1 trong khóa học.

Xem khóa học
100%
Bài trướcĐây là bài đầu tiên Bài sauĐây là bài cuối cùng
MT LEARNING · LESSON

Bài 2: Constructor và destructor trong Python

Phần trước chúng ta đã được tìm hiểu qua về class và các thành phần trong Class rồi, bài này […]

Bài 2: Constructor và destructor trong Python


Phần trước chúng ta đã được tìm hiểu qua về class và các thành phần trong Class rồi, bài này chúng ta sẽ tiếp tục tìm hiểu về 2 phương thức đặc biệt trong một class, đó là phương thức khởi tạo và phương thức hủy trong class.

1, Phương thức khởi tạo – constructor.

Phương thức khởi tạo là một phương thức đặc biệt ở trong class, phương thức này mặc định sẽ được gọi khi chúng ta khởi tạo class đó. Nó thường được dùng để khởi tạo các thuộc, xử lý phương thức hoặc là dùng để nhận các tham số truyền vào class khi khởi tạo.

Để khai báo một phương thức khởi tạo trong class thì mọi người chỉ cần viết một hàm có tên là __init__ với cú pháp như sau:

Cú pháp:

class className:
     def __init__(self, param1, param2,...):
         #

Trong đó:

  • className là tên của class.
  • param1, param2,... là các tham số chúng ta muốn nhận khi kèm khi khởi tạo class.

VD:

class Person:
     def __init__(self):
         print("Class person được khởi tạo!")
         
 person = Person()
 # kết quả: Class person được khởi tạo!

Như các bạn đã thấy thì ở ví dụ trên mình mới chỉ khởi tạo class là nó đã thực thi phương thức __init__.

VD: Khai báo các tham số truyền vào cho phương thức khởi tạo.

class Person:
     def __init__(self, name, age, male):
         print("Class person được khởi tạo!")
         print("Name: %s - Age: %d - Male: %d" %(name, age, male))
 
 person = Person('Vu Thanh Tai', 22, True)
 # kết quả: 
 # Class person được khởi tạo!
 # Name: Vu Thanh Tai - Age: 22 - Male: 1

2, Phương thức hủy – deconstructor.

Trái ngược với phương thức khởi tạo, thì phương thức hủy sẽ được gọi khi chúng ta hủy một class, hay nó cách khác nó luôn được thực thi cuối cùng khi chúng ta khởi tạo một class. Nó thường được dùng để giải phóng tài nguyên của class.

Để khai báo một phương thức hủy trong class thì mọi người chỉ việc khai báo một phương thức có tên là __del__ với cú pháp sau:

Cú pháp:

def __del__(self):
     # code

VD: Mình sẽ khai báo một phương thức hủy cho class Person ở trên.

class Person:
     def __init__(self, name, age, male):
         print("Class person được khởi tạo!")
         print("Name: %s - Age: %d - Male: %d" %(name, age, male))
     def __del__(self):
         print('Class Person được hủy')
 person = Person('Vu Thanh Tai', 22, True)
 # kết quả: 
 # Class person được khởi tạo!
 # Name: Vu Thanh Tai - Age: 22 - Male: 1
 # Class Person được hủy

VD: Mình sẽ thêm một vài phương thức nữa cho mọi người dễ hiểu.

class Person:
     def __init__(self, name, age, male):
         print("Class person được khởi tạo!")
         self.name, self.age, self.male = name, age, male
     
     def getName(self):
         print("Name: %s" %(self.name))
     
     def getAge(self):
         print("Age: %d" %(self.age))
     
     def getMale(self):
         print("Male: %d" %(self.male))
     
     def __del__(self):
         print('Class Person được hủy')
         del self.name,self.age,self.male
 
 person = Person('Vu Thanh Tai', 22, True)
 person.getName()
 person.getAge()
 person.getMale()
 # kết quả: 
 # Class person được khởi tạo!
 # Name: Vu Thanh Tai
 # Age: 22
 # Male: 1
 # Class Person được hủy

Như các bạn đã thấy thì sau khi thực truy xuất các phương thức trong class xong thì hàm hủy tự động được gọi, và trong hàm hủy mình đã sử dụng để giải phóng các thuộc tính trong class Person.

3, Lời kết.

Hai hàm này có thuật ngữ là magic method – các phương thức ma thuật :), và trong class thì có rất nhiều các magic methods khác nữa mình sẽ trình bày với mọi người ở phần sau nhé!



Source link

ĐÁNH GIÁ NỘI DUNG 0.0/5 0 lượt đánh giá
Bạn thấy nội dung này thế nào?
Mỗi trình duyệt/tài khoản được chấm lại sau 24 giờ.
Báo bài lỗiGiúp MT.Net.VN phát hiện nội dung cần kiểm tra
Báo lỗi được ghi vào hệ thống để Admin kiểm tra. Không dùng chức năng này để gửi hỗ trợ cá nhân.
Home Dịch vụ Khóa học CPanel