Hướng dẫn return multiple values python - trả về nhiều giá trị python

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
    result = test[]
    
    print[result]
    print[type[result]]
    # ['abc', 100]
    # 
    
    8

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]
# 
8

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[]:
    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à

result = test[]

print[result]
print[type[result]]
# ['abc', 100]
# 
9 chúng được phân tách bằng dấu phẩy.
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

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 

Bài Viết Liên Quan

Chủ Đề