Lợi ích của phương thức lớp trong python là gì?

Các bạn đọc like ủng hộ MUO nhé. Khi bạn mua hàng bằng các liên kết trên trang web của chúng tôi, chúng tôi có thể kiếm được hoa hồng liên kết. Đọc thêm

Các phương thức Python thường có thể gây nhầm lẫn khi bạn bắt đầu lập trình hướng đối tượng (OOP). Hướng dẫn này bao gồm ba loại phương thức chính trong Python

3 loại phương thức trong Python

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

Biết được sự khác biệt không phải lúc nào cũng cần thiết để viết mã các tập lệnh Python cơ bản, nhưng khi bạn chuyển sang OOP, sự khác biệt có thể tạo ra sự thay đổi lớn

Nếu bạn chưa quen với Python hoặc chỉ muốn thử nghiệm mà không phải cài đặt bất kỳ thứ gì, thì hãy đảm bảo bạn truy cập các trình bao Python tương tác trực tuyến này

Trước khi chúng tôi bắt đầu. Hiểu các mẫu trang trí

Trước khi xem xét sự khác biệt, điều quan trọng là phải hiểu một mẫu thiết kế được gọi là mẫu trang trí hoặc đơn giản gọi là trang trí

Trang trí nghe có vẻ phức tạp, nhưng không có gì phải sợ. Trang trí chỉ đơn giản là chức năng. Bạn có thể tự viết chúng hoặc sử dụng những thứ có trong thư viện hoặc thư viện chuẩn Python

Giống như bất kỳ chức năng nào, decorator thực hiện một nhiệm vụ. Sự khác biệt ở đây là các bộ trang trí áp dụng logic hoặc thay đổi hành vi của các chức năng khác. Chúng là một cách tuyệt vời để sử dụng lại mã và có thể giúp phân tách logic thành các mối quan tâm riêng lẻ

Mẫu trang trí là cách ưa thích của Python để xác định các phương thức tĩnh hoặc lớp. Đây là những gì trông giống như trong Python

 class DecoratorExample:
  """ Example Class """
  def __init__(self):
    """ Example Setup """
    print('Hello, World!')

@staticmethod
  def example_function():
    """ This method is decorated! """
    print('I\'m a decorated function!')

de = DecoratorExample()
de.example_function()

Các bộ trang trí phải ngay trước một khai báo hàm hoặc lớp. Chúng bắt đầu bằng dấu @ và không giống như các phương pháp thông thường, bạn không cần phải đặt dấu ngoặc đơn ở cuối trừ khi bạn chuyển đối số

Có thể kết hợp nhiều trình trang trí, viết của riêng bạn và áp dụng chúng cho các lớp, nhưng bạn sẽ không cần phải làm bất kỳ điều gì trong số đó cho các ví dụ này

Phương thức sơ thẩm trong Python

Các phương thức sơ thẩm là loại phương thức phổ biến nhất trong các lớp Python. Chúng được gọi như vậy vì chúng có thể truy cập dữ liệu duy nhất của phiên bản của chúng. Nếu bạn có hai đối tượng, mỗi đối tượng được tạo từ một lớp ô tô, thì mỗi đối tượng có thể có các thuộc tính khác nhau. Chúng có thể có màu sắc, kích cỡ động cơ, chỗ ngồi khác nhau, v.v.

Các phương thức sơ thẩm phải có self làm tham số, nhưng bạn không cần phải chuyển tham số này mọi lúc. Bản thân là một thuật ngữ đặc biệt khác của Python. Bên trong bất kỳ phương thức thể hiện nào, bạn có thể sử dụng self để truy cập bất kỳ dữ liệu hoặc phương thức nào có thể nằm trong lớp của bạn. Bạn sẽ không thể truy cập chúng nếu không thông qua bản thân

Cuối cùng, vì các phương thức cá thể là phổ biến nhất nên không cần trình trang trí. Bất kỳ phương thức nào bạn tạo sẽ tự động được tạo dưới dạng phương thức cá thể, trừ khi bạn nói với Python cách khác

Đây là một ví dụ

 class DecoratorExample:
  """ Example Class """
  def __init__(self):
    """ Example Setup """
    print('Hello, World!')
    self.name = 'Decorator_Example'

  def example_function(self):
    """ This method is an instance method! """
    print('I\'m an instance method!')
    print('My name is ' + self.name)

de = DecoratorExample()
de.example_function()

Biến name được truy cập thông qua self. Lưu ý rằng khi hàm_ví_dụ được gọi, bạn không cần phải tự chuyển vào---Python sẽ làm điều này cho bạn

Phương thức tĩnh trong Python

Các phương thức tĩnh là các phương thức có liên quan đến một lớp theo một cách nào đó, nhưng không cần truy cập bất kỳ dữ liệu cụ thể nào của lớp. Bạn không cần phải sử dụng self và thậm chí bạn không cần khởi tạo một thể hiện, bạn chỉ cần gọi phương thức của mình

 class DecoratorExample:
  """ Example Class """
  def __init__(self):
    """ Example Setup """
    print('Hello, World!')

@staticmethod
  def example_function():
    """ This method is a static method! """
    print('I\'m a static method!')

de = DecoratorExample.example_function()

Trình trang trí @staticmethod được sử dụng để nói với Python rằng phương thức này là một phương thức tĩnh

Các phương thức tĩnh rất tốt cho các chức năng tiện ích, thực hiện một tác vụ trong sự cô lập. Họ không cần (và không thể) truy cập dữ liệu lớp học. Chúng phải hoàn toàn độc lập và chỉ hoạt động với dữ liệu được truyền dưới dạng đối số. Bạn có thể sử dụng một phương thức tĩnh để cộng hai số với nhau hoặc in một chuỗi đã cho

Phương thức lớp trong Python

Các phương thức lớp là loại phương thức OOP thứ ba và cuối cùng cần biết. Các phương thức lớp biết về lớp của chúng. Họ không thể truy cập dữ liệu cá thể cụ thể, nhưng họ có thể gọi các phương thức tĩnh khác

Các phương thức lớp không cần self làm đối số, nhưng chúng cần một tham số gọi là cls. Đây là viết tắt của lớp và giống như bản thân, được Python tự động chuyển vào

Các phương thức lớp được tạo bằng trình trang trí @classmethod

 class DecoratorExample:
  """ Example Class """
  def __init__(self):
    """ Example Setup """
    print('Hello, World!')

@classmethod
  def example_function(cls):
    """ This method is a class method! """
    print('I\'m a class method!')
    cls.some_other_function()

@staticmethod
    def some_other_function():
    print('Hello!')

de = DecoratorExample()
de.example_function()

Các phương thức lớp có thể là loại phương thức khó hiểu hơn trong ba loại, nhưng chúng có công dụng của chúng. Các phương thức của lớp có thể tự thao tác với lớp, điều này rất hữu ích khi bạn đang làm việc trên các dự án lớn hơn, phức tạp hơn

Khi nào nên sử dụng từng loại phương pháp

Có vẻ như đây là một quyết định khó khăn và khó khăn khi lựa chọn giữa các loại phương thức trong Python, nhưng bạn sẽ sớm hiểu rõ về nó nếu thực hành một chút

Ngay cả khi bạn chỉ viết các tập lệnh nhỏ cho vui, thì việc học một tính năng OOP khác của Python là một kỹ năng tuyệt vời cần biết và có thể giúp mã của bạn dễ khắc phục sự cố hơn và dễ sử dụng lại hơn trong tương lai

Tóm tắt

  1. Phương thức sơ thẩm. Loại phương pháp phổ biến nhất. Có thể truy cập dữ liệu và thuộc tính duy nhất cho từng phiên bản
  2. Phương thức tĩnh. Không thể truy cập bất cứ thứ gì khác trong lớp. Mã hoàn toàn khép kín
  3. phương pháp lớp. Có thể truy cập các phương thức hạn chế trong lớp. Có thể sửa đổi các chi tiết cụ thể của lớp

Nếu hướng dẫn này hơi nâng cao hoặc không hoàn toàn như những gì bạn đang tìm kiếm, thì tại sao bạn không xem qua các khóa học này để chuyển từ Python mới bắt đầu sang chuyên nghiệp? . Nếu bạn muốn sử dụng Python trong thế giới thực, nhưng lại cảm thấy nhàm chán với Raspberry Pi, thì hướng dẫn của chúng tôi về cách điều khiển Arduino bằng Python thì sao?

Mục đích của phương pháp trong lớp là gì?

Phương thức là một thủ tục được liên kết với một lớp và xác định hành vi của các đối tượng được tạo từ lớp .

Tại sao chúng ta sử dụng phương thức lớp và phương thức tĩnh trong Python?

Các phương thức Tĩnh được sử dụng để thực hiện một số tác vụ tiện ích và các phương thức lớp được sử dụng cho các phương thức xuất xưởng . Các phương thức xuất xưởng có thể trả về các đối tượng lớp cho các trường hợp sử dụng khác nhau.

Mục đích của việc sử dụng các lớp trong Python là gì?

Lớp cung cấp phương tiện kết hợp dữ liệu và chức năng với nhau . Tạo một lớp mới sẽ tạo ra một loại đối tượng mới, cho phép tạo các thể hiện mới của loại đó. Mỗi thể hiện của lớp có thể có các thuộc tính gắn liền với nó để duy trì trạng thái của nó.