Chúng ta có thể sử dụng return trong câu lệnh if Python 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 được đ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

Đây chỉ là một bài viết khác trong loạt Hàm trong Python. Hôm nay chúng ta sẽ nói về câu lệnh return

Nếu bạn chưa đọc hai phần trước, vui lòng làm như vậy. Họ đây rồi

1] Giới thiệu về Chức năng

2] Các hàm có tham số

Mục lục

Các chức năng DO Something

Trong tất cả các ví dụ ở các phần trước của loạt bài về hàm, các hàm đã làm một việc gì đó [như in một số văn bản], nhưng chúng không trả về bất kỳ thứ gì. Hãy xem lại hàm inch_to_cm của chúng ta

def inch_to_cm[inches]:
    print["{} inches = {} centimeters".format[inches, inches * 2.54]]

Chức năng này chỉ in một tin nhắn. Nhưng chúng ta không thể sử dụng kết quả trong tính toán hoặc nhúng nó vào một chuỗi chẳng hạn, vì kết quả không được trả về

Một tính năng rất hay của các hàm là chúng có thể trả về một số giá trị. Bằng cách này, chúng ta có thể sử dụng các hàm trong biểu thức

Tìm hiểu cách tạo các ứng dụng GUI đẹp mắt

bằng Python sử dụng khung Kivy

Toàn diện, dành cho người mới bắt đầu Kivy, dễ làm theo

Tải sách tại đây [PDF] hoặc trên Amazon.

sách điện tử / bìa mềm [đen trắng] / paperback [full color]

Các chức năng TRẢ LẠI một cái gì đó

Hãy sửa đổi hàm inch_to_cm của chúng ta để nó không in thông báo mà thay vào đó trả về một giá trị

________số 8_______

Bây giờ, hàm trả về một số float, vì vậy nó có thể được sử dụng ở bất cứ đâu có thể có số float. Vài ví dụ

print["The diagonal is 52 inches, which is equal to {} cm.".format[inch_to_cm[52]]]

Đây là đầu ra

The diagonal is 52 inches, which is equal to 132.08 cm.

Hoặc một ví dụ khác

size = int[input["What diagonal in inches do you need? "]]

if size > 100:
    print["Our maximum size is 100 inches, which is 254 cm."]
else:
    print["OK, looks like it's {} cm.".format[inch_to_cm[size]]]

Một đầu ra có thể

What diagonal in inches do you need? 50
OK, looks like it's 127.0 cm.

Hoặc một đầu ra có thể khác

What diagonal in inches do you need? 125
Our maximum size is 100 inches, which is 254 cm.OK, looks like it's 50.8 cm.

Tạp chí Panda3D của bạn

Tạo các trò chơi tuyệt vời và các ứng dụng 3D khác

với Panda3D và Blender bằng Python

Nội dung hay, bài viết dễ theo dõi

Tải tạp chí tại đây [PDF].

Các hàm trả về nhiều giá trị

Một hàm có thể trả về chính xác một đối tượng, nhưng nó không nhất thiết phải là một đối tượng đơn giản như chuỗi, int hoặc float. Nó cũng có thể là một danh sách, bộ dữ liệu hoặc từ điển. Chúng ta có thể sử dụng tính năng này để làm cho hàm gián tiếp trả về nhiều giá trị. Giả sử chúng ta cần một hàm lấy danh sách các số làm tham số và trả về giá trị nhỏ nhất, lớn nhất và trung bình của tất cả các số. Chúng tôi sẽ làm điều đó theo hai cách

– Đầu tiên, hãy làm cho hàm trả về 3-tuple

def stats[numbers]:
    minimum = min[numbers]
    maximum = max[numbers]
    average = sum[numbers] / len[numbers]
    return [minimum, average, maximum]

print[stats[[1, 3, 7, 5]]]

Và đầu ra là

[1, 4.0, 7]

– Và bây giờ hãy làm cho hàm trả về một từ điển

def stats[numbers]:
    minimum = min[numbers]
    maximum = max[numbers]
    average = sum[numbers] / len[numbers]
    return {"min" : minimum, "average" : average, "max" : maximum}

print[stats[[1, 3, 7, 5]]]

Đây là đầu ra

def inch_to_cm[inches]:
    return inches * 2.54
0

Chúng ta có thể kiểm tra loại dữ liệu được trả về bằng cách sử dụng hàm type

def inch_to_cm[inches]:
    return inches * 2.54
1

Và kết quả là

def inch_to_cm[inches]:
    return inches * 2.54
2

Nếu chúng ta chỉ chuyển số liệu thống kê cho hàm loại

def inch_to_cm[inches]:
    return inches * 2.54
3

chúng tôi sẽ nhận được

def inch_to_cm[inches]:
    return inches * 2.54
4

Khóa học khởi động Python

Tìm hiểu kiến ​​thức cơ bản về Python, bao gồm OOP

với rất nhiều bài tập, dễ làm theo

Khóa học hiện có trên Udemy.

Bốn trường hợp có thể xảy ra với câu lệnh return

Đối với câu lệnh return, chúng ta có thể có bốn tình huống

1] Không có câu trả lời

Trong trường hợp như vậy, hàm kết thúc sau khi câu lệnh cuối cùng trong thân hàm được thực thi. Hàm trả về một giá trị đặc biệt Không có

2] Có một câu lệnh return theo sau là một biểu thức

Trong trường hợp như vậy, câu lệnh return kết thúc việc thực thi hàm. Hàm trả về giá trị của biểu thức theo từ khóa return

3] Có một câu lệnh return nhưng không có biểu thức theo sau nó

Trong trường hợp này, hàm kết thúc và trả về giá trị đặc biệt Không có

4] Có nhiều hơn một câu lệnh return

Trong trường hợp như vậy, việc thực thi hàm kết thúc ngay khi câu lệnh return đầu tiên được thực thi

Các câu lệnh trả về không nhất thiết phải ở cuối hàm. Chúng có thể ở bất cứ đâu bên trong phần thân của hàm

Khóa học khởi động máy xay sinh tố

Tìm hiểu kiến ​​thức cơ bản về mô hình 3D trong Blender

từng bước, dễ theo dõi, trực quan phong phú

Khóa học hiện có trên Udemy trên Skillshare.

Nhiều câu lệnh trả về

Đây là một ví dụ về một hàm có nhiều câu lệnh trả về

def inch_to_cm[inches]:
    return inches * 2.54
5

Bây giờ chúng tôi có ba đường dẫn thực hiện có thể tùy thuộc vào độ tuổi được truyền dưới dạng đối số. Chỉ có một đường dẫn thực thi sẽ được thực hiện, vì vậy chỉ một câu lệnh return sẽ được thực thi. Hãy thử chức năng này trên đoạn mã sau

def inch_to_cm[inches]:
    return inches * 2.54
6

Trong vòng lặp for, chúng tôi đang lặp lại các khóa của từ điển. Chúng tôi sử dụng các giá trị từ từ điển làm đối số cho hàm age_descriptor. Đây là đầu ra

def inch_to_cm[inches]:
    return inches * 2.54
7

Câu lệnh if ternary sau khi trả về

Hàm trả về có thể có điều kiện. Bạn có thể sử dụng câu lệnh if bậc ba để quyết định cái gì sẽ được trả về. Hãy xem chức năng này với ba tham số

def inch_to_cm[inches]:
    return inches * 2.54
8

Hàm này trả về True nếu ba số được truyền dưới dạng đối số được sắp xếp từ nhỏ nhất đến lớn nhất. Nếu không, nó trả về Sai. Vì hàm trả về một giá trị boolean, chúng ta có thể sử dụng nó trong các câu điều kiện

Bạn có thể sử dụng return trong câu lệnh if không?

Có. Việc trả về ở đây sẽ loại bỏ quyền kiểm soát khỏi phương thức . Lưu câu trả lời này.

Tại sao chúng ta sử dụng return trong câu lệnh if?

Câu lệnh return trả về luồng thực thi cho hàm từ nơi nó được gọi . Tuyên bố này không bắt buộc cần bất kỳ câu lệnh điều kiện nào. Ngay sau khi câu lệnh được thực thi, luồng chương trình sẽ dừng ngay lập tức và trả về điều khiển từ nơi nó được gọi.

Có thể sử dụng return trong các vòng lặp không?

Câu lệnh return rất hữu ích vì nó tiết kiệm thời gian và làm cho chương trình chạy nhanh hơn bằng cách trả về kết quả đầu ra của phương thức mà không thực thi các đoạn mã và vòng lặp không cần thiết. Bạn nên luôn có một câu lệnh return sau vòng lặp for/while trong trường hợp câu lệnh return bên trong vòng lặp for/while không bao giờ được thực thi .

Chúng ta có thể sử dụng return thay vì print trong Python không?

Sử dụng chữ in khi bạn muốn hiển thị giá trị cho con người. return là từ khóa . Khi đạt đến câu lệnh return, Python sẽ dừng thực thi hàm hiện tại, gửi một giá trị đến nơi hàm được gọi. Sử dụng return khi bạn muốn gửi một giá trị từ một điểm trong mã của mình đến một điểm khác.

Chủ Đề