Lớp trong mã ví dụ 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'''
    
    
    .
    .
    
  • 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,
     = []  
    0 là phương thức tạo đối tượng
  • Và, sử dụng phương thức
     = []  
    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

 = []  

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
     = []  
    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 
     = []  
    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.
     = []  
    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

 = []  
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

 = []  
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
 = []  
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

 = []  
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

 = []  
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 đó

lớp trong Python với ví dụ là gì?

Một lớp là mẫu mã để tạo đối tượng . Các đối tượng có các biến thành viên và có hành vi liên quan đến chúng. Trong python, một lớp được tạo bởi từ khóa class. Một đối tượng được tạo bằng hàm tạo của lớp. Đối tượng này sau đó sẽ được gọi là thể hiện của lớp.

một lớp học với ví dụ là gì?

Một lớp là một nhóm đối tượng có chung thuộc tính và hành vi . Ví dụ: chúng ta có thể coi ô tô là một lớp có các đặc điểm như vô lăng, ghế ngồi, phanh, v.v.

Lớp trong Python với ví dụ thực tế là gì?

Một lớp là bản thiết kế mà từ đó các đối tượng riêng lẻ được tạo ra . Ví dụ, trong thế giới thực, có thể có hàng nghìn chiếc ô tô đang tồn tại, tất cả đều cùng kiểu dáng và kiểu dáng. Mỗi chiếc xe được chế tạo từ cùng một bộ bản thiết kế và do đó chứa các bộ phận giống nhau.

Chủ Đề