Một hàm có thể trả về nhiều đối tượng Python không?

Khi bạn trả về nhiều giá trị bằng cách sử dụng [các] dấu phẩy, chúng sẽ được trả về ở dạng một bộ. Như được hiển thị trong đoạn mã trên, hai chuỗi "John""Armin" được trả về bằng một câu lệnh return duy nhất

ví dụ 2. Sử dụng từ điển

def name[]:
    n1 = "John"
    n2 = "Armin"

    return {1:n1, 2:n2}

names = name[]
print[names]

đầu ra

{1: 'John', 2: 'Armin'}

Khi bạn trả về các giá trị bằng từ điển, bạn sẽ dễ dàng theo dõi các giá trị được trả về bằng cách sử dụng các phím. Câu lệnh return trả về hai biến ở dạng từ điển

Hàm Python có thể trả về nhiều biến. Các biến này có thể được lưu trữ trực tiếp trong các biến. Một hàm không bắt buộc phải trả về một biến, nó có thể trả về 0, một, hai hoặc nhiều biến

Đây là thuộc tính riêng của Python, các ngôn ngữ lập trình khác như C++ hay Java mặc định không hỗ trợ tính năng này

khóa học liên quan. Hoàn thành khóa học & bài tập lập trình Python

Thí dụ

Giới thiệu

Các biến được định nghĩa trong hàm chỉ được biết trong hàm. Đó là do phạm vi của biến. Nói chung, đó không phải là vấn đề, trừ khi bạn muốn sử dụng đầu ra của hàm trong chương trình của mình

Trong trường hợp đó, bạn có thể trả về các biến từ một hàm. Trong trường hợp đơn giản nhất, bạn có thể trả về một biến duy nhất

1
2
3
def complexfunction[a,b]:
sum = a +b
return sum

Gọi hàm với hàm phức tạp [2,3] và đầu ra của nó có thể được sử dụng hoặc lưu

Nhưng nếu bạn có nhiều biến trong một hàm mà bạn muốn truy cập thì sao?

nhiều trở lại

Tạo một hàm getPerson[]. Như bạn đã biết một hàm có thể trả về một biến nhưng cũng có thể trả về nhiều biến

Trong hướng dẫn này, chúng tôi xem xét Python. Trả về nhiều giá trị từ một hàm. Chúng tôi giải thích chi tiết các phương pháp khác nhau và liệt kê những thiếu sót của chúng

Mục lục - Python trả về nhiều giá trị

  1. Python trả về nhiều giá trị
  2. Các giá trị được phân tách bằng dấu phẩy [Tuples]
  3. Danh sách Python
  4. Từ điển Python
  5. Sử dụng lớp dữ liệu Python
  6. Hạn chế và Hãy cẩn thận - Python trả về nhiều giá trị

Python trả về nhiều giá trị

Các hàm được sử dụng để thực hiện một tác vụ cụ thể mà rất có thể liên quan đến việc trả về một giá trị cụ thể. Tuy nhiên, một vài trường hợp sử dụng có thể yêu cầu bạn trả về hai hoặc nhiều giá trị. Trong các ngôn ngữ lập trình khác, mã để đạt được điều này có thể khá phức tạp nhưng Python cung cấp một số phương thức tiện dụng để trả về nhiều giá trị

Hầu hết các phương thức này liên quan đến việc sử dụng kiểu dữ liệu tập hợp để trả về các giá trị này. Chúng tôi đã xem xét kỹ tất cả chúng bên dưới

Sử dụng các giá trị được phân tách bằng dấu phẩy [Tuples]

Trong phương pháp này, chúng tôi sử dụng Python để trả về nhiều giá trị bằng cách tách chúng bằng dấu phẩy. Python về cơ bản sử dụng một tuple để đạt được điều này

Mã để đạt được điều này như sau.
#Returning Multiple Values using Tuples
def multiple[]:
    operation = "Sum" 
    total = 5+10
    return operation, total;

operation, total = multiple[]

print[operation, total]
#Output = Sum 15

Một sự nhầm lẫn phổ biến ở đây là cú pháp của tuple yêu cầu một cặp dấu ngoặc []. Mặc dù điều này đúng, nhưng không phải lúc nào Python cũng yêu cầu dấu ngoặc để xác định một bộ

Sử dụng danh sách Python

Tương tự như các phương thức trước, danh sách cũng có thể được sử dụng để trả về nhiều giá trị. Trong trường hợp bạn không quen thuộc với danh sách, chúng là tập hợp các mục. Chúng khá giống với mảng tuy nhiên chúng có thể được sử dụng để lưu trữ các giá trị của các loại dữ liệu khác nhau

Vì chúng là tập hợp các mục nên chúng tôi có thể thêm giá trị vào danh sách và trả về danh sách

Mã để trả về nhiều giá trị bằng cách sử dụng danh sách.
#Returning Multiple Values using List
def multiple[]:
    operation = "Sum" 
    total = 5+10
    return [operation, total];

values = multiple[]

print[values]
#Output = ["Sum", 15]

Trong phương pháp này, bạn sẽ phải sử dụng chỉ mục của danh sách để sử dụng các giá trị riêng lẻ

Sử dụng từ điển Python

Trong phương pháp trước đó, việc truy cập một giá trị cụ thể sẽ gặp rắc rối. Tuy nhiên, đây không phải là vấn đề khi sử dụng từ điển để trả về nhiều giá trị. Điều này là do chúng tôi có thể sử dụng các tên khóa có liên quan và chúng có thể được truy cập dễ dàng

Mã để làm như vậy là như sau.
#Returning Multiple Values using Dictionary
def multiple[]:
    values = dict[];
    values['operation'] = "Sum" 
    values['total'] = 5+10
    return values;

values = multiple[]

print[values]
#Output = {'operation': 'Sum', 'total': 15}

Trong phương thức này, các giá trị được trả về có thể dễ dàng được truy cập trong các khóa của chúng

Sử dụng lớp dữ liệu Python

Trong phương pháp này, chúng tôi sử dụng Lớp dữ liệu để trả về nhiều giá trị. Các lớp dữ liệu là một phương pháp thêm các phương thức cụ thể vào một lớp do người dùng định nghĩa. Phương pháp này đã được giới thiệu trong phiên bản Python 3. 7

Một hàm có thể trả về nhiều đối tượng không?

Chúng ta có thể trả về nhiều giá trị từ một hàm bằng cách sử dụng phương thức gọi là “gọi theo địa chỉ” hoặc “gọi theo tham chiếu” . Trong hàm Invigner, chúng ta sẽ sử dụng 2 biến để lưu kết quả, và hàm sẽ lấy dữ liệu kiểu con trỏ.

Có bao nhiêu đối tượng có thể được trả về bởi một hàm python?

Python không trả về giá trị, nó trả về đối tượng. Vì vậy, một hàm chỉ có thể trả về một đối tượng . Đối tượng đó có thể chứa nhiều giá trị hoặc thậm chí tham chiếu đến các đối tượng khác, vì vậy, trong khi hàm của bạn có thể trả lại nhiều giá trị cho người gọi, thì nó phải làm như vậy bên trong một đối tượng.

Chủ Đề