Sự khác biệt giữa pass và return trong Python là gì?

Để 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 thì nó sẽ chia hai đối số này, ngược lại 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.
Hàm nhận một hàm làm đối số, kết quả trả về một hàm hoặc cả hai được gọi là hàm bậc cao.

Đầ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

Trước tiên chúng ta hãy xem một câu trả lời ngắn trước khi đi sâu vào một ví dụ đơn giản để hiểu sự khác biệt và tương đồng giữa


        8
        20
    
3 và

        8
        20
    
4

so sánh

Sự khác biệt giữa pass và return trong Python là gì?

Cả


        8
        20
    
5 và
def f():
    for i in range(10):
        print(i)
        if i>3:
            break


f()
0 đều là từ khóa trong Python

  • Từ khóa
    
            8
            20
        
    3 kết thúc một hàm và chuyển một giá trị cho người gọi
  • Từ khóa
    
            8
            20
        
    4 kết thúc vòng lặp ngay lập tức mà không cần làm gì khác. Nó có thể được sử dụng bên trong hoặc bên ngoài một chức năng

        8
        20
    
3_______24Được sử dụng để kết thúc một chức năngĐược sử dụng để kết thúc một vòng lặp
def f():
    for i in range(10):
        print(i)
        if i>3:
            break


f()
5 hoặc
def f():
    for i in range(10):
        print(i)
        if i>3:
            break


f()
6 Truyền một giá trị tùy chọn cho người gọi hàm (e. g. ,
def f():
    for i in range(10):
        print(i)
        if i>3:
            break


f()
7)Không chuyển bất cứ thứ gì ra “bên ngoài”

Trong khi họ phục vụ một mục đích khác, tôi. e. , kết thúc một chức năng vs kết thúc một vòng lặp, có một số trường hợp chúng có thể được sử dụng thay thế cho nhau

Các trường hợp sử dụng tương tự

Trường hợp sử dụng sau đây cho thấy lý do tại sao bạn có thể nhầm lẫn cả hai từ khóa


        8
        20
    
3 và

        8
        20
    
4. Trong cả hai trường hợp, bạn có thể sử dụng chúng để kết thúc một vòng lặp bên trong một hàm và quay lại bên ngoài

Đây là biến thể sử dụng


        8
        20
    
3


        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)
    
1

Và đây là biến thể sử dụng


        8
        20
    
4

def f():
    for i in range(10):
        print(i)
        if i>3:
            break


f()

Cả hai đoạn mã đều thực hiện chính xác như nhau—in ra 5 giá trị đầu tiên 0, 1, 2, 3 và 4

đầu ra


        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)
    
3

Tuy nhiên, đây là nơi mà sự giống nhau giữa hai từ khóa đó kết thúc. Hãy đi sâu vào một trường hợp sử dụng phổ biến hơn khi cả hai đều thực hiện các tác vụ khác nhau trong mã

Các trường hợp sử dụng khác nhau

Ví dụ sau sử dụng cả hai từ khóa


        8
        20
    
4 và

        8
        20
    
3. Nó sử dụng từ khóa

        8
        20
    
4 để kết thúc vòng lặp ngay khi biến vòng lặp

        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)
    
35 lớn hơn 3

Vì vậy, dòng


        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)
    
36 không bao giờ được thực thi sau khi biến

        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)
    
35 đạt đến giá trị 4—vòng lặp kết thúc

Nhưng hàm không kết thúc vì


        8
        20
    
4 chỉ kết thúc vòng lặp chứ không kết thúc hàm. Đó là lý do tại sao câu lệnh

        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)
    
39 vẫn được thực thi và giá trị trả về của hàm là

        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)
    
80 (mà chúng tôi cũng in ra ở dòng cuối cùng)


        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)
    
8

đầu ra


        8
        20
    
0

Tóm lược

Từ khóa


        8
        20
    
3 khác và mạnh hơn từ khóa

        8
        20
    
4 vì nó cho phép bạn chỉ định một giá trị trả về tùy chọn. Nhưng nó chỉ có thể được sử dụng trong ngữ cảnh chức năng chứ không phải bên ngoài chức năng

  • Bạn sử dụng từ khóa
    
            8
            20
        
    3 để trả lại giá trị cho người gọi hàm hoặc kết thúc toàn bộ hàm
  • Bạn sử dụng từ khóa
    
            8
            20
        
    4 để dừng ngay một vòng lặp
    def f():
        for i in range(10):
            print(i)
            if i>3:
                break
    
    
    f()
    
    5 hoặc
    def f():
        for i in range(10):
            print(i)
            if i>3:
                break
    
    
    f()
    
    6

🐍 Quy tắc. Chỉ khi bạn muốn thoát khỏi một vòng lặp bên trong một hàm và điều này cũng sẽ thoát khỏi toàn bộ hàm, bạn mới có thể sử dụng cả hai từ khóa. Trong trường hợp đó, tôi khuyên bạn nên sử dụng từ khóa


        8
        20
    
3 thay vì

        8
        20
    
4 vì nó mang lại cho bạn nhiều mức độ tự do hơn, tôi. e. , chỉ định giá trị trả về. Ngoài ra, nó rõ ràng hơn giúp cải thiện khả năng đọc mã


Cảm ơn bạn đã đọc toàn bộ hướng dẫn—nếu bạn muốn tiếp tục học hỏi, vui lòng tham gia học viện email của tôi. Nó vui. 🙂

Video đề xuất

Từ khóa trả về Python - Hướng dẫn minh họa đơn giản

Sự khác biệt giữa pass và return trong Python là gì?

Xem video này trên YouTube

Sự khác biệt giữa pass và return trong Python là gì?

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners (NoStarch 2020), đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Pass trong Python là gì?

Câu lệnh vượt qua Python . Khi câu lệnh pass được thực thi, không có gì xảy ra, nhưng bạn sẽ tránh được lỗi khi không cho phép mã trống. Mã trống không được phép trong vòng lặp, định nghĩa hàm, định nghĩa lớp hoặc trong câu lệnh if. used as a placeholder for future code. When the pass statement is executed, nothing happens, but you avoid getting an error when empty code is not allowed. Empty code is not allowed in loops, function definitions, class definitions, or in if statements.

Sự khác biệt giữa vượt qua và tiếp tục trong Python là gì?

Sự khác biệt giữa Vượt qua và Tiếp tục trong Python . ” Đó là một trình giữ chỗ cho mã trong tương lai. A pass statement signals to a loop that there is “no code to execute here.” It's a placeholder for future code. Câu lệnh continue được sử dụng để buộc vòng lặp bỏ qua đoạn mã còn lại và bắt đầu lần lặp tiếp theo.

Lợi thế của pass trong Python là gì?

Nói chung, câu lệnh “pass” chỉ đơn thuần là một phép toán null. Cụ thể, khi nó được thực thi, không có gì xảy ra. Do đó, câu lệnh “pass” thường được sử dụng như một trình giữ chỗ về mặt cú pháp . Khi không cần thực thi mã nào, chúng ta có thể đặt câu lệnh “pass” ở đó.

Pass có cần thiết trong Python không?

Câu lệnh pass không có tác dụng gì trong Python , rất hữu ích khi sử dụng làm trình giữ chỗ trong các nhánh, hàm và lớp của câu lệnh if. Theo thuật ngữ của giáo dân, pass yêu cầu Python bỏ qua dòng này và không làm gì cả.