Computer >> Máy Tính >  >> Lập trình >> Python

Python:Trả về nhiều giá trị từ một hàm

Bạn có thể trả về nhiều giá trị bằng cách nhóm các giá trị đó vào từ điển, bộ tuple hoặc danh sách. Những kiểu dữ liệu này cho phép bạn lưu trữ nhiều giá trị giống nhau. Bạn có thể trích xuất các giá trị riêng lẻ từ chúng trong chương trình chính của mình. Hoặc, bạn có thể chuyển nhiều giá trị và phân tách chúng bằng dấu phẩy.

Các hàm Python có thể trả về nhiều giá trị. Để trả về nhiều giá trị, bạn có thể trả về từ điển, bộ mã Python hoặc danh sách cho chương trình chính của mình.

Hướng dẫn này thảo luận về cách trả về nhiều giá trị cho một chương trình chính bằng cách sử dụng hai phương pháp này. Hãy bắt đầu.

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

Bạn có thể trả về nhiều giá trị từ một hàm Python bằng cách sử dụng:

  • Một danh sách chứa nhiều giá trị.
  • Một bộ giá trị có nhiều giá trị.
  • Một từ điển có nhiều bản ghi.
  • Nhiều giá trị được phân tách bằng dấu phẩy.

Tất cả các kiểu dữ liệu trên cho phép bạn lưu trữ nhiều giá trị. Giải pháp trả về nhiều giá trị được phân tách bằng dấu phẩy là giải pháp tốt nhất. Điều này là do cách tiếp cận này làm cho ý định của bạn rõ ràng:trả lại nhiều giá trị riêng biệt trở lại chương trình chính của bạn.

Một câu lệnh trả về Python gửi các giá trị từ một hàm đến một chương trình chính. Câu lệnh này thường được sử dụng nhất để trả về một giá trị cho chương trình chính. Nó có thể được sử dụng để trả về nhiều giá trị cho một chương trình chính.

Python:Trả về nhiều giá trị bằng dấu phẩy

Bạn có thể trả về nhiều giá trị bằng cách tách các giá trị bạn muốn trả về bằng dấu phẩy. Các giá trị này sẽ xuất hiện sau câu lệnh trả về Python của bạn.

Chúng tôi sẽ viết một chương trình tính toán số lần bán hàng được thực hiện tại một cửa hàng điện tử. Chúng tôi sẽ chỉ tính doanh số bán hàng trị giá hơn 500 đô la. Chương trình của chúng tôi cũng sẽ tính toán giá trị trung bình của mỗi lần bán hàng.

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

Để bắt đầu, hãy xác định một mảng Python có chứa danh sách bán hàng:

sales = [59.99, 240.00, 655.25, 75.99]

Tiếp theo, hãy viết một hàm Python để tính toán số lần bán hàng trị giá hơn 500 đô la và giá trị trung bình của một lần mua hàng:

def calculate_data(sales):
	    over_limit = 0

	    for s in sales:
		         if s > 500:
			             over_limit += 1

	    average_purchase = sum(sales) / len(sales)

	    return over_limit, average_purchase

Hàm của chúng tôi lặp lại mọi đợt giảm giá trong danh sách của chúng tôi bằng cách sử dụng vòng lặp for. Nếu một lần bán hàng trị giá hơn 500 đô la, thì biến Python “over_limit” của chúng tôi sẽ được tăng thêm một. Sau đó, chúng tôi tính giá trị trung bình của một lần mua hàng bằng cách chia tổng giá trị của tất cả các lần bán hàng cho số lần bán hàng đã thực hiện.

Ở cuối hàm của chúng ta, hãy sử dụng câu lệnh return để trả về các giá trị của “over_limit” và “average_purchase” cho chương trình chính của chúng ta.

Tất cả những gì còn lại cần làm là gọi hàm của chúng tôi và hiển thị dữ liệu mà chương trình của chúng tôi tính toán lên bảng điều khiển:

over_limit, average_purchase = calculate_data(sales)
print("{} sales were made over $500. The average purchase was ${}.".format(over_limit, round(average_purchase)))

Chúng tôi làm tròn giao dịch mua trung bình thành hai chữ số thập phân bằng cách sử dụng round () phương pháp. Mã của chúng tôi in ra một thông báo thông báo cho chúng tôi về các giá trị mà chúng tôi đã tính toán. Hãy chạy chương trình của chúng tôi:

1 sales were made over $500. The average purchase was $258.

Chương trình của chúng tôi cho chúng tôi biết thành công có bao nhiêu lần bán hàng trị giá hơn 500 đô la và giá trung bình của một lần mua hàng là bao nhiêu.

Mã này hoạt động vì câu lệnh “return” biến các giá trị của chúng ta thành một bộ giá trị và trả về một danh sách bộ giá trị cho chương trình chính của chúng ta. Sau đó, chúng tôi giải nén bộ này thành hai biến trên dòng mã này:

over_limit, average_purchase = calculate_data(sales)

Python:Trả về nhiều giá trị bằng một danh sách hoặc nhiều giá trị

Cả danh sách và bộ giá trị đều cho phép bạn lưu trữ nhiều giá trị. Điều này có nghĩa là chúng tôi có thể sử dụng chúng để trả về nhiều giá trị cho chương trình chính của chúng tôi.

Sử dụng một danh sách hoặc một bộ giá trị là tốt nhất nếu các giá trị bạn đang trả về có mối quan hệ nào đó. Tuy nhiên, bạn có thể sử dụng phương pháp này để trả về bất kỳ tập hợp giá trị nào.

Chúng tôi sẽ trả lại quy mô mua hàng trung bình và số lượng mua hàng trị giá trên 500 đô la cho chương trình chính của chúng tôi. Để làm như vậy, hãy quay lại ví dụ của chúng tôi ở phần trước và thực hiện một thay đổi nhỏ để sử dụng danh sách:

def calculate_data(sales):
	over_limit = 0
	for s in sales:
		if s > 500:
		over_limit += 1
		average_purchase = sum(sales) / len(sales)

	return [over_limit, average_purchase]

Chúng tôi vừa tách các giá trị của mình thành một danh sách duy nhất. Danh sách của chúng tôi bao gồm số lần mua hàng trị giá trên 500 đô la và giá trị của một lần mua hàng trung bình, tương ứng.

Chúng tôi cũng có thể trả về một cấu trúc dữ liệu tuple. Để làm như vậy, chúng ta sẽ thay thế dấu ngoặc vuông bằng dấu ngoặc nhọn. Yếu tố lớn cần xem xét là các bộ giá trị không thể chứa các giá trị trùng lặp. Nếu có khả năng hai giá trị bạn chuyển vào chương trình chính của mình sẽ bằng nhau, hãy tránh sử dụng một bộ giá trị.

Để truy cập các giá trị này trong chương trình chính của chúng tôi, chúng tôi phải sử dụng lập chỉ mục:

values = calculate_data(sales)

print("{} sales were made over $500. The average purchase was ${}.".format(values[0], round(values[1])))

Chúng tôi sử dụng cú pháp giá trị [0] để truy cập giá trị đầu tiên trong danh sách mà hàm tính toán_data () trả về. Điều này tương ứng với giá trị của "over_limit" trong hàm của chúng ta. Chúng tôi sử dụng cú pháp giá trị [1] để truy cập giá trị của giao dịch mua trung bình.

Mã của chúng tôi trả về:

1 sales were made over $500. The average purchase was $258.

Mã của chúng tôi hoạt động giống như ví dụ trước, nhưng lần này chúng tôi đã sử dụng một danh sách để phân tách các giá trị trong mã của chúng tôi.

Python:Trả về nhiều giá trị bằng từ điển

Chúng tôi có thể trả về nhiều giá trị từ một hàm bằng cách sử dụng từ điển.

Trong ví dụ cuối cùng của chúng tôi, chúng tôi chỉ trả về hai giá trị cho chương trình chính của chúng tôi. Điều này giúp thuận tiện khi sử dụng cú pháp giải nén (nơi bạn "giải nén" các giá trị thành nhiều biến).

Nếu chúng tôi đang làm việc với nhiều giá trị hơn, thì việc trả về một từ điển liên kết từng giá trị với một nhãn có thể dễ dàng hơn. Hãy sửa đổi chức năng cuối cùng của chúng ta để sử dụng từ điển để trả về nhiều giá trị cho chương trình chính của chúng ta:

def calculate_data(sales):
	    over_limit = 0

	    for s in sales:
		         if s > 500:
			             over_limit += 1

	    average_purchase = sum(sales) / len(sales)

	    return { "limit": over_limit, "average": average_purchase }

Hàm của chúng tôi trả về một từ điển có hai khóa và giá trị. Các khóa, "giới hạn" và "trung bình", có thể được sử dụng để xác định duy nhất từng giá trị. Bây giờ chúng ta phải sửa đổi lệnh gọi hàm và câu lệnh in để hỗ trợ cú pháp mới này:

values = calculate_data(sales)
print("{} sales were made over $500. The average purchase was ${}.".format(values["limit"], round(values["average"])))

Chúng tôi trả lại một từ điển trở lại chương trình chính của chúng tôi. Chúng tôi gán từ điển này cho biến "giá trị". Sau đó, chúng tôi sử dụng lập chỉ mục để truy xuất các giá trị của "giới hạn" và "trung bình".

Hãy chạy chương trình của chúng tôi:

1 sales were made over $500. The average purchase was $258.

Chương trình của chúng tôi trả lại phản hồi tương tự như trước đó. Điều này được mong đợi bởi vì tất cả những gì chúng ta đã làm là thay đổi cách chúng ta trả về các giá trị cho chương trình chính của mình. Logic tính toán của chúng tôi vẫn như cũ.

Kết luận

Bạn có thể trả về nhiều giá trị từ một hàm bằng cách sử dụng từ điển, bộ tuple hoặc danh sách. Tất cả các kiểu dữ liệu này đều cho phép bạn lưu trữ nhiều giá trị. Không có cú pháp cụ thể để trả về nhiều giá trị, nhưng các phương thức này hoạt động như một sự thay thế tốt.

Phương pháp được phân tách bằng dấu phẩy ngắn gọn hơn và dễ hiểu hơn nếu bạn đang làm việc với một tập hợp giá trị nhỏ. Giả sử bạn đang trả về một dải giá trị lớn hơn từ một hàm. Bạn có thể muốn sử dụng từ điển để gửi nhiều giá trị trở lại chương trình chính.

Bạn có muốn đẩy nhanh hành trình học ngôn ngữ lập trình Python của mình không? Hãy xem hướng dẫn Cách học Python của chúng tôi để được tư vấn về các khóa học Python hàng đầu và các tài nguyên học tập trực tuyến.