Giải thích lớp trong Python

Python là một ngôn ngữ hoàn toàn hướng đối tượng. Bạn đã làm việc với các lớp và đối tượng ngay từ đầu của các hướng dẫn này. Mỗi phần tử trong chương trình Python là một đối tượng của một lớp. Một số, chuỗi, danh sách, từ điển, v.v. , được sử dụng trong một chương trình là một đối tượng của lớp dựng sẵn tương ứng. Bạn có thể truy xuất tên lớp của các biến hoặc đối tượng bằng phương thức type[], như hình bên dưới

Thí dụ. Các lớp tích hợp Python

Sao chép

>>> num=20
>>> type[num]
            
>>> s="Python"
>>> type[s] 

Xác định một lớp

Một lớp trong Python có thể được định nghĩa bằng từ khóa

class Student:
    pass
8

class :
    
    
    .
    .
    

Theo cú pháp trên, một lớp được xác định bằng cách sử dụng từ khóa

class Student:
    pass
8 theo sau là tên lớp và toán tử
std = Student[]
0 sau tên lớp, điều này cho phép bạn tiếp tục ở dòng thụt lề tiếp theo để xác định các thành viên của lớp. Sau đây là các thành viên trong lớp

Một lớp cũng có thể được định nghĩa mà không cần bất kỳ thành viên nào. Ví dụ sau định nghĩa một lớp rỗng sử dụng từ khóa

std = Student[]
1

Thí dụ. Xác định lớp Python

Sao chép

class Student:
    pass

Khởi tạo lớp sử dụng ký hiệu hàm. Để tạo một đối tượng của lớp, chỉ cần gọi một lớp giống như một hàm không tham số trả về một đối tượng mới của lớp, như hình bên dưới

Thí dụ. Tạo một đối tượng của một lớp

Sao chép

std = Student[]

Ở trên,

std = Student[]
2 trả về một đối tượng của lớp
std = Student[]
3, được gán cho một biến cục bộ
std = Student[]
4. Lớp
std = Student[]
3 là một lớp trống vì nó không chứa bất kỳ thành viên nào

Thuộc tính lớp

Thuộc tính lớp là các biến được định nghĩa trực tiếp trong lớp được chia sẻ bởi tất cả các đối tượng của lớp. Các thuộc tính của lớp có thể được truy cập bằng cách sử dụng tên lớp cũng như sử dụng các đối tượng

Thí dụ. Xác định lớp Python

Sao chép

class Student:
    schoolName = 'XYZ School' 

Ở trên,

std = Student[]
6 là một thuộc tính lớp được định nghĩa bên trong một lớp. Giá trị của
std = Student[]
6 sẽ giữ nguyên cho tất cả các đối tượng trừ khi được sửa đổi rõ ràng

Thí dụ. Xác định lớp Python

Sao chép

>>> Student.schoolName
'XYZ School' 
>>> std = Student[]
>>> std.schoolName
'XYZ School' 

Như bạn có thể thấy, một thuộc tính lớp được truy cập bởi

std = Student[]
8 cũng như
std = Student[]
9. Thay đổi giá trị của thuộc tính lớp bằng tên lớp sẽ thay đổi nó trên tất cả các phiên bản. Tuy nhiên, việc thay đổi giá trị thuộc tính lớp bằng cách sử dụng phiên bản sẽ không ảnh hưởng đến các phiên bản hoặc lớp khác

Thí dụ. Xác định lớp Python

Sao chép

>>> Student.schoolName = 'ABC School' # change attribute value using class name
>>> std = Student[]
>>> std.schoolName
'ABC School'   # value changed for all instances
>>> std.schoolName = 'My School'  # changing instance's attribute
>>> std.schoolName
'My School' 
>>> Student.schoolName # instance level change not reflectd to class attribute
'ABC School' 
>>> std2 = Student[]
>>> std2.schoolName
'ABC School' 

Ví dụ sau minh họa việc sử dụng thuộc tính lớp

class Student:
    schoolName = 'XYZ School' 
0

Thí dụ. Sinh viên. py

Sao chép

class Student:
    count = 0
    def __init__[self]:
        Student.count += 1                

Trong ví dụ trên,

class Student:
    schoolName = 'XYZ School' 
0 là một thuộc tính trong lớp Sinh viên. Bất cứ khi nào một đối tượng mới được tạo, giá trị của
class Student:
    schoolName = 'XYZ School' 
0 được tăng thêm 1. Bây giờ bạn có thể truy cập thuộc tính
class Student:
    schoolName = 'XYZ School' 
0 sau khi tạo các đối tượng, như hình bên dưới

Thí dụ

Sao chép

>>> std1=Student[]
>>> Student.count
1
>>> std2 = Student[]
>>> Student.count
2

Hàm tạo

Trong Python, phương thức khởi tạo được gọi tự động bất cứ khi nào một đối tượng mới của một lớp được khởi tạo, giống như các hàm tạo trong C# hoặc Java. Hàm tạo phải có một tên đặc biệt là

class Student:
    schoolName = 'XYZ School' 
4 và một tham số đặc biệt có tên là
class Student:
    schoolName = 'XYZ School' 
5

Ghi chú

Tham số đầu tiên của mỗi phương thức trong một lớp phải là

class Student:
    schoolName = 'XYZ School' 
5, tham chiếu đến đối tượng gọi. Tuy nhiên, bạn có thể đặt bất kỳ tên nào cho tham số đầu tiên, không nhất thiết phải là
class Student:
    schoolName = 'XYZ School' 
5

Ví dụ sau định nghĩa một constructor

Thí dụ. Hàm tạo

Sao chép

class Student:
    def __init__[self]: # constructor method
        print['Constructor invoked']

Bây giờ, bất cứ khi nào bạn tạo một đối tượng của lớp

std = Student[]
3, phương thức khởi tạo của lớp
class Student:
    schoolName = 'XYZ School' 
4 sẽ được gọi, như hình bên dưới

Thí dụ. Constructor Call khi tạo đối tượng

Sao chép

class :
    
    
    .
    .
    
0

Hàm tạo trong Python được sử dụng để xác định các thuộc tính của một thể hiện và gán giá trị cho chúng

Thuộc tính sơ thẩm

Thuộc tính thể hiện là thuộc tính hoặc thuộc tính gắn liền với một thể hiện của một lớp. Thuộc tính thể hiện được xác định trong hàm tạo

Ví dụ sau định nghĩa các thuộc tính thể hiện

>>> Student.schoolName
'XYZ School' 
>>> std = Student[]
>>> std.schoolName
'XYZ School' 
0 và
>>> Student.schoolName
'XYZ School' 
>>> std = Student[]
>>> std.schoolName
'XYZ School' 
1 trong hàm tạo

Thí dụ. Thuộc tính sơ thẩm

Sao chép

class :
    
    
    .
    .
    
1

Một thuộc tính thể hiện có thể được truy cập bằng ký hiệu dấu chấm.

>>> Student.schoolName
'XYZ School' 
>>> std = Student[]
>>> std.schoolName
'XYZ School' 
2, như hình bên dưới

Thí dụ

Sao chép

class :
    
    
    .
    .
    
2

Bạn có thể đặt giá trị của các thuộc tính bằng cách sử dụng ký hiệu dấu chấm, như hình bên dưới

Thí dụ

Sao chép

class :
    
    
    .
    .
    
3

Bạn có thể chỉ định giá trị của các thuộc tính thể hiện thông qua hàm tạo. Hàm tạo sau bao gồm các tham số tên và tuổi, ngoại trừ tham số

class Student:
    schoolName = 'XYZ School' 
5

Thí dụ. Đặt giá trị thuộc tính

Sao chép

class :
    
    
    .
    .
    
4

Giờ đây, bạn có thể chỉ định các giá trị trong khi tạo phiên bản, như minh họa bên dưới

Thí dụ. Truyền các giá trị thuộc tính của Instance trong Constructor

Sao chép

class :
    
    
    .
    .
    
5

Ghi chú

Bạn không cần phải chỉ định giá trị của tham số

class Student:
    schoolName = 'XYZ School' 
5. Nó sẽ được chỉ định nội bộ trong Python

Bạn cũng có thể đặt giá trị mặc định cho thuộc tính cá thể. Đoạn mã sau đặt các giá trị mặc định của các tham số hàm tạo. Vì vậy, nếu các giá trị không được cung cấp khi tạo một đối tượng, các giá trị sẽ được gán sau

Thí dụ. Đặt giá trị mặc định của thuộc tính

Sao chép

class :
    
    
    .
    .
    
6

Bây giờ, bạn có thể tạo một đối tượng với các giá trị mặc định, như hình bên dưới

Thí dụ. Giá trị mặc định của thuộc tính phiên bản

Sao chép

class :
    
    
    .
    .
    
7

Truy cập thuộc tính lớp so với thuộc tính cá thể trong Python để biết thêm thông tin

Thuộc tính lớp

Trong Python, một thuộc tính trong lớp có thể được định nghĩa bằng hàm property[]

Phương thức

>>> Student.schoolName
'XYZ School' 
>>> std = Student[]
>>> std.schoolName
'XYZ School' 
5 trong Python cung cấp giao diện cho các thuộc tính thể hiện. Nó đóng gói các thuộc tính thể hiện và cung cấp một thuộc tính, giống như Java và C#

Phương thức

>>> Student.schoolName
'XYZ School' 
>>> std = Student[]
>>> std.schoolName
'XYZ School' 
5 lấy các phương thức get, set và delete làm đối số và trả về một đối tượng của lớp
>>> Student.schoolName
'XYZ School' 
>>> std = Student[]
>>> std.schoolName
'XYZ School' 
7

Ví dụ sau minh họa cách tạo một thuộc tính trong Python bằng cách sử dụng hàm

>>> Student.schoolName
'XYZ School' 
>>> std = Student[]
>>> std.schoolName
'XYZ School' 
5

Thí dụ. tài sản[]

Sao chép

class :
    
    
    .
    .
    
8

Trong ví dụ trên,

>>> Student.schoolName
'XYZ School' 
>>> std = Student[]
>>> std.schoolName
'XYZ School' 
9 trả về đối tượng thuộc tính và gán nó cho
>>> Student.schoolName
'XYZ School' 
>>> std = Student[]
>>> std.schoolName
'XYZ School' 
0. Do đó, thuộc tính
>>> Student.schoolName
'XYZ School' 
>>> std = Student[]
>>> std.schoolName
'XYZ School' 
0 ẩn dấu
>>> Student.schoolName = 'ABC School' # change attribute value using class name
>>> std = Student[]
>>> std.schoolName
'ABC School'   # value changed for all instances
>>> std.schoolName = 'My School'  # changing instance's attribute
>>> std.schoolName
'My School' 
>>> Student.schoolName # instance level change not reflectd to class attribute
'ABC School' 
>>> std2 = Student[]
>>> std2.schoolName
'ABC School' 
2. Thuộc tính
>>> Student.schoolName
'XYZ School' 
>>> std = Student[]
>>> std.schoolName
'XYZ School' 
0 được truy cập trực tiếp, nhưng bên trong nó sẽ gọi phương thức
>>> Student.schoolName = 'ABC School' # change attribute value using class name
>>> std = Student[]
>>> std.schoolName
'ABC School'   # value changed for all instances
>>> std.schoolName = 'My School'  # changing instance's attribute
>>> std.schoolName
'My School' 
>>> Student.schoolName # instance level change not reflectd to class attribute
'ABC School' 
>>> std2 = Student[]
>>> std2.schoolName
'ABC School' 
4 hoặc
>>> Student.schoolName = 'ABC School' # change attribute value using class name
>>> std = Student[]
>>> std.schoolName
'ABC School'   # value changed for all instances
>>> std.schoolName = 'My School'  # changing instance's attribute
>>> std.schoolName
'My School' 
>>> Student.schoolName # instance level change not reflectd to class attribute
'ABC School' 
>>> std2 = Student[]
>>> std2.schoolName
'ABC School' 
5, như minh họa bên dưới

Thí dụ. tài sản[]

Sao chép

class :
    
    
    .
    .
    
9

Bạn nên sử dụng trình trang trí thuộc tính thay vì phương thức

>>> Student.schoolName
'XYZ School' 
>>> std = Student[]
>>> std.schoolName
'XYZ School' 
5

phương pháp lớp

Bạn có thể định nghĩa bao nhiêu phương thức tùy ý trong một lớp bằng cách sử dụng từ khóa

>>> Student.schoolName = 'ABC School' # change attribute value using class name
>>> std = Student[]
>>> std.schoolName
'ABC School'   # value changed for all instances
>>> std.schoolName = 'My School'  # changing instance's attribute
>>> std.schoolName
'My School' 
>>> Student.schoolName # instance level change not reflectd to class attribute
'ABC School' 
>>> std2 = Student[]
>>> std2.schoolName
'ABC School' 
7. Mỗi phương thức phải có tham số đầu tiên, thường được đặt tên là
class Student:
    schoolName = 'XYZ School' 
5, tham chiếu đến phiên bản gọi

Thí dụ. phương pháp lớp

Sao chép

class Student:
    pass
0

>>> Student.schoolName = 'ABC School' # change attribute value using class name
>>> std = Student[]
>>> std.schoolName
'ABC School'   # value changed for all instances
>>> std.schoolName = 'My School'  # changing instance's attribute
>>> std.schoolName
'My School' 
>>> Student.schoolName # instance level change not reflectd to class attribute
'ABC School' 
>>> std2 = Student[]
>>> std2.schoolName
'ABC School' 
9 chỉ là một tên quy ước cho đối số đầu tiên của một phương thức trong lớp. Một phương thức được định nghĩa là
class Student:
    count = 0
    def __init__[self]:
        Student.count += 1                
0 nên được gọi là
class Student:
    count = 0
    def __init__[self]:
        Student.count += 1                
1 cho đối tượng
class Student:
    count = 0
    def __init__[self]:
        Student.count += 1                
2 của lớp

Phương thức lớp trên có thể được gọi như một hàm bình thường, như hình bên dưới

Thí dụ. phương pháp lớp

Sao chép

class Student:
    pass
1

Tham số đầu tiên của phương thức không cần đặt tên

class Student:
    schoolName = 'XYZ School' 
5. Bạn có thể đặt bất kỳ tên nào đề cập đến thể hiện của phương thức gọi. Phương thức
class Student:
    count = 0
    def __init__[self]:
        Student.count += 1                
4 sau đây đặt tên tham số đầu tiên là
class Student:
    count = 0
    def __init__[self]:
        Student.count += 1                
5 thay vì
class Student:
    schoolName = 'XYZ School' 
5 và nó hoạt động hoàn toàn tốt

Thí dụ. phương pháp lớp

Sao chép

class Student:
    pass
2

Định nghĩa một phương thức trong lớp mà không có tham số

class Student:
    schoolName = 'XYZ School' 
5 sẽ tạo ra một ngoại lệ khi gọi một phương thức

Thí dụ. phương pháp lớp

Sao chép

class Student:
    pass
3

class Student:
    pass
4

Phương thức có thể truy cập các thuộc tính của cá thể bằng cách sử dụng tham số

class Student:
    schoolName = 'XYZ School' 
5

Thí dụ. phương pháp lớp

Sao chép

class Student:
    pass
5

Bây giờ bạn có thể gọi phương thức, như hình bên dưới

Thí dụ. Gọi một phương thức

Sao chép

class Student:
    pass
6

Xóa thuộc tính, đối tượng, lớp

Bạn có thể xóa các thuộc tính, đối tượng hoặc chính lớp đó bằng cách sử dụng từ khóa

class Student:
    count = 0
    def __init__[self]:
        Student.count += 1                
9, như minh họa bên dưới

Một lớp trong Python là gì?

Một lớp Python giống như bản phác thảo để tạo một đối tượng mới . Một đối tượng là bất cứ thứ gì bạn muốn thao tác hoặc thay đổi trong khi làm việc với mã. Mỗi khi một đối tượng lớp được khởi tạo, đó là khi chúng ta khai báo một biến, một đối tượng mới sẽ được khởi tạo từ đầu.

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

Đối tượng Python . Ví dụ: giả sử Bike là một lớp thì chúng ta có thể tạo các đối tượng như bike1 , bike2 , v.v. từ lớp. Đây là cú pháp để tạo một đối tượng. Ở đây, bike1 là đối tượng của lớp. An object is called an instance of a class. For example, suppose Bike is a class then we can create objects like bike1 , bike2 , etc from the class. Here's the syntax to create an object. Here, bike1 is the object of the class.

lớp là gì và giải thích?

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. Và hành vi của nó là di động.

Tại sao sử dụng lớp trong Python?

Các lớp là tuyệt vời nếu bạn cần giữ trạng thái, bởi vì chúng chứa dữ liệu [biến] và hành vi [phương thức] hoạt động trên dữ liệu đó và nên được nhóm hợp lý với nhau. Điều này dẫn đến mã được tổ chức tốt hơn [sạch hơn] và dễ sử dụng lại hơn

Chủ Đề