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.
- Chương trình C++ tính chu vi và diện tích của hình chữ nhật
- Trường hợp Deadlock khi lập trình multithreading trong Java
- Lịch sử ra đời và đặc điểm của ngôn ngữ lập trình Java
- Lớp (class) và cách xây dựng lớp trong Java
- Java collections framework: Iterator interface và ListIterator interface
Từ khóa » Viết Class Trong Python
-
Class Và Cách Khai Báo Class Trong Python
-
Tìm Hiểu Class Và Object Trong Python
-
Class Trong Python - Viblo
-
Lớp Và đối Tượng Trong Python - Openplanning
-
Class Trong Python (lập Trình Hướng đối Tượng OOP)
-
Giới Thiệu Chung Về Class Trong Python, Constructor | Tự Học ICT
-
Lớp Và đối Tượng Trong Lập Trình Hướng đối Tượng Với Python
-
Class Và Objects Trong Python - 40+ Bài Học Python Miễn Phí
-
Sử Dụng Class Trong Python | Lê Vũ Nguyên Dạy Học Lập Trình
-
Lớp Và đối Tượng Trong Python - TEK4
-
Giải Mã Lớp Và đối Tượng Trong Python Cho Người Mới Bắt đầu - T3H
-
CLASS VÀ OBJECT TRONG PYTHON - Online Courses - Mifago
-
5.1. Class Và Object — Deep AI KhanhBlog
-
Class Và Object Trong Python | Lập Trình Từ Đầu