Bài viết này mô tả cách trả về nhiều giá trị từ một hàm trong Python.
- Trả về nhiều giá trị bằng dấu phẩy
- Trả lại
8result = test[] print[result] print[type[result]] # ['abc', 100] #
Xem bài viết sau đây cho những điều cơ bản của các chức năng trong Python.
- Xác định và gọi các chức năng trong Python [def, return]
Trả về nhiều giá trị bằng dấu phẩy
Trả lại
result = test[]
print[result]
print[type[result]]
# ['abc', 100]
#
8Xem bài viết sau đây cho những điều cơ bản của các chức năng trong Python.
def test[]:
return 'abc', 100
Xác định và gọi các chức năng trong Python [def, return]
Trong Python, bạn có thể trả về nhiều giá trị bằng cách đơn giản là
9 chúng được phân tách bằng dấu phẩy.result = test[] print[result] print[type[result]] # ['abc', 100] #
Built-in Types - Tuples — Python 3.7.4 documentation
- Ví dụ, xác định một hàm trả về một chuỗi và số nguyên như sau:
result = test[]
print[result]
print[type[result]]
# ['abc', 100]
#
Trong Python, các giá trị phân tách bằng dấu phẩy được coi là các bộ đếm không có dấu ngoặc đơn, ngoại trừ khi được yêu cầu bởi cú pháp. Vì lý do này, hàm trong ví dụ trên trả về một tuple với mỗi giá trị dưới dạng một phần tử.
print[result[0]]
print[type[result[0]]]
# abc
#
print[result[1]]
print[type[result[1]]]
# 100
#
Lưu ý rằng đó thực sự là dấu phẩy tạo ra một tuple, không phải dấu ngoặc đơn. Các dấu ngoặc đơn là tùy chọn, ngoại trừ trong trường hợp tuple trống hoặc khi chúng cần thiết để tránh sự mơ hồ của cú pháp. Các loại tích hợp - Tuples - Python 3.7.4 Tài liệu
# print[result[2]]
# IndexError: tuple index out of range
Một tuple với một yếu tố yêu cầu một dấu phẩy trong Python
- Mỗi phần tử có một loại được xác định trong hàm.
a, b = test[]
print[a]
# abc
print[b]
# 100
Tất nhiên, việc chỉ định một chỉ mục vượt quá số lượng giá trị trả về được xác định làm tăng lỗi.
def test2[]:
return 'abc', 100, [0, 1, 2]
a, b, c = test2[]
print[a]
# abc
print[b]
# 100
print[c]
# [0, 1, 2]
Trả lại result = test[]
print[result]
print[type[result]]
# ['abc', 100]
#
8
result = test[]
print[result]
print[type[result]]
# ['abc', 100]
#
Xem bài viết sau đây cho những điều cơ bản của các chức năng trong Python.
def test_list[]:
return ['abc', 100]
result = test_list[]
print[result]
print[type[result]]
# ['abc', 100]
#
Có cách nào để trả về nhiều kết quả mà không cần phải tạo một tuple trống, thêm từng lần lặp vào nó và trả lại tuple?
Tôi chỉ muốn thoát khỏi sự trả lại ngầm
print[result[0]]
print[type[result[0]]]
# abc
#
print[result[1]]
print[type[result[1]]]
# 100
#
4 ở cuối vòng lặp.from random import randint
class Lotto[object]:
def fir_num[self]:
print["First prize:"]
num = randint[000000, 999999]
return "%06d" % num #no problem for single value
def sec_num[self]:
print["Second prizes:"]
i = 0
while i