Xây Dựng Lớp (class) Và Tạo đối Tượng (object) Trong Python
Có thể bạn quan tâm
1. Python là một ngôn ngữ lập trình hướng đối tượng
Python là một ngôn ngữ lập trình hướng đối tượng (OOP – object-oriented programming language). Hầu hết mọi thứ trong Python đều là đối tượng (object) với các thuộc tính (property) và phương thức (method) của riêng đối tượng đó.
Ví dụ, mọi giá trị dữ liệu trong Python đều được xem là một loại đối tượng (object). Khi gán một giá trị cho một biến (variable) thì bản chất biến đó sẽ tham chiếu đến một đối tượng lưu trữ giá trị dữ liệu đó.
Trước khi tìm hiểu về OOP trong Python, các bạn có thể tham khảo trước series bài học Phương pháp lập trình hướng đối tượng. Series bài học này giúp các bạn có tư duy cơ bản về OOP với C++, làm cơ sở để học và hiểu OOP trong các ngôn ngữ khác dễ dàng hơn.
2. Xây dựng lớp (class) trong Python
Một lớp (class) là một thiết kế (blueprint) hay mẫu (prototype) cho các đối tượng cùng kiểu. Ví dụ, chúng ta có một lớp Cat chứa tất cả thông tin về một con mèo như tên, màu sắc, cân nặng, hành động bắt chuột,… Một con mèo cụ thể là một đối tượng và sẽ có những thông tin chung của một con mèo nhưng với những giá trị khác nhau.
Trong Python, chúng ta sử dụng từ khóa class để tạo một lớp (class).class Cat: # Properties of Cat class name = "Tom" color = "grey and white" # Methods of Cat class def catchMouse(self): print("Catch Jerry mouse.") def sleep(self): print("Take a nap.")
Trong ví dụ trên, chúng ta định nghĩa một lớp (class) Cat bao gồm các thuộc tính là name, color và các phương thức là catchMouse() và sleep().
2.1. Tham số self của class trong Python
Tham số self là một tham chiếu đến đối tượng hiện tại của lớp và được sử dụng để truy cập các biến thuộc về lớp đó.class Cat: # Properties of Cat class name = "Tom" color = "grey and white" # Methods of Cat class def catchMouse(self): print(self.name, "catches Jerry mouse.") def sleep(self): print(self.name, "takes a nap.")
Không nhất thiết phải đặt tên tham số này là self. Chúng ta có thể đặt bất cứ tên gì mà chúng ta thích. Nhưng Python sẽ mặc định hiểu tham số đầu tiên của bất kỳ hàm nào trong class là tham số self.class Cat: # Properties of Cat class name = "Tom" color = "grey and white" # Methods of Cat class def catchMouse(abc): print(abc.name, "catches Jerry mouse.") def sleep(abc): print(abc.name, "takes a nap.")
2.2. Câu lệnh pass với class trong Python
Định nghĩa của lớp (class) không được để trống. Nhưng nếu chưa biết các thuộc tính và phương thức của lớp để định nghĩa thì có thể dùng câu lệnh pass trong class để tránh gặp lỗi.class Person: pass
3. Tạo đối tượng (object) trong Python
Đối tượng (object) là một thực thể cụ thể của lớp (class). Chúng ta có thể sử dụng tên của lớp để tạo một đối tượng. Khi một đối tượng được tạo ra thì Python sẽ cấp phát vùng nhớ để lưu trữ đối tượng đó.class Cat: # Properties of Cat class name = "Tom" color = "grey and white" # Methods of Cat class def catchMouse(self): print(self.name, "catches Jerry mouse.") def sleep(self): print(self.name, "takes a nap.") # create an object of Cat class tom = Cat() print(tom.name) print(tom.color) tom.catchMouse() tom.sleep()
Kết quả
Tom grey and white Tom catches Jerry mouse. Tom takes a nap.Chúng ta có thể xóa một đối tượng với từ khóa del.class Cat: # Properties of Cat class name = "Tom" color = "grey and white" # Methods of Cat class def catchMouse(self): print(self.name, "catches Jerry mouse.") def sleep(self): print(self.name, "takes a nap.") tom = Cat() print("Before delete tom object:", tom) del tom print("After delete tom object:", tom)
Kết quả
Before delete tom object: <__main__.Cat object at 0x0000023672FE7D60> Traceback (most recent call last): File "c:\python-examples\example.py", line 14, in <module> print("After delete tom object:", tom) NameError: name 'tom' is not definedỞ bài này, chúng ta đã tìm hiểu cách tạo ra một lớp (class) và một đối tượng (object) trong Python một cách đơn giản nhất. Và trong Python, một lớp (class) lúc nào cũng có một hàm __init__() được dựng sẵn (built-in). Hàm này được gọi là hàm khởi tạo (constructor) của lớp. Trong nhiều trường hợp, chúng ta cần xây dựng lại hàm __init__() khi tạo một lớp. Chúng ta sẽ tìm hiểu kỹ về hàm __init__() ở bài Hàm khởi tạo (constructor) của class trong Python.
- Lớp FileReader và FileWriter trong Java
- Cấu trúc điều khiển rẽ nhánh if…else trong Python
- Nhập xuất (input/output) cơ bản trong Python
- Kiểm tra (validation) dữ liệu trong html form với PHP
- Sử dụng câu lệnh break và continue với cấu trúc vòng lặp trong PHP
Từ khóa » Bài Tập Hướng đối Tượng Python
-
[Tự Học Python] Bài Tập Hướng đối Tượng Trong Python »
-
Tổng Hợp Toàn Bộ Tài Liệu Học Hướng đối Tượng Và Bài Tập ... - Cafedev
-
Bài 20: Hướng đối Tượng Trong Python - Lập Trình Python Cơ Bản
-
Bài Tập Python: Module / Object / Class - Freetuts
-
Python: Bài Tập Phần Class | V1Study
-
Lập Trình Hướng đối Tượng OOPs Trong Python - VietTuts
-
Hơn 100 Bài Tập Python Có Lời Giải (code Mẫu)
-
Lập Trình Hướng đối Tượng Trong Python
-
Bài Tập Lập Trình Hướng đối Tượng Python - Hỏi Đáp
-
Bài Tập Lập Trình Hướng đối Tượng Cơ Bản, Nâng Cao - Blog | Got It AI
-
Class Trong Python (lập Trình Hướng đối Tượng OOP) - EZCODEA
-
Class Và Objects Trong Python - 40+ Bài Học Python Miễn Phí
-
Lớp Và đối Tượng Trong Python - TEK4