Python Hàm Function

Học lập trình python hoặc với bất kỳ với ngôn ngữ lập trình nào thì bạn cũng thường thấy họ nói về Biến (Variable) Hàm (function), Lớp (Class) hoặc module…vậy hàm trong lập trình python là gì? Bài học hôm nay chúng ta sẽ đi tìm hiểu về hàm (function) trong lập trình python là gì? Cách tạo hàm và cách gọi hàm trong python.

Hàm trong python là gì?

Hàm function trong python là một tập hợp nhiều đoạn mã code dùng để thực hiện một chức năng hay một nhiệm vụ nào đó. Hàm được tạo ra để có thể gọi và tái sử dụng nhiều lần. Bởi vì Hàm có thể tái sử dụng nhiều lần nên nó giúp cho code của bạn ngắn gọn hơn và tiết kiệm được thời gian hơn khi lập trình. Bạn có thể truyền dữ liệu hoặc tham số vào một hàm.

Sau đây là ví dụ về hàm trong python:

Ví dụ

# Hàm trong python
def name_function():
    print("This is demo Function in python")

Cách tạo hàm function trong python.

Trong python sử dụng từ khóa : def để tạo hàm.

Cú pháp tạo hàm trong python như sau:

 

def   name_Function():

      // Viết code và dòng lệnh ở đây

Ví dụ

# Tạo hàm trong python
def name_function():
    print("This is demo Function in python")

Cách gọi hàm function trong python.

Để gọi một hàm trong python, chúng ta gọi tên hàm như sau:

Ví dụ

# Tạo hàm trong python
def name_function():
    print("This is demo Function in python")

# Cách gọi hàm trong python
name_function()

Kết quả :

This is demo Function in python

Hàm có đối số (Arguments) và tham số (Parameters) trong python.

Các thông tin, dữ liệu có thể truyền vào một hàm dưới dạng tham số hoặc đối số.

Tham số (Parameters): là danh sách các biến được truyền vào trong dấu ngoặc đơn của hàm.

Đối số (Arguments): là các giá trị gửi đến hàm khi nó được gọi.

Ví dụ

# Đối số (Argument) và tham số (tham số) của hàm trong python.
def phep_cong(a,b):
    x = a + b
    print("Demo1 goi ham trong python. Gia tri cua ham la:",x)
phep_cong(1,5)

Kết quả :

Demo1 goi ham co tham so trong python. Gia tri cua ham la: 6

Số của đối số (Arguments) của hàm trong python.

Bởi mặc định, một hàm phải được gọi chính xác với số đối số. Có nghĩa là nếu hàm của bạn đã tạo có 2 đối số (arguments) thì khi gọi hàm bạn phải gọi hàm đó với 2 đối số, không được nhiều hơn hoặc ít hơn.

Ví dụ Chúng ta định nghĩa một hàm có 2 đối số (arguments) sau:

Ví dụ

# Đối số (Argument) và tham số (tham số) của hàm trong python.
def phep_cong(a,b):
    x = a + b
    print("Demo1 goi ham co tham so trong python. Gia tri cua ham la:",x)
phep_cong(1,2)

Kết quả :

Demo1 goi ham co tham so trong python. Gia tri cua ham la: 3

Nếu bạn gọi hàm truyền vào 2 đối số thì ok, nhưng nếu bạn truyền vào nhiều hơn hoặc ít hơn 2 đối số thì sẽ có lỗi.

Ví dụ

# Đối số (Argument) và tham số (tham số) của hàm trong python.
def phep_cong(a,b):
    x = a + b
    print("Demo1 goi ham co tham trong python. Gia tri cua ham la:",x)
phep_cong(1)    # Sẽ có lỗi ở đây, bởi vì hàm phep_cong() trước đó có 2 tham số nhưng khi truyền vào 1 giá trị.

Kết quả có lỗi sau :

phep_cong() missing 1 required positional argument: 'b'

Hàm return trả về giá trị trong python.

Ví dụ dưới đây là cách sử dụng return của hàm trong python.

Ví dụ

# Ham return trả về giá trị  trong python
def phep_cong(a,b):
    x = a + b
    return x
# Gọi hàm có giá trị trả về  
y = phep_cong(9,1)
print("Demo2 goi ham trong python. Gia tri cua ham la:", y)

Kết quả :

Demo2 goi ham trong python. Gia tri cua ham la: 10

Cách truyền đối số có giá trị là một list trong python .

Ví dụ

def F_list_fruist(l_fruits):
    print(l_fruits)

fruits = ["Apple","Mango","Guava","Lemon","Cherry"]
F_list_fruist(fruits)

Kết quả :

['Apple', 'Mango', 'Guava', 'Lemon', 'Cherry']

Hàm sử dụng đối số bất kỳ:  Arbitrary Argument *args

Nếu bạn không biết có bao nhiêu đối số được truyền vào hàm của mình, thì bạn hãy thêm dấu * vào trước tên tham số trong định nghĩa hàm.

Với cách này hàm sẽ trả về 1 tuple của các đối số và sau đó bạn có thể truy cập đến các phần tử.

Ví dụ

# Ví dụ:Nếu không biết hàm có bao nhiêu đối số truyền thì hãy thêm dấu * trước tên tham số.
def my_function(*foods):
    print("The good food is : ", foods[3])

my_function("Apple","Mango","Lemon","Cherry")

Kết quả :

The good food is :  Cherry

Hàm sử dụng keyword đối số bất kỳ:  Arbitrary Keyword Argument **Kwargs

Nếu bạn không biết có bao nhiêu keyword của đối số (arguments) truyền vào hàm thì bạn hãy thêm dấu ** vào trước tên tham số trong định nghĩa hàm. Với cách này hàm sẽ nhận một dictionary của các đối số và có thể truy cập đến các phần tử.

Ví dụ

# Hàm truyền đối số là các keyword bất kỳ
def my_function(**cars):
    print("The car is : ", cars["car_color"])

my_function(car_name = "Honda", car_color="Red")

Kết quả :

The car is :  Red