Nếu bạn là nhà phát triển đang tìm cách nâng cao kỹ năng Python của mình, việc thêm OOP vào hộp Python của bạn có thể hữu ích. Hướng dẫn này sẽ giúp bạn bắt đầu với lập trình hướng đối tượng trong Python
Python hỗ trợ các mô hình lập trình hướng đối tượng, chức năng và thủ tục
Lập trình thủ tục hoạt động tốt cho các dự án đơn giản và nhỏ hơn. Nhưng khi bạn bắt đầu làm việc trên các ứng dụng lớn hơn, điều quan trọng là tổ chức mã tốt hơn. Lập trình hướng đối tượng cho phép bạn nhóm các dữ liệu và chức năng liên quan một cách hợp lý. Nó cũng tạo điều kiện tái sử dụng mã và cho phép bạn thêm chức năng vào đầu mã hiện có
Trong hướng dẫn này, bạn sẽ học cách
- Tạo và làm việc với các lớp và đối tượng trong Python
- Xác định các thuộc tính và phương thức của cá thể
- Định nghĩa các biến và phương thức của lớp
- Sử dụng các phương thức của lớp làm hàm tạo
- Định nghĩa các phương thức tĩnh
Cách tạo các lớp và đối tượng trong Python
Python vốn hỗ trợ lập trình hướng đối tượng và tất cả các biến mà bạn tạo đều là đối tượng. Bạn có thể bắt đầu REPL Python và chạy dòng mã sau. nó gọi hàm
student_1 = Student[]
2 với đối số là student_1 = Student[]
3. Đầu ra đọc là student_1 = Student[]
4 có nghĩa là student_1 = Student[]
3 là một đối tượng của lớp số nguyên>>> py_num = 8
>>> type[py_num]
Bạn có thể xác minh điều này để biết thêm một số loại dữ liệu tích hợp
>>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
Giống như tất cả các ngôn ngữ lập trình hiện đại, Python cho phép bạn tạo các lớp tùy chỉnh. Một lớp là một mẫu hoặc một kế hoạch chi tiết mà từ đó bạn có thể tạo các đối tượng của lớp, còn được gọi là các thể hiện
Để tạo một lớp, bạn có thể sử dụng từ khóa
student_1 = Student[]
6 theo sau là tên của lớp. student_1 = Student[]
7. Theo quy ước, tên lớp được chỉ định trong trường hợp Pascal—trong đó chữ cái đầu tiên của mỗi từ trong tên biến được viết hoaTrong hướng dẫn này, chúng ta hãy xem xét ví dụ về lớp
student_1 = Student[]
8—chứa hồ sơ học sinh cho một năm học nhất địnhBạn có thể tải xuống mã và làm theo cùng
Tất cả mã bên dưới nằm trong tệp
student_1 = Student[]
9class Student:
pass # placeholder for code that we'll write shortly!
Sau khi bạn đã tạo một lớp, bạn có thể tạo một đối tượng bằng cách gọi lớp đó như thể đó là một hàm
student_1 = Student[]
Để xác minh xem đối tượng được tạo có phải là một thể hiện của một lớp cụ thể hay không, bạn có thể sử dụng một trong các phương pháp sau
Gọi hàm
2 với tên đối tượng làm đối sốstudent_1 = Student[]
Gọi hàm
1.print[type[student_1]] print[isinstance[student_1,Student]]
2 trả vềprint[type[student_1]] print[isinstance[student_1,Student]]
3 nếuprint[type[student_1]] print[isinstance[student_1,Student]]
4 là một thể hiện của lớpprint[type[student_1]] print[isinstance[student_1,Student]]
5;print[type[student_1]] print[isinstance[student_1,Student]]
print[type[student_1]]
print[isinstance[student_1,Student]]
# Output
True
Hiểu các thuộc tính và phương thức của Instance
Dữ liệu được liên kết với các đối tượng hoặc thể hiện được gọi là thuộc tính. Các hành động mà các đối tượng có thể thực hiện hoặc cho phép chúng ta thực hiện trên chúng được gọi là các phương thức
Sau khi bạn đã tạo một phiên bản, bạn có thể xác định các thuộc tính bằng cách sử dụng
print[type[student_1]]
print[isinstance[student_1,Student]]
7Tuy nhiên, điều này không tạo điều kiện thuận lợi cho việc sử dụng lại mã và không có lợi ích gì khi sử dụng một lớp. Bạn sẽ muốn khởi tạo các thuộc tính này theo chương trình với các giá trị tương ứng của chúng—bất cứ khi nào bạn khởi tạo một đối tượng. Để làm điều này, bạn có thể sử dụng phương thức
print[type[student_1]]
print[isinstance[student_1,Student]]
8 đóng vai trò là hàm tạo của lớpPhương pháp print[type[student_1]]
print[isinstance[student_1,Student]]
8 hoạt động như thế nào
print[type[student_1]]
print[isinstance[student_1,Student]]
Phương thức
print[type[student_1]]
print[isinstance[student_1,Student]]
8 là phương thức khởi tạo của lớp giúp khởi tạo các thuộc tính của thể hiện. Tất cả các phương thức được định nghĩa bên trong lớp được thụt vào bởi bốn dấu cáchBất cứ khi nào một phương thức được định nghĩa bên trong một lớp, nó sẽ lấy thể hiện của lớp đó làm đối số đầu tiên và thường được đặt tên là
# Output
True
1Việc sử dụng
# Output
True
1 làm tham số đầu tiên là một phương pháp được khuyến nghị theo và không phải là một yêu cầu nghiêm ngặtclass Student:
def __init__[self,first_name,last_name,tuition]:
self.first_name = first_name
self.last_name = last_name
self.tuition = tuition
Bất cứ khi nào bạn tạo một thể hiện của lớp
student_1 = Student[]
8, phương thức print[type[student_1]]
print[isinstance[student_1,Student]]
8 sẽ thực hiện như sau- Nó tự động lấy đối số đầu tiên trong thể hiện [ký hiệu là
1]. Trong ví dụ này, thể hiện biểu thị một đối tượng sinh viên cụ thể# Output True
- Nó gán các giá trị của các tham số,
6,# Output True
7 và# Output True
8 cho các thuộc tính thể hiện# Output True
6,# Output True
7 và# Output True
8 của thể hiện cụ thể# Output True
Để cải thiện khả năng đọc, bạn có thể cân nhắc đặt tên giống nhau cho cả thuộc tính và tham số trong hàm tạo
print[type[student_1]]
print[isinstance[student_1,Student]]
8, nhưng các tên khác nhau, như minh họa trong đoạn mã bên dưới, sẽ hoạt động tốtclass Student:
def __init__[self,fname,lname,tuition_amt]:
self.first_name = fname
self.last_name = lname
self.tuition = tuit_amt
Tóm tắt những gì chúng ta đã học được cho đến nay. Lớp
student_1 = Student[]
8 đóng vai trò là mẫu—với các thuộc tính # Output
True
6, # Output
True
7 và # Output
True
8—từ đó chúng ta có thể tạo các đối tượng sinh viên, mỗi đối tượng có họ và tên riêng, và học phí liên quanVì các thuộc tính trên là duy nhất cho một đối tượng cụ thể, nên chúng được gọi là thuộc tính thể hiện hoặc biến thể hiện
Bây giờ bạn đã xác định phương thức
print[type[student_1]]
print[isinstance[student_1,Student]]
8, bạn có thể khởi tạo các đối tượng với các giá trị mong muốn cho các thuộc tính mẫu, như minh họa bên dướistudent_1 = Student['Jane','Smith',20000]
student_2 = Student['John','Doe',15000]
Cách xác định và gọi các phương thức sơ thẩm
Ngoài phương thức
print[type[student_1]]
print[isinstance[student_1,Student]]
8, bạn có thể định nghĩa các phương thức khác hoạt động trên các thể hiện của lớp, thường truy cập và sửa đổi các thuộc tính thể hiện. Các phương thức như vậy được đặt tên đúng là các phương thức thể hiệnHãy xem lại ví dụ về lớp
student_1 = Student[]
8Với các thuộc tính
# Output
True
6 và # Output
True
7, chúng ta có thể định nghĩa các phương thức sử dụng các thuộc tính này và trả về tên đầy đủ và email cho từng đối tượng sinh viên. Chúng tôi đặt tên cho các phương thức này lần lượt là class Student:
def __init__[self,fname,lname,tuition_amt]:
self.first_name = fname
self.last_name = lname
self.tuition = tuit_amt
2 và class Student:
def __init__[self,fname,lname,tuition_amt]:
self.first_name = fname
self.last_name = lname
self.tuition = tuit_amt
3. Hãy nhớ rằng, tất cả các phương thức thể hiện đều lấy thể hiện [_______20_______1] làm đối số đầu tiênclass Student:
def __init__[self,first_name,last_name,tuition]:
self.first_name = first_name
self.last_name = last_name
self.tuition = tuition
def get_full_name[self]:
return f"{self.first_name} {self.last_name}"
def get_email[self]:
return f"{self.first_name}.{self.last_name}@school.edu"
Để gọi một phương thức thể hiện, bạn có thể sử dụng,
class Student:
def __init__[self,fname,lname,tuition_amt]:
self.first_name = fname
self.last_name = lname
self.tuition = tuit_amt
5. Bạn cũng có thể gọi một phương thức thể hiện bằng cách sử dụng lớp với cú pháp. class Student:
def __init__[self,fname,lname,tuition_amt]:
self.first_name = fname
self.last_name = lname
self.tuition = tuit_amt
6. Mặc dù dài dòng, phương pháp này giúp hiểu cách thể hiện được truyền vào làm đối số đầu tiên>>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
0>>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
1Biến lớp là gì và cách sử dụng chúng?
Đến đây, bạn đã học cách định nghĩa các biến thể hiện, cụ thể cho một thể hiện hoặc đối tượng của lớp và các phương thức thể hiện hoạt động trên các biến thể hiện
Tuy nhiên, có những lúc bạn sẽ cần một số thuộc tính giữ nguyên cho tất cả các phiên bản của một lớp cụ thể. Bạn có thể định nghĩa các thuộc tính như biến lớp
Thông thường, các biến lớp được định nghĩa trước các phương thức lớp và thể hiện khác sẽ sử dụng chúng
Khởi tạo và truy cập các biến lớp
Ví dụ: trong lớp
student_1 = Student[]
8, nếu bạn đang duy trì hồ sơ học sinh cho một năm học nhất định, thì có thể có một biến lớp, class Student:
def __init__[self,fname,lname,tuition_amt]:
self.first_name = fname
self.last_name = lname
self.tuition = tuit_amt
8 sẽ giữ nguyên cho tất cả các đối tượng học sinh được tạo từ lớp student_1 = Student[]
8Chúng ta có thể định nghĩa một biến lớp khác,
student_1 = Student['Jane','Smith',20000]
student_2 = Student['John','Doe',15000]
0 để theo dõi số lượng đối tượng sinh viên được tạo. Mỗi khi bạn tạo một đối tượng sinh viên mới, giá trị của student_1 = Student['Jane','Smith',20000]
student_2 = Student['John','Doe',15000]
0 được tăng thêm 1>>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
2Bạn có thể truy cập các biến lớp bằng cú pháp.
student_1 = Student['Jane','Smith',20000]
student_2 = Student['John','Doe',15000]
2>>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
3Chúng tôi đã tạo hai đối tượng sinh viên, do đó giá trị của biến lớp
student_1 = Student['Jane','Smith',20000]
student_2 = Student['John','Doe',15000]
0 hiện là 2>>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
4Cách sử dụng các phương thức lớp trong Python
Ngoài các biến lớp, bạn cũng có thể định nghĩa các phương thức lớp liên kết với một lớp. Các phương thức như vậy không truy cập bất kỳ thuộc tính thể hiện nào nhưng có thể được sử dụng để đặt giá trị của biến lớp hoặc hàm dưới dạng hàm tạo lớp thay thế
Giả sử trường đại học đặt giá trị của
student_1 = Student['Jane','Smith',20000]
student_2 = Student['John','Doe',15000]
4, một số từ 0 đến 1—biểu thị phần học phí được miễn. Thay vì mã hóa nó thành một biến lớp, bạn có thể định nghĩa một phương thức đặt giá trị của student_1 = Student['Jane','Smith',20000]
student_2 = Student['John','Doe',15000]
4Để chuyển đổi một phương thức thể hiện thành một phương thức lớp, bạn có thể sử dụng trình trang trí
student_1 = Student['Jane','Smith',20000]
student_2 = Student['John','Doe',15000]
6 trong Python. Theo quy ước, đối số đầu tiên trong các phương thức lớp là student_1 = Student['Jane','Smith',20000]
student_2 = Student['John','Doe',15000]
7, giống như cách đối số đầu tiên trong các phương thức thể hiện là # Output
True
1>>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
5Bây giờ bạn đã xác định phương thức lớp, bạn có thể xác định một phương thức thực thể
student_1 = Student['Jane','Smith',20000]
student_2 = Student['John','Doe',15000]
9 áp dụng miễn lệ phí và trả về # Output
True
8 đã cập nhật cho bất kỳ đối tượng sinh viên nào>>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
6Hãy đặt
student_1 = Student['Jane','Smith',20000]
student_2 = Student['John','Doe',15000]
4 và áp dụng miễn lệ phí cho class Student:
def __init__[self,first_name,last_name,tuition]:
self.first_name = first_name
self.last_name = last_name
self.tuition = tuition
def get_full_name[self]:
return f"{self.first_name} {self.last_name}"
def get_email[self]:
return f"{self.first_name}.{self.last_name}@school.edu"
2>>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
7>>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
8Trang trí trong Python. Một cái nhìn tổng quan
Hãy bắt đầu với một ví dụ
>>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
9Ở đây,
class Student:
def __init__[self,first_name,last_name,tuition]:
self.first_name = first_name
self.last_name = last_name
self.tuition = tuition
def get_full_name[self]:
return f"{self.first_name} {self.last_name}"
def get_email[self]:
return f"{self.first_name}.{self.last_name}@school.edu"
3 là một hàm nhận hai số và trả về tổng của chúngGiả sử, chúng tôi muốn sửa đổi chức năng này bằng cách nhân đôi từng đối số trước khi thêm. Chúng ta có thể thay đổi câu lệnh return để đọc.
class Student:
def __init__[self,first_name,last_name,tuition]:
self.first_name = first_name
self.last_name = last_name
self.tuition = tuition
def get_full_name[self]:
return f"{self.first_name} {self.last_name}"
def get_email[self]:
return f"{self.first_name}.{self.last_name}@school.edu"
4 nhưng nếu bạn không còn muốn nhân đôi đối số thì sao? . Nhập trang tríTrong Python, trình trang trí là một hàm mở rộng chức năng của các hàm hiện có mà không sửa đổi chúng một cách rõ ràng. Như đã giải thích trước đó, tất cả các biến trong Python vốn dĩ là các đối tượng, hàm cũng vậy. Do đó, bạn có thể chuyển các hàm dưới dạng đối số cho một hàm khác và bạn có thể định nghĩa một hàm trả về một hàm khác
Đọc qua đoạn mã dưới đây
class Student:
pass # placeholder for code that we'll write shortly!
0Hãy phân tích định nghĩa của
class Student:
def __init__[self,first_name,last_name,tuition]:
self.first_name = first_name
self.last_name = last_name
self.tuition = tuition
def get_full_name[self]:
return f"{self.first_name} {self.last_name}"
def get_email[self]:
return f"{self.first_name}.{self.last_name}@school.edu"
5- Hàm
5 chấp nhận hàmclass Student: def __init__[self,first_name,last_name,tuition]: self.first_name = first_name self.last_name = last_name self.tuition = tuition def get_full_name[self]: return f"{self.first_name} {self.last_name}" def get_email[self]: return f"{self.first_name}.{self.last_name}@school.edu"
7 làm đối sốclass Student: def __init__[self,first_name,last_name,tuition]: self.first_name = first_name self.last_name = last_name self.tuition = tuition def get_full_name[self]: return f"{self.first_name} {self.last_name}" def get_email[self]: return f"{self.first_name}.{self.last_name}@school.edu"
- Trong phần thân của hàm, chúng ta định nghĩa một hàm
8 được tham số hóa bởiclass Student: def __init__[self,first_name,last_name,tuition]: self.first_name = first_name self.last_name = last_name self.tuition = tuition def get_full_name[self]: return f"{self.first_name} {self.last_name}" def get_email[self]: return f"{self.first_name}.{self.last_name}@school.edu"
9 vàclass Student: def __init__[self,first_name,last_name,tuition]: self.first_name = first_name self.last_name = last_name self.tuition = tuition def get_full_name[self]: return f"{self.first_name} {self.last_name}" def get_email[self]: return f"{self.first_name}.{self.last_name}@school.edu"
00>>> py_str = "A Python String" >>> type[py_str] >>> py_list = [2,4,9] >>> type[py_list]
8 trả về hàmclass Student: def __init__[self,first_name,last_name,tuition]: self.first_name = first_name self.last_name = last_name self.tuition = tuition def get_full_name[self]: return f"{self.first_name} {self.last_name}" def get_email[self]: return f"{self.first_name}.{self.last_name}@school.edu"
7, được gọi với ___________03 và ___________04 làm đối sốclass Student: def __init__[self,first_name,last_name,tuition]: self.first_name = first_name self.last_name = last_name self.tuition = tuition def get_full_name[self]: return f"{self.first_name} {self.last_name}" def get_email[self]: return f"{self.first_name}.{self.last_name}@school.edu"
- Hàm
5 trả về hàmclass Student: def __init__[self,first_name,last_name,tuition]: self.first_name = first_name self.last_name = last_name self.tuition = tuition def get_full_name[self]: return f"{self.first_name} {self.last_name}" def get_email[self]: return f"{self.first_name}.{self.last_name}@school.edu"
8 bên trongclass Student: def __init__[self,first_name,last_name,tuition]: self.first_name = first_name self.last_name = last_name self.tuition = tuition def get_full_name[self]: return f"{self.first_name} {self.last_name}" def get_email[self]: return f"{self.first_name}.{self.last_name}@school.edu"
Tiếp theo, bạn có thể gọi hàm
class Student:
def __init__[self,first_name,last_name,tuition]:
self.first_name = first_name
self.last_name = last_name
self.tuition = tuition
def get_full_name[self]:
return f"{self.first_name} {self.last_name}"
def get_email[self]:
return f"{self.first_name}.{self.last_name}@school.edu"
5 với >>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
08 làm đối số và gán [một lần nữa] cho >>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
08—giống như cách bạn gọi một hàm và gán giá trị trả về của nó cho một biếnBây giờ, khi bạn gọi
class Student:
def __init__[self,first_name,last_name,tuition]:
self.first_name = first_name
self.last_name = last_name
self.tuition = tuition
def get_full_name[self]:
return f"{self.first_name} {self.last_name}"
def get_email[self]:
return f"{self.first_name}.{self.last_name}@school.edu"
3 với các giá trị cho class Student:
def __init__[self,first_name,last_name,tuition]:
self.first_name = first_name
self.last_name = last_name
self.tuition = tuition
def get_full_name[self]:
return f"{self.first_name} {self.last_name}"
def get_email[self]:
return f"{self.first_name}.{self.last_name}@school.edu"
9 và >>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
00, nó sẽ trả về tổng của >>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
03 và >>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
04class Student:
pass # placeholder for code that we'll write shortly!
1Thay vì cú pháp dài dòng ở trên, bạn có một cú pháp ngắn gọn. Chỉ cần thêm
>>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
15 phía trên định nghĩa của hàm class Student:
def __init__[self,first_name,last_name,tuition]:
self.first_name = first_name
self.last_name = last_name
self.tuition = tuition
def get_full_name[self]:
return f"{self.first_name} {self.last_name}"
def get_email[self]:
return f"{self.first_name}.{self.last_name}@school.edu"
3, như hình bên dướiclass Student:
pass # placeholder for code that we'll write shortly!
2Do đó, hàm
class Student:
def __init__[self,first_name,last_name,tuition]:
self.first_name = first_name
self.last_name = last_name
self.tuition = tuition
def get_full_name[self]:
return f"{self.first_name} {self.last_name}"
def get_email[self]:
return f"{self.first_name}.{self.last_name}@school.edu"
5 tô điểm cho hàm class Student:
def __init__[self,first_name,last_name,tuition]:
self.first_name = first_name
self.last_name = last_name
self.tuition = tuition
def get_full_name[self]:
return f"{self.first_name} {self.last_name}"
def get_email[self]:
return f"{self.first_name}.{self.last_name}@school.edu"
3 để có thuộc tính nhân đôi các đối số và tính tổng của chúngTại thời điểm này, chúng ta có đoạn mã sau trong tệp
student_1 = Student[]
9class Student:
pass # placeholder for code that we'll write shortly!
3Tiếp theo, hãy tiếp tục tìm hiểu cách định nghĩa các phương thức lớp có thể được sử dụng làm hàm tạo
Cách sử dụng các phương thức lớp làm hàm tạo
Thay vào đó, giả sử rằng dữ liệu sinh viên có sẵn ở dạng bộ dữ liệu - một bộ dữ liệu cho mỗi sinh viên. Trong trường hợp này, bạn nên giải nén bộ dữ liệu thành ba biến, sau đó tiến hành khởi tạo đối tượng
class Student:
pass # placeholder for code that we'll write shortly!
4Khi bạn cần khởi tạo nhiều đối tượng, bạn sẽ phải lặp lại bước giải nén cho từng bộ dữ liệu—việc này lặp đi lặp lại và không tối ưu
Bạn có thể định nghĩa một phương thức lớp
>>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
20 để giải nén bộ dữ liệu và gán các giá trị cho tên thuộc tính. Sau đó, bạn có thể trả về một tham chiếu đến lớp, cho phép chúng ta khởi tạo các đối tượng bằng cách gọi phương thức của lớpclass Student:
pass # placeholder for code that we'll write shortly!
5Bây giờ, bạn có thể tạo các đối tượng sinh viên từ các bộ dữ liệu bằng cách sử dụng phương thức
>>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
20 làm hàm tạoclass Student:
pass # placeholder for code that we'll write shortly!
6Bạn có thể định nghĩa các biến thể của hàm tạo lớp trên để xây dựng các đối tượng bằng cách phân tích chuỗi Python, tệp JSON, v.v.
Cách sử dụng các phương thức tĩnh trong Python
Giả sử bạn muốn định nghĩa một phương thức liên quan đến lớp; . Trong trường hợp này, bạn nên xem xét việc xác định nó là một phương thức tĩnh
Ví dụ, trong lớp
student_1 = Student[]
8, bạn có thể định nghĩa một phương thức >>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
23 lấy ngày và kiểm tra xem học kỳ đang diễn ra có phải là học kỳ mùa thu hay khôngĐể làm việc với ngày tháng, hãy nhập lớp
>>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
24 từ mô-đun >>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
25 tích hợp sẵn của Pythonclass Student:
pass # placeholder for code that we'll write shortly!
7Để xác định một phương thức tĩnh, bạn có thể sử dụng trình trang trí
>>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
26. Giả sử rằng tháng 9, tháng 10 và tháng 11 tương ứng với mùa thu, chúng tôi kiểm tra xem thuộc tính tháng của ngày—được chuyển vào làm đối số cho >>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
23—có trong danh sách [9,10,11]Hãy thêm định nghĩa sau của
>>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
23 vào lớpclass Student:
pass # placeholder for code that we'll write shortly!
8Mặc dù một phương thức tĩnh không bị ràng buộc với lớp hoặc một thể hiện của lớp, nhưng nó vẫn hiện diện trong không gian tên của lớp
student_1 = Student[]
8. Bạn có thể gọi phương thức tĩnh giống như cách bạn gọi bất kỳ phương thức lớp nào trong phạm vi với cú pháp. >>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
30. Hãy gọi >>> py_str = "A Python String"
>>> type[py_str]
>>> py_list = [2,4,9]
>>> type[py_list]
23 với ngày hôm nay là đối số và nó vẫn chưa rơi vào năm 2022class Student:
pass # placeholder for code that we'll write shortly!
9student_1 = Student[]
0Đặt tất cả lại với nhau, chúng ta có đoạn mã sau trong tệp
student_1 = Student[]
9student_1 = Student[]
1Phần kết luận
Trong hướng dẫn này, chúng ta đã tìm hiểu sâu về cách các lớp và đối tượng hoạt động trong ngôn ngữ lập trình Python. Chúng tôi đã tạo các lớp đóng vai trò là mẫu để tạo các đối tượng có bộ dữ liệu [thuộc tính cá thể] và hàm [phương thức cá thể] của riêng chúng
Sau đó, chúng tôi đã học cách sử dụng các biến lớp cho các thuộc tính có cùng giá trị trên tất cả các phiên bản của một lớp cụ thể và cách các phương thức lớp có thể được sử dụng làm hàm tạo của lớp thay thế. Chúng tôi cũng đề cập đến việc sử dụng các phương thức tĩnh để xác định các hàm liên quan không được liên kết với lớp cũng như một thể hiện cụ thể
Trong hướng dẫn tiếp theo của loạt bài này, chúng ta sẽ tìm hiểu cách tận dụng và mở rộng chức năng của các lớp hiện có bằng cách sử dụng tính kế thừa trong Python
Trong khi bạn ở đây
Earthly là khuôn khổ CI/CD dễ dàng
Phát triển đường ống CI/CD cục bộ và chạy chúng ở mọi nơi
Bala Priya C
Bala là một nhà văn kỹ thuật thích tạo nội dung dài. Lĩnh vực quan tâm của cô bao gồm toán học và lập trình. Cô ấy chia sẻ kiến thức của mình với cộng đồng nhà phát triển bằng cách viết các hướng dẫn, hướng dẫn cách thực hiện, v.v.