Để 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
- Giới thiệu về câu lệnh return[]
- Trả về nhiều giá trị trong Python
- Đối số trong hàm return[]
- Hàm trả về một hàm khác
- Bớt tư tưởng
trả về [] bằng 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
Sẽ rất hữu ích nếu có một chức năng thực hiện một số công việc cho bạn và trả lại cho bạn kết quả của công việc đó. Sau đó, bạn có thể sử dụng kết quả theo cách bạn muốn. Trong danh sách 5. 6 bạn đã thấy hàm showSum hiển thị tổng của hai số trên bảng điều khiển. Có thể tốt hơn nếu có một chức năng thêm chỉ cần thêm các số và trả về kết quả. Trong khi showSum luôn hiển thị kết quả trên bảng điều khiển, với add, bạn có thể hiển thị kết quả mà hàm trả về nếu bạn chọn, sử dụng nó trong các phép tính tiếp theo, gửi qua mạng hoặc lưu vào cơ sở dữ liệu
Tôi không chắc chúng tôi có đủ thông tin để đưa ra câu trả lời thỏa đáng cho bạn. Nếu cả hai chức năng đó đều cần quyền truy cập vào id thì mã cần được cấu trúc theo cách mà cả hai chức năng đó đều có thể truy cập được. Bạn có thể chuyển ids
thành handleModalDesitionConfirm
giống như bạn chuyển cho handleStatusChange
không?
Nhưng vâng, bạn không thể xác đị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]
0 bên trong handleStatusChange
và sau đó mong muốn truy cập nó trong một chức năng khác. Tôi không chắc mình hiểu ý nghĩa của
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]
0 là gì vì nó chỉ trả về cùng một giá trị được truyền vào handleStatusChange
. Một lần nữa, nếu ids
có thể được chuyển vào handleStatusChange
thì nó cũng có thể được chuyển vào chức năng khác không?