Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Khác biệt giữa Method và Function trong Python

Function (Hàm)

Function là khối code thực hiện tác vụ cụ thể, có scope riêng, được gọi bằng tên. Function có thể có 0 hoặc nhiều tham số. Khi thoát, function có thể trả về 1 hoặc nhiều giá trị, hoặc không trả về.

Cú pháp cơ bản

def functionName(arg1, arg2, ...):
    ...
    # Function_body
    ...

Tạo function đơn giản tên sum (user đặt tên tùy ý). Function sum có 2 tham số num1, num2 và trả về tổng. Gọi sum(5, 6) trả về 11.

def sum(num1, num2):
    return (num1 + num2)
>>> sum(5,6)
11

Từ khóa return trả về giá trị từ function Python.

Function cho phép tái sử dụng code. Ba loại function:

  • Built-in functions: có sẵn trong Python, ví dụ help(), max(), type()...
  • User-defined functions: user tự tạo, như function sum trên.
  • Anonymous Functions (Lambda): khác function thường (dùng def), dùng từ khóa lambda.

Method (Phương thức)

Method trong Python tương tự function, trừ việc nó gắn liền với object/class. Method giống function ngoại trừ hai khác biệt lớn:

  • Method được dùng ngầm cho object mà nó được gọi.
  • Method có thể truy cập dữ liệu chứa trong class.

Cú pháp chung Method

class ClassName:
    def method_name():
        ...
        # Method_body
        ...

Ví dụ đơn giản

class Pet(object):
    def my_method(self):
        print("I am a Cat")

cat = Pet()
cat.my_method()
I am a Cat

Định nghĩa class "Pet". Tạo object "cat" từ blueprint này. Gọi custom method my_method với object (cat).

Khác biệt chính giữa Method và Function

  • Khác với function, method được gọi trên một object. Ví dụ gọi method "my_method" trên object "cat", trong khi function "sum" gọi không cần object. Vì method gọi trên object, nó có thể truy cập dữ liệu bên trong object đó.
  • Khác với method có thể thay đổi trạng thái object, Python function thường không làm vậy và thao tác trên dữ liệu.

Tóm lại: Method là function thuộc về một object.