Phân Biệt Hàm Và Phương Thức Trong Python - DAINGANXANH
Có thể bạn quan tâm
Hàm hay phương thức trong Python đều là một khối lệnh được viết để thực hiện một công việc nào đó. Khi cần xử lý công việc thì chỉ cần gọi hàm hay phương thức đó ra để thực thi. Ví dụ một chương trình đơn giản sau đây có sử dụng cả hàm, cả phương thức:
s = 'Gửi gió cho mây ngàn bay' s = s.upper() x = len(s) print(s) print(x)Trong ví dụ trên đây có sử dụng các hàm: len(), print() và phương thức upper().
Để phân biệt hàm và phương thức, ta cùng tiềm hiểu các khái niệm của chúng:
Hàm trong Python (Python Functions)
Hàm là một nhóm các lệnh có liên quan đến nhau được dùng để thực hiện một tác vụ, nhiệm vụ cụ thể nào đó. Hàm giúp chia chương trình Python thành những phần nhỏ hơn – giúp chương trình có tổ chức và dễ quản lý hơn.Hàm còn có một tác dụng vô cùng quan trọng nữa là tránh việc phải lặp lại code để thực thi những tác vụ tương tự nhau, giúp code gọn hơn và có thể tái sử dụng.
Hàm Python được khởi tạo bởi từ khóa def, được phần chia thành 2 loại: các hàm dựng sẵn (built-in) và hàm do người dùng định nghĩa (user-defined).
Hàm người dùng tự định nghĩa (User-Defined Functions)
Giống như bất kỳ ngôn ngữ lập trình nào khác, Python cho phép chúng ta xác định các hàm của riêng mình. Hãy lấy một ví dụ:
def cong(a, b): c = a + b return c x = cong(4, 5) print(x)Chương trình trên sẽ có output là 9.
Chúng ta gọi hàm ‘cong()’ và truyền vào 2 tham số a, b; với a = 4 và b = 5. Hàm cong sẽ trả về (return) kết quả a + b .
Sau khi đã được định nghĩa, hàm có thể được gọi bất cứ vị trí nào trong chương trình mà không phải viết lại những dòng lệnh trong hàm.
Hàm dựng sẵn (Build-in function)
Trong Python 3.9.7 có 69 hàm dựng sẵn (xem tại đây). Đây là những hàm mà Python cung cấp sẵn cho chúng ta trong đó có một số hàm được sử dụng thường xuyên khi làm việc với Python như print(), input(), int(), float(),…
Chúng ta hãy xem xét một chương trình sử dụng một số trong số này.
def viduham(a,b): """ //This function is to demonstrate a few built-in functions in Python """ print("Begin") print(max(a,b)) print(abs(a),abs(b)) print(float(a),b) print(callable(a)) print(hash(a),hash(b)) print(len('ab')) print(type(a)) for i in range(2,4): print(i) viduham(2,3)Ta sẽ được ouput:
Begin32 32.0 3False2 3223Phương thức trong Python (Python Methods)
Các phương thức là các hàm được định nghĩa bên trong phần thân của một lớp. Chúng được sử dụng để xác định các hành vi của một đối tượng. Phương thức có thể trả về hoặc không trả về dữ liệu.
Ta gọi một phương thức trên một đối tượng và nó có thể thực hiện các tác động đến đối với đối tượng đó.
Xét ví dụ sau:
class robot: def __init__(self,name,madein): self.name = name self.madein = madein def chao(self): print(f'Xin chào, tôi là robot {self.name}') def xuatxu(self): print(f"Tôi đến từ {self.madein}") def cong(self,a,b): return a+b rb = robot('Rồng vàng', 'Việt Nam') rb2 = robot('Bò tót', 'Tây Ban Nha') rb.chao() rb.xuatxu() rb2.chao() x = rb.cong(2, 3) print(x)Dòng 14 in ra: Xin chào, tôi là robot Rồng vàngDòng 15 in ra: Tôi đến từ Việt NamDòng 16 in ra; Xin chào, tôi là robot Bò tótDòng 18 in ra: 5
Ở chương trình trên, đầu tiên ta định nghĩa lớp ‘robot’. Sau đó, ta tạo đối tượng ‘rb’ và ‘rb2’. Ở đây, init () là một phương thức đóng vai trò khởi tạo cho lớp. Phương thức chao() và xuatxu() cho phép chúng ta làm những gì chúng ta muốn. Lưu ý rằng phương thức Python phải có tham số ‘self’ để cho phép chúng tham chiếu đến đối tượng hiện tại.
Khác nhau giữa phương thức và hàm trong Python
Phương thức trong Python được gọi trên một đối tượng, không giống như một hàm. Trong ví dụ ở trên, ta gọi chao() trên đối tượng ‘rb’, ‘rb2’. Ngược lại, với hàm ta không gọi nó trên bất kỳ đối tượng nào mà chỉ cần gọi theo tên hàm.
Về cú pháp,
Hàm chỉ cần gọi theo tên hàm theo cú pháp: <tên hàm>(<ts>). Ví dụ: cong(2, 3)
Phương thức phải được trỏ đến đối tượng khi gọi bằng cú pháp <đối tượng>.<phương thức>(<ts>). Ví dụ: rb.cong(2, 3), rb.chao()
(ts là tham số nếu có)
Từ khóa » Các Loại Hàm Trong Python
-
Hàm Trong Python Là Gì? Các Hàm Trong Python
-
Các Hàm Python Tích Hợp Sẵn
-
Hàm Trong Python | TopDev
-
Hàm Trong Python - Học Lập Trình Python - Viettuts
-
Hàm Trong Python Là Gì?
-
Hàm (function) Và Cách Xây Dựng Hàm Trong Python - Góc Học IT
-
Def Trong Python Và Cú Pháp Tạo Hàm
-
Hàm Trong Python Là Gì
-
Bỏ Túi Kiến Thức Về Hàm Trong Python
-
Hàm Trong Python Là Gì? - Vay Tiền Online Bằng CMND
-
Function (hàm) Trong Python | Tự Học ICT
-
Khái Niệm Về Hàm Trong Python - TEK4
-
Hàm Trong Python Với Những Ví Dụ Dễ Hiểu - Lanit
-
Hướng Dẫn Và Ví Dụ Python Function - Openplanning