Python là một ngôn ngữ lập trình hướng đối tượng. Điều này có nghĩa là hầu hết tất cả các mã được triển khai bằng cách sử dụng một cấu trúc đặc biệt được gọi là các lớp. Một lớp là một mẫu mã để tạo các đối tượng Sau khi đọc bài viết này, bạn sẽ học được - Lớp và đối tượng trong Python là gì
- Các thuộc tính và phương thức của lớp
- Tạo và truy cập các thuộc tính đối tượng
- Sửa đổi và xóa một đối tượng
Mục lụcLớp và đối tượng trong Python là gì?- Tầng lớp. Lớp là cấu trúc dữ liệu do người dùng định nghĩa, liên kết các thành viên dữ liệu và phương thức thành một đơn vị. Lớp là một kế hoạch chi tiết hoặc mẫu mã để tạo đối tượng. Sử dụng một lớp, bạn có thể tạo bao nhiêu đối tượng tùy thích
- Mục tiêu. Một đối tượng là một thể hiện của một lớp. Nó là tập hợp các thuộc tính (biến) và phương thức. Chúng tôi sử dụng đối tượng của một lớp để thực hiện các hành động
Đối tượng có hai đặc điểm. Chúng có các trạng thái và hành vi (đối tượng có các thuộc tính và phương thức gắn liền với nó) Các thuộc tính biểu thị trạng thái của nó và các phương thức biểu thị hành vi của nó. Sử dụng các phương thức của nó, chúng ta có thể sửa đổi trạng thái của nó Nói tóm lại, Mọi đối tượng đều có thuộc tính sau - Xác thực. Mỗi đối tượng phải được xác định duy nhất
- Tiểu bang. Một đối tượng có thuộc tính thể hiện trạng thái của đối tượng, đồng thời nó cũng phản ánh thuộc tính của đối tượng
- Cư xử. Một đối tượng có các phương thức đại diện cho hành vi của nó
Python là ngôn ngữ Lập trình hướng đối tượng, vì vậy mọi thứ trong Python đều được coi là đối tượng. Một đối tượng là một thực thể thực tế. Nó là tập hợp các dữ liệu khác nhau và các chức năng hoạt động trên những dữ liệu đó Ví dụ: Nếu chúng ta thiết kế một lớp dựa trên các trạng thái và hành vi của một Người, thì các Trạng thái có thể được biểu diễn dưới dạng các biến đối tượng và các hành vi dưới dạng các phương thức của lớp hiểu lớp và đối tượng trong PythonMột ví dụ thực tế về lớp và đối tượng Tầng lớp. Người - Tiểu bang. Tên, Giới tính, Nghề nghiệp
- Cư xử. Làm việc, Học tập
Sử dụng lớp trên, chúng ta có thể tạo nhiều đối tượng mô tả các trạng thái và hành vi khác nhau đối tượng 1. Jessa - Tiểu bang
- Tên. Jessa
- giới tính. Giống cái
- Chuyên nghiệp. Kỹ sư phần mềm
- Cư xử
- Làm việc. Cô đang làm nhân viên phát triển phần mềm tại Công ty ABC
- Nghiên cứu. Cô ấy học 2 giờ một ngày
đối tượng 2. Jon - Tiểu bang
- Tên. Jon
- giới tính. Nam giới
- Chuyên nghiệp. Bác sĩ
- Cư xử
- Làm việc. Anh ấy đang làm việc như một bác sĩ
- Nghiên cứu. Anh ấy học 5 giờ một ngày
Như bạn có thể thấy, Jessa là nữ, và cô ấy làm Kỹ sư phần mềm. Mặt khác, Jon là nam và anh ấy là luật sư. Ở đây, cả hai đối tượng được tạo từ cùng một lớp, nhưng chúng có trạng thái và hành vi khác nhau Tạo một lớp trong PythonTrong Python, lớp được định nghĩa bằng cách sử dụng từ khóa class Person:
def __init__(self, name, sex, profession):
# data members (instance variables)
self.name = name
self.sex = sex
self.profession = profession
# Behavior (instance methods)
def show(self):
print('Name:', self.name, 'Sex:', self.sex, 'Profession:', self.profession)
# Behavior (instance methods)
def work(self):
print(self.name, 'working as a', self.profession) 6. Cú pháp để tạo một lớp được đưa ra dưới đâycú pháp class class_name:
'''This is a docstring. I have created a new class'''
<statement 1>
<statement 2>
.
.
<statement N>
class Person:
def __init__(self, name, sex, profession):
# data members (instance variables)
self.name = name
self.sex = sex
self.profession = profession
# Behavior (instance methods)
def show(self):
print('Name:', self.name, 'Sex:', self.sex, 'Profession:', self.profession)
# Behavior (instance methods)
def work(self):
print(self.name, 'working as a', self.profession) 7. Đó là tên lớpclass Person:
def __init__(self, name, sex, profession):
# data members (instance variables)
self.name = name
self.sex = sex
self.profession = profession
# Behavior (instance methods)
def show(self):
print('Name:', self.name, 'Sex:', self.sex, 'Profession:', self.profession)
# Behavior (instance methods)
def work(self):
print(self.name, 'working as a', self.profession) 8. Nó là chuỗi đầu tiên bên trong lớp và có một mô tả ngắn gọn về lớp. Mặc dù không bắt buộc nhưng điều này rất được khuyến khíchclass Person:
def __init__(self, name, sex, profession):
# data members (instance variables)
self.name = name
self.sex = sex
self.profession = profession
# Behavior (instance methods)
def show(self):
print('Name:', self.name, 'Sex:', self.sex, 'Profession:', self.profession)
# Behavior (instance methods)
def work(self):
print(self.name, 'working as a', self.profession) 9. Thuộc tính và phương thức
Thí dụ. Định nghĩa một lớp trong Python Trong ví dụ này, chúng tôi đang tạo một Lớp người với các biến thể hiện tên, giới tính và nghề nghiệp class Person:
def __init__(self, name, sex, profession):
# data members (instance variables)
self.name = name
self.sex = sex
self.profession = profession
# Behavior (instance methods)
def show(self):
print('Name:', self.name, 'Sex:', self.sex, 'Profession:', self.profession)
# Behavior (instance methods)
def work(self):
print(self.name, 'working as a', self.profession)
Tạo đối tượng của một lớpMột đối tượng là cần thiết để làm việc với các thuộc tính của lớp. Đối tượng được tạo bằng tên lớp. Khi chúng ta tạo một đối tượng của lớp, nó được gọi là khởi tạo. Đối tượng còn được gọi là thể hiện của một lớp Hàm tạo là một phương thức đặc biệt được sử dụng để tạo và khởi tạo một đối tượng của một lớp. Phương thức này được định nghĩa trong lớp Trong Python, Tạo đối tượng được chia thành hai phần trong Tạo đối tượng và Khởi tạo đối tượng Đọc thêm. Constructor trong Python cú pháp <object-name> = <class-name>(<arguments>)
Dưới đây là mã để tạo đối tượng của lớp Person jessa = Person('Jessa', 'Female', 'Software Engineer')
ví dụ hoàn chỉnh class Person:
def __init__(self, name, sex, profession):
# data members (instance variables)
self.name = name
self.sex = sex
self.profession = profession
# Behavior (instance methods)
def show(self):
print('Name:', self.name, 'Sex:', self.sex, 'Profession:', self.profession)
# Behavior (instance methods)
def work(self):
print(self.name, 'working as a', self.profession)
# create object of a class
jessa = Person('Jessa', 'Female', 'Software Engineer')
# call methods
jessa.show()
jessa.work()
đầu ra Name: Jessa Sex: Female Profession: Software Engineer
Jessa working as a Software Engineer Thuộc tính lớpKhi chúng ta thiết kế một lớp, chúng ta sử dụng các biến thể hiện và biến lớp Trong Class, các thuộc tính có thể được định nghĩa thành hai phần Thuộc tính lớp trong PythonCác đối tượng không chia sẻ các thuộc tính thể hiện. Thay vào đó, mọi đối tượng đều có bản sao của thuộc tính thể hiện và là duy nhất cho từng đối tượng Tất cả các phiên bản của một lớp chia sẻ các biến lớp. Tuy nhiên, không giống như các biến thể hiện, giá trị của một biến lớp không thay đổi từ đối tượng này sang đối tượng khác Chỉ một bản sao của biến tĩnh sẽ được tạo và chia sẻ giữa tất cả các đối tượng của lớp Truy cập thuộc tính và gán giá trị Thí dụ class Student:
# class variables
school_name = 'ABC School'
# constructor
def __init__(self, name, age):
# instance variables
self.name = name
self.age = age
s1 = Student("Harry", 12)
# access instance variables
print('Student:', s1.name, s1.age)
# access class variable
print('School name:', Student.school_name)
# Modify instance variables
s1.name = 'Jessa'
s1.age = 14
print('Student:', s1.name, s1.age)
# Modify class variables
Student.school_name = 'XYZ School'
print('School name:', Student.school_name)
đầu ra Student: Harry 12
School name: ABC School
Student: Jessa 14
School name: XYZ School phương pháp lớpTrong Lập trình hướng đối tượng, Inside a Class, chúng ta có thể định nghĩa ba loại phương thức sau - phương thức sơ thẩm. Được sử dụng để truy cập hoặc sửa đổi trạng thái đối tượng. Nếu chúng ta sử dụng các biến thể hiện trong một phương thức, thì các phương thức đó được gọi là phương thức thể hiện
- phương pháp lớp. Được sử dụng để truy cập hoặc sửa đổi trạng thái lớp. Trong quá trình triển khai phương thức, nếu chúng ta chỉ sử dụng các biến lớp, thì loại phương thức đó chúng ta nên khai báo là phương thức lớp
- phương pháp tĩnh. Đó là một phương pháp tiện ích chung thực hiện một nhiệm vụ trong sự cô lập. Bên trong phương thức này, chúng tôi không sử dụng biến đối tượng hoặc lớp vì phương thức tĩnh này không có quyền truy cập vào các thuộc tính của lớp
phương thức lớp so với phương thức tĩnh so với phương thức thể hiệnCác phương thức sơ thẩm hoạt động ở cấp độ cá thể (cấp độ đối tượng). Ví dụ: nếu chúng ta có hai đối tượng được tạo từ lớp sinh viên, chúng có thể khác tên, điểm, số điểm danh, v.v. Sử dụng các phương thức thể hiện, chúng ta có thể truy cập và sửa đổi các biến thể hiện Một phương thức của lớp được liên kết với lớp chứ không phải đối tượng của lớp. Nó chỉ có thể truy cập các biến lớp Đọc thêm. Phương thức lớp Python so với. Phương pháp tĩnh vs. Phương thức sơ thẩm Thí dụ. Định nghĩa và gọi phương thức cá thể và phương thức lớp # class methods demo
class Student:
# class variable
school_name = 'ABC School'
# constructor
def __init__(self, name, age):
# instance variables
self.name = name
self.age = age
# instance method
def show(self):
# access instance variables and class variables
print('Student:', self.name, self.age, Student.school_name)
# instance method
def change_age(self, new_age):
# modify instance variable
self.age = new_age
# class method
@classmethod
def modify_school_name(cls, new_name):
# modify class variable
cls.school_name = new_name
s1 = Student("Harry", 12)
# call instance methods
s1.show()
s1.change_age(14)
# call class method
Student.modify_school_name('XYZ School')
# call instance methods
s1.show()
đầu ra Student: Harry 12 ABC School
Student: Harry 14 XYZ School Quy ước đặt tên lớpQuy ước đặt tên là cần thiết trong bất kỳ ngôn ngữ lập trình nào để dễ đọc hơn. Nếu chúng ta đặt một cái tên hợp lý, nó sẽ tiết kiệm thời gian và năng lượng của chúng ta sau này. Viết mã có thể đọc được là một trong những nguyên tắc hướng dẫn của ngôn ngữ Python Chúng ta nên tuân theo các quy tắc cụ thể trong khi quyết định tên cho lớp trong Python - Quy tắc 1. Tên lớp phải tuân theo quy ước UpperCaseCamelCase
- Quy tắc-2. Các lớp ngoại lệ phải kết thúc bằng “Lỗi“
- Quy tắc-3. Nếu một lớp có thể gọi được (Gọi lớp từ đâu đó), trong trường hợp đó, chúng ta có thể đặt tên lớp giống như một hàm
- Quy tắc-4. Các lớp dựng sẵn của Python thường là các từ viết thường
<object-name> = <class-name>(<arguments>) 5 Phát biểu trong lớpTrong Python, pass là một câu lệnh null. Do đó, không có gì xảy ra khi câu lệnh pass được thực thi Câu lệnh <object-name> = <class-name>(<arguments>) 5 được sử dụng để có một khối trống trong mã vì mã trống không được phép trong các vòng lặp, định nghĩa hàm, định nghĩa lớp. Như vậy, câu lệnh <object-name> = <class-name>(<arguments>) 5 sẽ dẫn đến kết quả là không có thao tác nào (NOP). Nói chung, chúng tôi sử dụng nó như một trình giữ chỗ khi chúng tôi không biết viết mã nào hoặc thêm mã nào trong bản phát hành trong tương laiVí dụ: giả sử chúng ta có một lớp chưa được triển khai, nhưng chúng ta muốn triển khai nó trong tương lai và chúng không thể có phần thân trống vì trình thông dịch đưa ra lỗi. Vì vậy, hãy sử dụng câu lệnh <object-name> = <class-name>(<arguments>) 5 để xây dựng một phần thân không làm gì cảThí dụ class Person:
def __init__(self, name, sex, profession):
# data members (instance variables)
self.name = name
self.sex = sex
self.profession = profession
# Behavior (instance methods)
def show(self):
print('Name:', self.name, 'Sex:', self.sex, 'Profession:', self.profession)
# Behavior (instance methods)
def work(self):
print(self.name, 'working as a', self.profession) 0Trong ví dụ trên, chúng ta đã định nghĩa lớp không có phần thân. Để tránh lỗi trong khi thực hiện nó, chúng tôi đã thêm câu lệnh <object-name> = <class-name>(<arguments>) 5 vào phần thân của lớpThuộc tính đối tượngMỗi đối tượng có thuộc tính với nó. Nói cách khác, chúng ta có thể nói rằng thuộc tính đối tượng là sự kết hợp giữa tên và giá trị Ví dụ: một chiếc ô tô là một đối tượng và các thuộc tính của nó là màu xe, cửa sổ trời, giá cả, nhà sản xuất, kiểu dáng, động cơ, v.v. Ở đây, màu sắc là tên và màu đỏ là giá trị. Thuộc tính đối tượng không là gì ngoài các biến thể hiện Thuộc tính đối tượngSửa đổi thuộc tính đối tượngMỗi đối tượng có các thuộc tính liên kết với chúng. Chúng ta có thể thiết lập hoặc sửa đổi các thuộc tính của đối tượng sau khi khởi tạo đối tượng bằng cách gọi trực tiếp thuộc tính đó bằng toán tử dấu chấm class Person:
def __init__(self, name, sex, profession):
# data members (instance variables)
self.name = name
self.sex = sex
self.profession = profession
# Behavior (instance methods)
def show(self):
print('Name:', self.name, 'Sex:', self.sex, 'Profession:', self.profession)
# Behavior (instance methods)
def work(self):
print(self.name, 'working as a', self.profession) 1Thí dụ class Person:
def __init__(self, name, sex, profession):
# data members (instance variables)
self.name = name
self.sex = sex
self.profession = profession
# Behavior (instance methods)
def show(self):
print('Name:', self.name, 'Sex:', self.sex, 'Profession:', self.profession)
# Behavior (instance methods)
def work(self):
print(self.name, 'working as a', self.profession) 2Xóa thuộc tính đối tượngChúng ta có thể xóa thuộc tính đối tượng bằng cách sử dụng từ khóa jessa = Person('Jessa', 'Female', 'Software Engineer') 0. Sau khi xóa đi nếu chúng ta thử truy cập sẽ bị báo lỗiclass Person:
def __init__(self, name, sex, profession):
# data members (instance variables)
self.name = name
self.sex = sex
self.profession = profession
# Behavior (instance methods)
def show(self):
print('Name:', self.name, 'Sex:', self.sex, 'Profession:', self.profession)
# Behavior (instance methods)
def work(self):
print(self.name, 'working as a', self.profession) 3Trong ví dụ trên, Như chúng ta thấy, tên thuộc tính đã bị xóa khi chúng ta cố gắng in hoặc truy cập thuộc tính đó sẽ nhận được thông báo lỗi Xóa đối tượngTrong Python, chúng ta cũng có thể xóa đối tượng bằng cách sử dụng từ khóa jessa = Person('Jessa', 'Female', 'Software Engineer') 0. Một đối tượng có thể là bất cứ thứ gì như đối tượng lớp, jessa = Person('Jessa', 'Female', 'Software Engineer') 2, jessa = Person('Jessa', 'Female', 'Software Engineer') 3, jessa = Person('Jessa', 'Female', 'Software Engineer') 4, v.v.cú pháp class Person:
def __init__(self, name, sex, profession):
# data members (instance variables)
self.name = name
self.sex = sex
self.profession = profession
# Behavior (instance methods)
def show(self):
print('Name:', self.name, 'Sex:', self.sex, 'Profession:', self.profession)
# Behavior (instance methods)
def work(self):
print(self.name, 'working as a', self.profession) 4Thí dụ. Đang xóa đối tượng class Person:
def __init__(self, name, sex, profession):
# data members (instance variables)
self.name = name
self.sex = sex
self.profession = profession
# Behavior (instance methods)
def show(self):
print('Name:', self.name, 'Sex:', self.sex, 'Profession:', self.profession)
# Behavior (instance methods)
def work(self):
print(self.name, 'working as a', self.profession) 5Trong ví dụ trên, chúng ta tạo đối tượng jessa = Person('Jessa', 'Female', 'Software Engineer') 5 của lớp jessa = Person('Jessa', 'Female', 'Software Engineer') 6. Sau đó, sử dụng từ khóa jessa = Person('Jessa', 'Female', 'Software Engineer') 0, chúng tôi đã xóa đối tượng đó
Đối tượng () trong Python là gì?
một đối tượng với ví dụ là gì?
Hãy nhìn xung quanh ngay bây giờ và bạn sẽ tìm thấy nhiều ví dụ về các đối tượng trong thế giới thực. con chó của bạn, bàn của bạn, TV của bạn, xe đạp của bạn . Các đối tượng trong thế giới thực có chung hai đặc điểm. Họ đều có trạng thái và hành vi. Chó có trạng thái (tên, màu sắc, giống, đói) và hành vi (sủa, vồ mồi, vẫy đuôi).
Đối tượng và lớp trong Python là gì?
Các lớp và đối tượng Python
. Hầu hết mọi thứ trong Python là một đối tượng, với các thuộc tính và phương thức của nó. Lớp giống như một hàm tạo đối tượng hoặc "bản thiết kế" để tạo đối tượng .
Các loại đối tượng trong Python là gì?
Chúng tôi đã xem xét một số loại đối tượng cơ bản trong Python. . int, float, phức tạp. các loại số bool. kiểu boolean. Đúng và Sai là các đối tượng kiểu boolean duy nhất Không có Loại. loại "null"; str. kiểu chuỗi danh sách. loại danh sách |