Các phương thức lớp khác nhau trong python là gì?

classmethod[] là một hàm sẵn có trong Python, trả về một phương thức lớp cho một hàm nhất định. ;

cú pháp. phương thức lớp [hàm]

Tham số. Hàm này chấp nhận tên hàm làm tham số

Loại trả lại. Hàm này trả về phương thức lớp đã chuyển đổi

Bạn cũng có thể sử dụng trình trang trí @classmethod cho định nghĩa classmethod

cú pháp.  

@classmethod
   def fun[cls, arg1, arg2, ...]:

Ở đâu,

  • niềm vui. chức năng cần được chuyển đổi thành một phương thức lớp
  • lợi nhuận. một phương thức lớp cho chức năng

các phương thức classmethod[] được liên kết với một lớp chứ không phải là một đối tượng. Các phương thức lớp có thể được gọi bởi cả lớp và đối tượng. Các phương thức này có thể được gọi với một lớp hoặc với một đối tượng.  

Phương thức lớp so với Phương thức tĩnh

  • Phương thức lớp lấy cls làm tham số đầu tiên trong khi phương thức tĩnh không cần tham số cụ thể
  • Một phương thức lớp có thể truy cập hoặc sửa đổi trạng thái lớp trong khi một phương thức tĩnh không thể truy cập hoặc sửa đổi nó
  • Nói chung, các phương thức tĩnh không biết gì về trạng thái lớp. Chúng là các phương thức kiểu tiện ích nhận một số tham số và hoạt động dựa trên các tham số đó. Mặt khác, các phương thức lớp phải có lớp làm tham số
  • Chúng tôi sử dụng trình trang trí @classmethod trong python để tạo một phương thức lớp và chúng tôi sử dụng trình trang trí @staticmethod để tạo một phương thức tĩnh trong python

Ví dụ về classmethod trong Python

ví dụ 1. Tạo một classmethod đơn giản

Trong ví dụ này, chúng ta sẽ xem cách tạo phương thức lớp, để làm điều này, chúng ta đã tạo một lớp có tên chuyên viên máy tính với biến thành viên là khóa học và tạo một hàm buy để in đối tượng

Bây giờ chúng tôi đã thông qua phương pháp chuyên viên máy tính. mua thành classmethod chuyển đổi các phương thức thành một phương thức lớp và sau đó chúng ta gọi hàm lớp mua mà không tạo đối tượng hàm

Python3




class geeks:

    course

Purchase course :  DSA
0
Purchase course :  DSA
1

 

    

Purchase course :  DSA
3
Purchase course :  DSA
4

Purchase course :  DSA
5_______1_______6
Purchase course :  DSA
7
Purchase course :  DSA
8_______1_______9

 

 

The name is :  Geeksforgeeks
0_______1_______0
The name is :  Geeksforgeeks
2
The name is :  Geeksforgeeks
3

The name is :  Geeksforgeeks
4

đầu ra

Purchase course :  DSA

ví dụ 2. Tạo phương thức lớp bằng classmethod[]

Python3




The name is :  Geeksforgeeks
5

 

class

The name is :  Geeksforgeeks
7

 

    

The name is :  Geeksforgeeks
9

    

Name :  mayank Age :  21
1_______1_______0
Name :  mayank Age :  21
3

 

    

Name :  mayank Age :  21
5

    

Purchase course :  DSA
3
Name :  mayank Age :  21
8

Purchase course :  DSA
5_______1_______6
Purchase course :  DSA
7
class C[object]:
    @classmethod
    def fun[cls, arg1, arg2, ...]:
       ....
2_______28_______3

 

 

class C[object]:
    @classmethod
    def fun[cls, arg1, arg2, ...]:
       ....
4

class C[object]:
    @classmethod
    def fun[cls, arg1, arg2, ...]:
       ....
5

class C[object]:
    @classmethod
    def fun[cls, arg1, arg2, ...]:
       ....
6

class C[object]:
    @classmethod
    def fun[cls, arg1, arg2, ...]:
       ....
7
Purchase course :  DSA
0
The name is :  Geeksforgeeks
2
21
25
True
0

 

21
25
True
1

21
25
True
2

21
25
True
3

đầu ra

The name is :  Geeksforgeeks

ví dụ 3. Phương thức xuất xưởng sử dụng phương thức Lớp

Việc sử dụng hàm classmethod[] được sử dụng trong các mẫu thiết kế của nhà máy nơi chúng ta muốn gọi nhiều hàm với tên lớp chứ không phải một đối tượng

Python3




21
25
True
4

21
25
True
5

21
25
True
6
21
25
True
7
21
25
True
8
21
25
True
9

 

class class1

    1_______3 class4class5class6

Purchase course :  DSA
5_______75_______5class9
Purchase course :  DSA
0
Name :  mayank Age :  21
1

Purchase course :  DSA
5_______75_______5geeks:4
Purchase course :  DSA
0 geeks:6

 

    geeks:8

        0

        2

    1_______3     5    6    7

Purchase course :  DSA
5_______77_______9     6course1course2 course3

 

    1_______3 course6class5course8

Purchase course :  DSA
5_______1_______6
Purchase course :  DSA
7
Purchase course :  DSA
02_______1_______03class5
Purchase course :  DSA
05
Purchase course :  DSA
06
Purchase course :  DSA
03class5
Purchase course :  DSA
09

 

Purchase course :  DSA
10_______1_______0
Purchase course :  DSA
12
Purchase course :  DSA
13_______1_______03
Purchase course :  DSA
15
Purchase course :  DSA
16

Purchase course :  DSA
17

đầu ra

Name :  mayank Age :  21

Trình trang trí @classmethod

Trình trang trí @classmethod là một trình trang trí chức năng tích hợp, là một biểu thức được đánh giá sau khi chức năng của bạn được xác định. Kết quả của đánh giá đó làm lu mờ định nghĩa chức năng của bạn.  

Một phương thức lớp nhận lớp làm đối số đầu tiên ngầm định, giống như một phương thức thể hiện nhận thể hiện

cú pháp

class C[object]:
    @classmethod
    def fun[cls, arg1, arg2, ...]:
       ....

Ở đâu,

  • niềm vui. chức năng cần được chuyển đổi thành một phương thức lớp
  • lợi nhuận. một phương thức lớp cho chức năng

Ghi chú

  • Một phương thức lớp là một phương thức được liên kết với lớp và không phải là đối tượng của lớp
  • Họ có quyền truy cập vào trạng thái của lớp vì nó nhận tham số lớp trỏ đến lớp chứ không phải thể hiện đối tượng
  • Nó có thể sửa đổi trạng thái lớp sẽ áp dụng trên tất cả các phiên bản của lớp. Ví dụ: nó có thể sửa đổi một biến lớp có thể áp dụng cho tất cả các trường hợp

Trong ví dụ dưới đây, chúng tôi sử dụng phương pháp tĩnh [] và phương pháp lớp [] để kiểm tra xem một người có phải là người lớn hay không

3 loại phương thức trong Python là gì?

Có ba loại phương thức trong Python. phương thức thể hiện, phương thức tĩnh và phương thức lớp

Các loại phương thức trong lớp là gì?

Phương thức là một phần tử thực thi được định nghĩa bởi một lớp. InterSystems IRIS hỗ trợ hai loại phương pháp. phương thức thể hiện và phương thức lớp . Một phương thức thể hiện được gọi từ một thể hiện cụ thể của một lớp và thường thực hiện một số hành động liên quan đến thể hiện đó.

Các phương thức __ trong Python là gì?

Các phương thức trong Python – Khái niệm chính về lập trình hướng đối tượng .
phương pháp ma thuật
__add__ phương pháp ma thuật
phương pháp ma thuật __getitem__ và __setitem__
__repr__ phương pháp ma thuật
__len__ phương pháp ma thuật
Các phương pháp ma thuật __lt__, __gt__, __le__, __ge__, __eq__ và __ne__
__contains__ phương pháp ma thuật
__enter__ và __exit__ phương pháp ma thuật

Một lớp có thể có bao nhiêu phương thức trong Python?

Python chỉ cho phép một phương thức __init__ mỗi lớp . Sử dụng các phương thức lớp, có thể thêm bao nhiêu hàm tạo thay thế nếu cần.

Chủ Đề