Hàm trong Python là gì?

Python cung cấp nhiều các hàm dựng sẵn (built-in-function), ngoài ra ta có thể tự định nghĩa các hàm của riêng mình. Những hàm này còn được gọi là user-defined function.

  • Hàm sau khi được định nghĩa sẽ không tự thực thi.
  • Hàm chỉ thực thi khi được gọi đến.

Chú ý!

Khi định nghĩa hàm ta nên đặt tên hàm là một động từ, vì hàm thể hiện một hành động, một tác vụ của chương trình.

Một số quy tắc khi định nghĩa hàm trong Python


Trong Python, chúng ta định nghĩa hàm theo quy tắc sau:

  • Định nghĩa hàm sẽ bắt đầu với từ khóa def, sau đó là tên hàm và cặp dấu ngoặc ( )
  • Cặp dấu ( ) sẽ chứa các tham số của hàm (nếu có)
  • Câu lệnh đầu tiên của hàm có thể là một lệnh tùy chọn, để mô tả về hàm (còn gọi là docstring)
  • Thân của hàm sẽ bắt đầu với một dấu : và được thụt lề.
  • Lệnh return dùng để thoát ra khỏi hàm, và trả lại giá trị từ hàm.

Cú pháp định nghĩa hàm trong Python


Ta sử dụng Cú pháp như sau để định nghĩa hàm trong Python:

Hàm trong Python là gì?

Cú pháp (Syntax) định nghĩa hàm trong Python

 

Ví dụ định nghĩa hàm:

Ở đây ta đã định nghĩa ra một hàm có tên là my_function().

Hàm này chỉ đơn giản in ra một chuỗi.

Sau đó ta gọi hàm vừa tạo:

      print("Hello from a Function")


Hướng dẫn sử dụng tham số với hàm trong Python


Hàm có thể có các tham số.

Tham số cho phép thay đổi nội dung bên trong hàm, làm cho hàm trở nên linh hoạt hơn, động hơn.

Hàm có thể trả về kết quả khác nhau dựa trên giá trị truyền vào của tham số khác nhau.

Chú ý!

Khi định nghĩa hàm, ta khai báo bao nhiêu tham số, thì khi gọi hàm, ta cần truyền bấy nhiêu giá trị vào hàm.

Ví dụ: Ở đây ta định nghĩa một hàm add() cho phép tính tổng của hai số được truyền từ bên ngoài vào hàm. Sau đó ta nhập hai số vào từ bàn phím, rồi gọi hàm vừa tạo.

# Nhập 2 số vào từ bàn phím

x = int(input("Nhập số thứ nhất:"))

y = int(input("Nhập số thứ hai:"))

# Gọi hàm add() vừa được định nghĩa ở trên

# In ra tổng vừa tính được

print("Tổng là: " + str(tong))

> Lưu ý: Trong python, bạn muốn nối giá trị thì phải chúng phải cùng kiểu. Vì thế chúng ta phải chuyển tong thành  str


Sau khi đã viết mã xong, ta sẽ thực thi hàm vừa tạo.

Ta sẽ thấy chương trình hiển thị kết quả đúng như mong muốn.

Cách truyền tham số có giá trị mặc định trong Python


Khi định nghĩa hàm, ta có thể gán giá trị mặc định cho tham số.

Khi gọi hàm, nếu ta không truyền giá trị cho tham số, thì tham số sẽ tự động được gán giá trị mặc định.

Nếu ta có truyền giá trị cho tham số, thì tham số sẽ chứa giá trị được truyền.

Ta truyền giá trị mặc định cho tham số sẽ có lợi, khi ta quên truyền giá trị cho tham số thì sẽ không bị lỗi.

Ví dụ dưới đây có định nghĩa một hàm, có một tham số là country, đồng thời ta truyền giá trị mặc định cho tham số vừa tạo là "( )0.


def my_function(country = "Norway"):

      print("I am from " + country)




Kết quả sau khi gọi hàm có truyền đối số hoặc không truyền đối số:


Để trả về một giá trị từ hàm, ta sử dụng lệnh return.

Lệnh return còn được dùng để thoát ra khỏi hàm, lúc này điều khiển của chương trình sẽ quay về nơi gọi hàm.

Trong ví dụ dưới đây, ta đã định nghĩa hàm ( )3, có một tham số ( )4. Hàm này trả về tích của ( )5.

Sau đó ta gọi hàm vừa tạo.

Kết quả được hiển thị như bên dưới:

Chúc mừng bạn đã biết thêm về Function trong Python


Như vậy là qua bài này bạn đã hiểu về cách tạo Function (hàm) trong Python, cách truyền tham số, gọi hàm và sử dụng tham số mặc định trong Python.

Hàm là xương sống của bất kỳ ngôn ngữ lập trình nào. Chúng ta sẽ sử dụng hàm liên tục trong quá trình HỌC PYTHON.

Hi every body! Ở bài trước thì mình có giới thiệu cũng như ví dụ demo về biến và cấu trúc rẽ nhánh trong Python (ai chưa xem thì có thể xem lại tại đây). Và như thường lệ để tiếp tục với loạt bài tìm hiểu về Python hôm nay, chúng ta sẽ đi tìm hiểu về functions (sau này mình xin phép được gọi bằng ngôn ngữ quen thuộc của chúng ta là "hàm" nhé) trong Python cũng như một số ứng dụng của nó.

Khái niệm

Trước hết thì mình có tìm thấy khái niệm về hàm bằng tiếng anh như sau:

A function is a block of code which only runs when it is called. We can pass data, known as parameters, into a function. A function can return data as a result.

Và sau khi dùng tran-sờ-lết của chị google thì mình đã có được kết quả là:
Hàm là một khối các câu lệnh mà chỉ được thực thi khi nó được gọi đến. Chúng ta có thể đưa dữ liệu vào trong hàm như là tham số của hàm đó. Và một hàm có thể trả về dữ liệu như là kết quả.
Trông có vẻ hơi khó hiểu đúng không nào? Các bạn đừng quá lo lắng, hãy xem tiếp những phần dưới đây và các bạn sẽ thấy hàm cũng không khó lắm đâu

Hàm trong Python là gì?

Hàm trong Python

Cú pháp

Để tạo một hàm trong Python thì các bạn cần sử dụng từ khóa def. Cú pháp khai báo và định nghĩa một hàm như sau:

def nameOfFunction ([listOfParameters]):
    enter your code here
    
    [return theReturnValue]

Hàm không có tham số và giá trị trả về.

def printHelloWorld ():
    print("Hello World!")
# Khi sử dụng chỉ cần gọi tên hàm là được: printHelloWorld()

Trong ví dụ trên mình tạo một hàm in ra dòng "Hello World!". Hàm này mình không dùng danh sách tham số cũng như không cấp giá trị trả về cho nó. Và như vậy, sau này mỗi khi mình muốn in ra "HelloWorld!" nhưng lười gõ thì mình chỉ việc gọi printHelloWorld() bao nhiêu lần tùy thích mà thôi.

Hàm có tham số và giá trị trả về.

def findGreaterNumber(a, b):
	if a > b:
		return a
	else:
		return b

print(findGreaterNumber(5, 7))
print(findGreaterNumber(9, 3))

Lưu vào file demo.py và thực thi ta sẽ có kết quả như sau:

Hàm trong Python là gì?

Hàm có tham số với giá trị mặc định

Các bạn cũng có thể đưa một List vào như là một tham số của hàm đó:

def printElementOfList(yourList = []):
	if len(yourList):
		for element in yourList:
			print(element)
	else:
		print("There are not element in this list")

yourList = ["element 1", "element 2", "element 3"]

printElementOfList(yourList)
printElementOfList()

Và đây là kết quả:

Hàm trong Python là gì?

Bài tập áp dụng

Sau đây mình sẽ áp dụng những hiểu biết về hàm để viết một chương trình đơn giản dùng để tính tổng, hiệu, tích, thương của 2 số nhập vào từ bàn phím.

Def là hàm gì?

Về cơ bản, một định nghĩa hàm Python sẽ bao gồm các thành phần sau: Từ khóa def: Đánh dấu sự bắt đầu của tiêu đề hàm. ten_ham: Là định danh duy nhất dành cho hàm. Việc đặt tên hàm phải tuân thủ theo quy tắc viết tên và định danh trong Python.

Return trong Python nghĩa là gì?

Lệnh return trong Python thường được dùng để thoát hàm và trở về nơi mà tại đó hàm được gọi. Lệnh Return là một câu lệnh đặc biệt mà bạn có thể sử dụng bên trong một hàm hoặc một phương thức để gửi kết quả của hàm về điểm gọi. Lệnh return bao gồm một keyword return và theo sau bởi giá trị trả về.

Hàm được sử dụng để làm gì?

Function (Hàm) một tập hợp những đoạn mã dùng để thực hiện một nhiệm vụ nào đó. Nó có thể được gọi và tái sử dụng nhiều lần. Bạn có thể chuyển thông tin vào một hàm. Đồng thời, nó cũng có thể gửi trả thông tin trở lại.

Python được gọi là gì?

Python là một ngôn ngữ lập trình được sử dụng rộng rãi trong các ứng dụng web, phát triển phần mềm, khoa học dữ liệu và máy học (ML). Các nhà phát triển sử dụng Python vì nó hiệu quả, dễ học và có thể chạy trên nhiều nền tảng khác nhau.