Tìm hiểu về lệnh return trong Python

103

Lệnh return là một thành phần cơ bản không thể thiếu trong Python cũng như nhiều ngôn ngữ lập trình khác, giúp hoàn thiện tính năng của một hàm. Tuy đơn giản nhưng để sử dụng return trong hàm một cách tối ưu thì không phải ai cũng nắm rõ được, nhất là với những bạn mới học Python. Bài viết hôm nay chúng ta cùng tìm hiểu về hàm return Python và các cách sử dụng lệnh này nhé.

Lệnh return trong Python

Lệnh return trong Python được sử dụng để thoát khỏi hàm và trở về điểm gọi của hàm đó; cho phép gửi kết quả của hàm trở lại điểm gọi. Lệnh return bao gồm một keyword return và theo sau là giá trị cần trả về của hàm. 

Cú pháp lệnh return:

return [object]

Trong đó, object là một đối tượng bất kỳ, có thể là số (number), chuỗi (string), list, tuple, hàm, lớp (class). Chúng ta cùng xem ví dụ dưới đây:

def return_by_type(type):
  if type == "number":
    return 10
  elif type == "string":
    return "Hello"
  elif type == "list":
    return [1, 2, 3]
  elif type == "tuple":
    return (1, "A", [2, 3])    

print(return_by_type("number")) # 10
print(return_by_type("string")) # Hello
print(return_by_type("list")) # [1, 2, 3]
print(return_by_type("tuple")) # (1, "A", [2, 3])

Lưu ý khi sử dụng lệnh return:

  • Lệnh return chỉ sử dụng được ở trong hàm, nếu sử dụng ở ngoài hàm thì chương trình Python sẽ trả về lỗi: SyntaxError: ‘return’ outside function
  • Lệnh return phải được kèm theo sau là giá trị trả về, không thể khai báo return trống, chương trình sẽ trả ra lỗi: SyntaxError: invalid syntax
  • Một hàm có thể chứa nhiều từ khóa return để trả về các giá trị các khác tùy theo logic; hoặc có thể không chứa một lệnh return nào.

Các loại return trong Python

1. Lệnh return có trả về giá trị

Đây là trường hợp cơ bản nhất của lệnh return với việc trả về một giá trị xác định. 

def cong_hai_so(so_thu_nhat, so_thu_hai):
    ket_qua = so_thu_nhat + so_thu_hai
    return ket_qua
    print("Kết thúc hàm") # Không được thực thi
print(cong_hai_so(8, 18)) # 26

Ví dụ trên, hàm thực hiện việc cộng hai số. Giá trị tính toán ở biến ket_qua và được trả về qua câu lệnh return. Lưu ý là các đoạn lệnh nằm sau câu return sẽ không được chương trình thực hiện, cụ thể như câu print(“Kết thúc hàm”) ở trên.

2. Lệnh return không có giá trị trả về

Một hàm có thể không có lệnh return được triển khai, lúc này mặc định Python sẽ trả về giá trị None.

def ham_khong_return():
    print("Hàm không return")

ket_qua = ham_khong_return()
print(ket_qua)  # None

Giá trị None trong Python là một giá trị đặc biệt được sử dụng để biểu thị “không có giá trị” hay “không có gì”; nó tương tự như giá trị Null trong nhiều ngôn ngữ lập trình khác. Hàm không có lệnh return còn được gọi là hàm không có kết quả trả về hay hàm thủ tục.

  Def trong Python và cách sử dụng

  Hàm trong Python - Cú pháp và một số hàm phổ biến

3. Hàm có nhiều lệnh return

Chúng ta có thể sử dụng nhiều lệnh return trong hàm với việc kết hợp các câu điều kiện if/ else hay match/ case. Tùy vào logic của hàm thực hiện, khi chương trình gặp câu lệnh return sẽ kết thúc ngay hàm và trả kết quả về tương ứng. Các câu lệnh sau sẽ không được thực hiện giúp tránh việc xử lý code dư thừa.

def kiem_tra_dau(x):
    if x > 0:
        return "Số dương"
    elif x < 0:
        return "Số âm"
    else:
        return "Số 0"

print(kiem_tra_dau(5))  # Số dương
print(kiem_tra_dau(-5))  # Số âm
print(kiem_tra_dau(0))  # Số 0

Tuyển dụng Python mọi cấp độ tại đây!

Lệnh return trả về nhiều giá trị

Trong Python, cơ chế unpack object giúp cho một hàm có khả năng trả về nhiều giá trị cùng một lúc. Sử dụng lệnh return để trả ra nhiều giá trị ngăn cách nhau bởi dấu “,”, khi nhận kết quả trả về từ lời gọi hàm, chúng ta dùng cơ chế tương tự để lấy ra giá trị tương ứng.

def tinh_chu_vi_va_dien_tich(chieu_rong, chieu_dai):
    chu_vi = (chieu_rong + chieu_dai) * 2
    dien_tich = chieu_rong * chieu_dai
    return chu_vi, dien_tich

hcn_rong = 3
hcn_dai = 9
hcn_chu_vi, hcn_dien_tich = tinh_chu_vi_va_dien_tich(hcn_rong, hcn_dai)

print(hcn_chu_vi, hcn_dien_tich) # 24 27

Ở ví dụ trên, hàm có nhiệm vụ tính cả chu vi và diện tích của hình chữ nhật, lệnh return sử dụng để trả về cả 2 giá trị này trong 1 câu lệnh; điều này có thể giúp code của chúng ta ngắn gọn hơn trong nhiều trường hợp.

Kết bài

Qua bài viết này, hy vọng các bạn đã nắm rõ được về lệnh return trong Python cùng các trường hợp triển khai source code sử dụng return một cách hiệu quả nhất. Return giá trị hàm trong Python tuy đơn giản nhưng sẽ giúp bạn tối ưu được mã nguồn và cải thiện logic chương trình của mình. Cảm ơn các bạn đã đọc bài và hẹn gặp lại trong các bài viết tiếp theo của mình.

Tác giả: Phạm Minh Khoa

Xem thêm:

Xem thêm việc làm công nghệ hấp dẫn trên TopDev