Các lớp và đối tượng Python
Các lớp / đối tượng Python
Python là một ngôn ngữ lập trình hướng đối tượng.
Hầu hết mọi thứ trong Python đều là một đối tượng, với các thuộc tính và phương thức của nó.
Một Lớp giống như một phương thức khởi tạo đối tượng, hoặc một "bản thiết kế" để tạo các đối tượng.
Tạo một lớp học
Để tạo một lớp, hãy sử dụng từ khóa class
:
Thí dụ
Tạo một lớp có tên MyClass, với thuộc tính có tên là x:
class MyClass:
x = 5
Tạo đối tượng
Bây giờ chúng ta có thể sử dụng lớp có tên MyClass để tạo các đối tượng:
Thí dụ
Tạo một đối tượng có tên p1 và in giá trị của x:
p1 = MyClass()
print(p1.x)
Hàm __init __ ()
Các ví dụ trên là các lớp và đối tượng ở dạng đơn giản nhất và không thực sự hữu ích trong các ứng dụng đời thực.
Để hiểu ý nghĩa của các lớp, chúng ta phải hiểu hàm __init __ () có sẵn.
Tất cả các lớp đều có một hàm được gọi là __init __ (), hàm này luôn được thực thi khi lớp đang được khởi tạo.
Sử dụng hàm __init __ () để gán giá trị cho các thuộc tính đối tượng hoặc các thao tác khác cần thực hiện khi đối tượng đang được tạo:
Thí dụ
Tạo một lớp có tên là Person, sử dụng hàm __init __ () để gán giá trị cho tên và tuổi:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("John",
36)
print(p1.name)
print(p1.age)
Lưu ý: Hàm __init__()
được gọi tự động mỗi khi lớp được sử dụng để tạo một đối tượng mới.
Phương thức đối tượng
Các đối tượng cũng có thể chứa các phương thức. Các phương thức trong đối tượng là các hàm thuộc về đối tượng.
Hãy để chúng tôi tạo một phương thức trong lớp Person:
Thí dụ
Chèn một hàm in lời chào và thực thi nó trên đối tượng p1:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def myfunc(self):
print("Hello my name is " + self.name)
p1 = Person("John",
36)
p1.myfunc()
Lưu ý: Tham self
số là một tham chiếu đến thể hiện 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.
Tham số bản thân
Tham self
số là một tham chiếu đến cá thể 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.
Nó không cần phải được đặt tên self
, bạn có thể gọi nó bất cứ thứ gì bạn thích, nhưng nó phải là tham số đầu tiên của bất kỳ hàm nào trong lớp:
Thí dụ
Sử dụng các từ mysillyobject và abc thay vì self :
class Person:
def __init__(mysillyobject, name, age):
mysillyobject.name = name
mysillyobject.age = age
def myfunc(abc):
print("Hello my name is " + abc.name)
p1 = Person("John",
36)
p1.myfunc()
Sửa đổi thuộc tính đối tượng
Bạn có thể sửa đổi các thuộc tính trên các đối tượng như sau:
Thí dụ
Đặt tuổi của p1 thành 40:
p1.age = 40
Xóa thuộc tính đối tượng
Bạn có thể xóa các thuộc tính trên các đối tượng bằng cách sử dụng
del
từ khóa:
Thí dụ
Xóa thuộc tính tuổi khỏi đối tượng p1:
del p1.age
Xóa đối tượng
Bạn có thể xóa các đối tượng bằng cách sử dụng del
từ khóa:
Thí dụ
Xóa đối tượng p1:
del p1
Tuyên bố vượt qua
class
Định nghĩa không được để trống, nhưng nếu bạn vì lý do nào đó mà class
định nghĩa không có nội dung, hãy đưa vào pass
câu lệnh để tránh mắc lỗi.
Thí dụ
class Person:
pass