Hàm Python có luôn trả về giá trị không?

Để lấy giá trị từ một hàm trong bất kỳ ngôn ngữ lập trình nào, chúng ta sử dụng câu lệnh return[]. Tương tự như vậy, trong Python, câu lệnh return[] được sử dụng để thoát khỏi một hàm và trả về một giá trị từ một hàm. Trong hướng dẫn này, chúng ta sẽ đọc về nhiều cách khác nhau để sử dụng các câu lệnh return[] trong Python

Mục lục

  1. Giới thiệu về câu lệnh return[]
  2. Trả về nhiều giá trị trong Python
  3. Đối số trong hàm return[]
  4. Hàm trả về một hàm khác
  5. Bớt tư tưởng

trả về [] trong Python

Câu lệnh return[], giống như trong các ngôn ngữ lập trình khác, kết thúc lời gọi hàm và trả về kết quả cho người gọi. Nó là một thành phần quan trọng trong bất kỳ hàm hoặc phương thức nào trong mã bao gồm từ khóa trả về và giá trị sẽ được trả về sau đó
Một số điểm cần nhớ khi sử dụng return[]

  • Các câu lệnh sau câu lệnh return[] không được thực thi
  • không thể sử dụng câu lệnh return[] bên ngoài chức năng
  • Nếu câu lệnh return[] không có bất kỳ biểu thức nào, thì giá trị NONE được trả về

Cú pháp return[] trong Python


        def func_name[]:
        statements....


        return [expression]
    

Sử dụng câu lệnh return[] để trả về nhiều giá trị trong Python

Python cũng cung cấp tùy chọn trả về nhiều giá trị từ một hàm và để làm điều đó, người dùng chỉ cần thêm nhiều giá trị trả về được phân tách bằng dấu phẩy. Còn được gọi là một tuple, có thể được tạo có hoặc không sử dụng dấu []

Đầu vào


        def statFun[a, b]:
        difference = a-b
        percent_diff = [difference/a]*100
        return difference, percent_diff;


        difference, percent_diff = statFun[]
        print [difference]
        print [percent_diff]
    

Ở đây, hàm statFun[] cung cấp cho các giá trị và bằng cách sử dụng tuple, chúng tôi trả về cả hai giá trị

đầu ra


        8
        20
    

return[] trong Python với một đối số

Trong Python, các đối số có thể được sử dụng với câu lệnh trả về. Để bắt đầu, đối số là tham số do người dùng cung cấp và như chúng ta biết, đối số là [các] giá trị đầu vào do người dùng cung cấp cho hàm

Đầu vào


        def divNum[a, b]:
            if b != 0
                return a/b;
        else:
            return 0;

        print [divNum[4, 2]]
        print [divNum[2, 0]] 
    

Ở đây, hàm divNum[] chấp nhận hai đối số và nếu đối số thứ hai khác 0, nó sẽ chia chúng nếu không trả về 0

đầu ra


        2
        0
    

Hàm trả về một hàm khác trong Python

Như chúng ta đã biết, các hàm được coi là đối tượng hạng nhất trong Python, do đó chúng ta có thể trả về một hàm từ một hàm khác. Đối tượng hạng nhất là một đối tượng có thể được gán cho một biến, được truyền dưới dạng đối số cho hàm hoặc được sử dụng làm giá trị trả về trong hàm
Một hàm lấy một hàm làm đối số, trả về một hàm dưới dạng kết quả hoặc cả hai được gọi là hàm bậc cao hơn

Đầu vào


        def func_1[a]:
            def func_2[b]:
                return a-b
            return func_2

        x = func_1[100]
        print ["The value of a-b is", x[50]]

        def another_func[a]:
            return a*10

        def func[]:
            return another_func

        y = func[]
        print ["\nThe value of a*b is" y[10]]
    

đầu ra


        The value of a-b is 50
        The value of a*b is 100
    

Bớt tư tưởng

Câu lệnh return gửi bất kỳ đối tượng nào từ hàm trở lại mã người gọi. Vì câu lệnh return là một phần quan trọng của bất kỳ hàm hoặc phương thức nào, nếu bạn học cách sử dụng nó đúng cách, bạn có thể chuyển sang các mã phức tạp. Mọi người có thể tìm hiểu thêm về các khái niệm Python tại đây

Không giống như các ngôn ngữ lập trình khác, hàm python không bị hạn chế trả về một loại giá trị duy nhất. Nếu bạn nhìn vào định nghĩa hàm, nó không có bất kỳ thông tin nào về những gì nó có thể trả về

Hãy xem một ví dụ trong đó hàm sẽ trả về nhiều loại giá trị

def get_demo_data[object_type]:
    if 'str' == object_type:
        return 'test'
    elif 'tuple' == object_type:
        return [1, 2, 3]
    elif 'list' == object_type:
        return [1, 2, 3]
    elif 'dict' == object_type:
        return {"1": 1, "2": 2, "3": 3}
    else:
        return None

Trả về nhiều giá trị trong một câu lệnh return

Chúng ta có thể trả về nhiều giá trị từ một câu lệnh return. Các giá trị này được phân tách bằng dấu phẩy và được trả về dưới dạng một bộ cho chương trình người gọi

________số 8_______

đầu ra

[1, 2, 3]

Python trả về nhiều giá trị

Câu lệnh trả về Python với khối cuối cùng

Khi câu lệnh return được thực thi bên trong khối try-ngoại trừ, mã khối cuối cùng được thực thi trước khi trả lại giá trị cho người gọi

def hello[]:
    try:
        return 'hello try'
    finally:
        print['finally block']


def hello_new[]:
    try:
        raise TypeError
    except TypeError as te:
        return 'hello except'
    finally:
        print['finally block']


print[hello[]]
print[hello_new[]]

đầu ra

finally block
hello try
finally block
hello except

Nếu khối cuối cùng có câu lệnh trả về, thì câu lệnh trả về trước đó sẽ bị bỏ qua và giá trị từ khối cuối cùng được trả về

Hàm có luôn trả về một giá trị không?

Một số hàm không trả về giá trị quan trọng, nhưng một số hàm khác thì có . Điều quan trọng là phải hiểu giá trị của chúng là gì, cách sử dụng chúng trong mã của bạn và cách làm cho các hàm trả về các giá trị hữu ích.

Nếu hàm Python không trả về giá trị thì sao?

Nếu một hàm không chỉ định giá trị trả về, hàm sẽ trả về Không . Trong câu lệnh điều kiện if/then, Không có giá trị nào là Sai.

Chủ Đề