Ví dụ đối tượng trong Python

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ục

Lớ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 Python

Mộ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 Python

Trong 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 đây

cú 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ớ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)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ích
  • 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)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ớp

Mộ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

  • Bên trong, <object-name> = <class-name>(<arguments>) 0 là phương thức tạo đối tượng
  • Và, sử dụng phương thức <object-name> = <class-name>(<arguments>) 1, chúng ta có thể triển khai hàm tạo để 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ớp

Khi 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

  • Biến thể hiện. Các biến thể hiện là các thuộc tính gắn liền với một thể hiện của một lớp. Chúng tôi định nghĩa các biến thể hiện trong hàm tạo ( phương thức <object-name> = <class-name>(<arguments>) 1 của một lớp)
  • Biến lớp. Biến lớp là một biến được khai báo bên trong lớp, nhưng bên ngoài bất kỳ phương thức thực thể nào hoặc phương thức <object-name> = <class-name>(<arguments>) 1

Thuộc tính lớp trong Python

Cá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ị

  • Một thuộc tính thể hiện có thể được truy cập hoặc sửa đổi bằng cách sử dụng ký hiệu dấu chấm. <object-name> = <class-name>(<arguments>) 4
  • Một biến lớp được truy cập hoặc sửa đổi bằng cách sử dụng tên lớp

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ớp

Trong 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ện

Cá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ớp

Quy ướ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ớp

Trong 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 lai

Ví 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)0

Trong 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ớp

Thuộc tính đối tượng

Mỗ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ượng

Sửa đổi thuộc tính đối tượng

Mỗ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)1

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)2

Xóa thuộc tính đối tượng

Chú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ỗi

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)3

Trong 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ượng

Trong 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)4

Thí 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)5

Trong 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ì?

Hàm đối tượng Python() . Bạn không thể thêm các thuộc tính hoặc phương thức mới vào đối tượng này. Đối tượng này là cơ sở cho tất cả các lớp, nó chứa các thuộc tính và phương thức dựng sẵn được mặc định cho tất cả các lớp. returns an empty object. You cannot add new properties or methods to this object. This object is the base for all classes, it holds the built-in properties and methods which are default for all classes.

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

Chủ đề