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
sumtrên. - Anonymous Functions (Lambda): khác function thường (dùng
def), dùng từ khóalambda.
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.