Hướng dẫn how many methods in python - có bao nhiêu phương thức trong python

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

3 loại phương pháp 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.instance methods, static methods, and class methods.

Biết được sự khác biệt không phải lúc nào cũng được yêu cầu để mã hóa các tập lệnh Python cơ bản, nhưng một khi bạn tiến vào OOP, sự khác biệt có thể tạo ra một 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 cần phải cài đặt bất cứ thứ gì, thì hãy đảm bảo bạn truy cập các vỏ python tương tác trực tuyến này.

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

Trước khi nhìn vào sự khác biệt, điều quan trọng là phải hiểu một mô hình thiết kế được gọi là mẫu trang trí, hoặc đơn giản là được gọi là một người trang trí.decorator pattern, or simply called a decorator.

Người 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à các chức năng. Bạn có thể tự viết chúng hoặc sử dụng những người có trong thư viện hoặc thư viện tiêu chuẩn Python.

Giống như bất kỳ chức năng, trang trí thực hiện một nhiệm vụ. Sự khác biệt ở đây là các nhà 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 để tái sử dụng mã và có thể giúp tách logic thành các mối quan tâm cá nhân.

Mô hình trang trí là cách xác định các phương pháp tĩnh hoặc lớp ưa thích của Python. Đây là những gì một người 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()

Người trang trí phải ngay lập tức đi trước một chức năng hoặc khai báo lớp học. Chúng bắt đầu với dấu @ và không giống như các phương thức thông thường, bạn không phải đặt dấu ngoặc đơn vào cuối trừ khi bạn chuyển qua các đối số.@ sign, and unlike normal methods, you don't have to put parentheses on the end unless you are passing in arguments.

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

Phương pháp ví dụ trong Python

Phương pháp thể hiện là loại phương pháp phổ biến nhất trong các lớp Python. Chúng được gọi là vì họ có thể truy cập dữ liệu duy nhất trong trường hợp của họ. Nếu bạn có hai đối tượng được tạo từ một lớp xe, 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 khác nhau, kích thước động cơ, chỗ ngồi, v.v.

Phương thức thể hiện phải có bản thân như một tham số, nhưng bạn không cần phải vượt qua điều này mỗi lần. Tự là một thuật ngữ đặc biệt khác của Python. Bên trong bất kỳ phương thức ví dụ nào, bạn có thể sử dụng bản thân để 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 mà không cần phải tự trải qua.self as a parameter, but you don't need to pass this in every time. Self is another Python special term. Inside any instance method, you can use self to access any data or methods that may reside in your class. You won't be able to access them without going through self.

Cuối cùng, vì các phương pháp ví dụ là phổ biến nhất, không cần trang trí. Bất kỳ phương thức nào bạn tạo sẽ tự động được tạo như một phương thức thể hiện, trừ khi bạn nói với Python bằng 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 tên được truy cập thông qua bản thân. Lưu ý rằng khi ASGREE_FUNCTION được gọi, bạn không phải tự vượt qua bản thân --- Python làm điều này cho bạn.name variable is accessed through self. Notice that when example_function is called, you don't have to pass self in---Python does this for you.

Phương pháp tĩnh trong Python

Các phương thức tĩnh là các phương thứ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 bản thân và thậm chí bạn không cần phải khởi tạo một thể hiện, bạn có thể gọi phương thức của mình:self, and you don't even need to instantiate an instance, you can simply call your method:

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

Bộ trang trí @staticmethod đã được sử dụng để nói với Python rằng phương pháp này là một phương pháp tĩnh.@staticmethod decorator was used to tell Python that this method is a static method.

Các phương pháp tĩnh là tuyệt vời cho các chức năng tiện ích, thực hiện một nhiệm vụ trong sự cô lập. Họ không cần (và không thể) truy cập dữ liệu lớp. Chúng nên hoàn toàn khép kín và chỉ làm việc 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 để thêm hai số lại với nhau hoặc in một chuỗi đã cho.

Phương pháp lớp học trong Python

Phương pháp lớp là loại phương pháp OOP thứ ba và cuối cùng để biết. Phương pháp lớp biết về lớp học của họ. Họ không thể truy cập dữ liệu thể hiện 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 bản thân như một đối số, nhưng chúng cần một tham số gọi là CLS. Điều này là viết tắt của lớp học, và giống như bản thân, được Python tự động vượt qua.self as an argument, but they do need a parameter called cls. This stands for class, and like self, gets automatically passed in by Python.

Phương pháp lớp được tạo bằng cách sử dụng bộ trang trí @ClassMethod.@classmethod decorator.

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

Phương pháp lớp có thể là các loại phương pháp khó hiểu hơn của ba, nhưng chúng có cách sử dụng của chúng. Phương pháp lớp có thể thao tác với bản thân lớp, rất hữu ích khi bạn 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 thức

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

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

Tóm tắt:

  1. Phương pháp ví dụ: 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 trường hợp. The most common method type. Able to access data and properties unique to each instance.
  2. Phương pháp tĩnh: Không thể truy cập bất cứ điều gì khác trong lớp. Mã hoàn toàn khép kín. Cannot access anything else in the class. Totally self-contained code.
  3. Phương pháp lớp: Có thể truy cập các phương pháp giới hạn trong lớp. Có thể sửa đổi các chi tiết cụ thể của lớp. Can access limited methods in the class. Can modify class specific details.

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

Các phương pháp trong Python là gì?

Một phương pháp là một hàm mà thuộc về một đối tượng. .a function that “belongs to” an object. (In Python, the term method is not unique to class instances: other object types can have methods as well. For example, list objects have methods called append, insert, remove, sort, and so on.

Một lớp nên có bao nhiêu phương pháp?

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 càng nhiều hàm tạo thay thế khi cần thiết.one __init__ method per class. Using class methods it's possible to add as many alternative constructors as necessary.

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

Trong Python có ba loại phương pháp khác nhau.Phương pháp tĩnh, phương thức lớp và phương thức thể hiện.Mỗi người trong số họ có các đặc điểm khác nhau và nên được sử dụng trong các tình huống khác nhau.

Phương pháp trong OOP là gì?

Một phương pháp trong lập trình hướng đối tượng (OOP) là một quy trình được liên kết với một thông điệp và một đối tượng.Một đối tượng bao gồm dữ liệu trạng thái và hành vi;Chúng tạo ra một giao diện, trong đó chỉ định cách sử dụng đối tượng bởi bất kỳ người tiêu dùng khác nhau nào của nó.Phương pháp là một hành vi của một đối tượng được tham số bởi người tiêu dùng.a procedure associated with a message and an object. An object consists of state data and behavior; these compose an interface, which specifies how the object may be utilized by any of its various consumers. A method is a behavior of an object parametrized by a consumer.