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

Return Multiple Values From Python Function



Hàm được sử dụng trong bất kỳ ngôn ngữ lập trình nào để chạy một khối mã cụ thể nhiều lần khi có yêu cầu và tổ chức mã đúng cách. Đôi khi, điều này yêu cầu đọc giá trị trả về từ hàm cho mục đích lập trình. Giá trị trả về của hàm được lưu trữ trong một biến. Các hàm Python có thể trả về cả giá trị đơn và nhiều giá trị. Hướng dẫn này cho biết cách nhiều giá trị có thể được trả về từ các hàm Python với nhiều biến, đối tượng, bộ giá trị, danh sách và từ điển.

Ví dụ 1: Trả về nhiều giá trị từ hàm bằng cách sử dụng nhiều biến

Nếu bạn chỉ muốn trả về một vài biến từ hàm Python, thì tốt hơn nên xác định các biến này để lưu trữ nhiều giá trị trả về từ nhiều biến, đối tượng, bộ giá trị, danh sách và từ điển bằng cách sử dụng hàm. Trong ví dụ này, ba biến được khai báo trong tập lệnh để lưu trữ ba giá trị trả về. Các multiVarFunc () hàm được sử dụng để nhận ba giá trị đầu vào và trả về giá trị cho các biến dept_name, total_stdtotal_fac .







#! / usr / bin / env python3

# Định nghĩa hàm trả về nhiều biến
phản đốimultiVarFunc():
# Lấy dữ liệu chuỗi
nợ= đầu vào('Nhập tên bộ phận:')
# Lấy dữ liệu số
stdnum= NS(đầu vào('Nhập tổng số sinh viên:'))
# Lấy dữ liệu số
facnum= NS(đầu vào('Nhập số tổng số khoa:'))
# Trả về nhiều biến
trở lạinợ,stdnum,facnum;

# Gọi hàm và lưu trữ các giá trị trả về trong ba biến
dept_name,total_std,total_fac=multiVarFunc()
# In đầu ra được định dạng của các giá trị trả về
in(' Bộ phận:% s Tổng số sinh viên:% d Tổng số khoa:% d '%(dept_name,total_std,
total_fac))

Đầu ra



Ba giá trị được lấy làm đầu vào và các giá trị đầu ra được in sau khi định dạng.







Ví dụ 2: Trả về nhiều giá trị từ hàm bằng cách sử dụng bộ tuple

Tập lệnh sau đây cho biết cách sử dụng một bộ giá trị để trả về nhiều giá trị từ một hàm. Nếu bạn muốn trả về nhiều giá trị từ hàm, thì đây là một lựa chọn tốt hơn. Đây, tupleFunc () hàm được sử dụng để nhận bốn giá trị đầu vào từ người dùng và trả về các giá trị dưới dạng một bộ giá trị cho người gọi. Các giá trị trả về sẽ được lưu trữ trong một biến tuple có tên tupleVar và các giá trị sẽ được in sau đó.

#! / usr / bin / env python3

# Định nghĩa hàm trả về nhiều biến
phản đốitupleFunc():
# Lấy dữ liệu chuỗi
stdID= đầu vào('Nhập Id sinh viên:')
# Lấy dữ liệu chuỗi
stdName= đầu vào('Nhập tên sinh viên:')
# Lấy dữ liệu số nguyên
stdBatch= NS(đầu vào('Nhập lô No:'))
# Lấy dữ liệu float
stdCGPA= trôi nổi(đầu vào('Nhập CGPA:'))
# Trả về nhiều biến dưới dạng một bộ
trở lại (stdID,stdName,stdBatch,stdCGPA)

# Gọi hàm và lưu trữ các giá trị trả về trong một bộ giá trị
tupleVar=tupleFunc()
# In đầu ra được định dạng của bộ tuple
in(' ID:% s Tên:% s Lô:% d CGPA:% 4.2f '%(tupleVar[0],tupleVar[1],tupleVar[2],
tupleVar[3]))

Đầu ra



Bốn giá trị đầu vào được lấy làm giá trị đầu vào và đầu ra được định dạng sau đó được in.

Ví dụ 3: Trả về nhiều giá trị từ hàm bằng cách sử dụng danh sách

Tập lệnh sau cho biết cách sử dụng danh sách để trả về nhiều giá trị từ một hàm. Đây là một tùy chọn khác để trả về nhiều giá trị từ một hàm. Các listFunc () Hàm được sử dụng trong script để lấy hai số nguyên từ người dùng và tính các phép cộng, trừ, nhân và chia của những số này. Tiếp theo, bốn kết quả này được trả về dưới dạng danh sách từ hàm. Biến danh sách, listVar được sử dụng để lưu trữ các giá trị trả về và in các giá trị.

#! / usr / bin / env python3

# Xác định hàm trả về nhiều giá trị dưới dạng danh sách
phản đốilistFunc():
# Lấy dữ liệu số
số 1= trôi nổi(đầu vào('Nhập bất kỳ số nào:'))
# Lấy dữ liệu số
số 2= trôi nổi(đầu vào('Nhập bất kỳ số nào:'))

thêm vào=number1 + number2
phép trừ=number1 - number2
phép nhân=number1 * number2
phân công=number1 / number2

# Trả về nhiều biến dưới dạng danh sách
trở lại [số 1,số 2,thêm vào,phép trừ,phép nhân,phân công]

# Gọi hàm và lưu trữ các giá trị trả về trong một bộ giá trị
listVar=listFunc()
# In đầu ra được định dạng của dữ liệu danh sách
in(' % 5.2f +% 5.2f =% 5.2f '%(listVar[0],listVar[1],listVar[2]))
in('% 5.2f -% 5.2f =% 5.2f'%(listVar[0],listVar[1],listVar[3]))
in('% 5.2f x% 5.2f =% 5.2f'%(listVar[0],listVar[1],listVar[4]))
in('% 5.2f /% 5.2f =% 5.2f'%(listVar[0],listVar[1],listVar[5]))

Đầu ra

Sau khi lấy hai số 67 và 23,7, kết quả sau sẽ xuất hiện.

Ví dụ 4: Trả về nhiều giá trị từ hàm bằng từ điển

Tập lệnh sau cho biết cách sử dụng từ điển để trả về nhiều giá trị từ một hàm. Đây là một tùy chọn khác để trả về nhiều giá trị từ một hàm. Một biến đối tượng từ điển có tên dictVar được khai báo bên trong hàm. Ba giá trị được gán cho biến và trả về dicVar cho người gọi. Tiếp theo, các giá trị từ điển được in ra.

#! / usr / bin / env python3
# Xác định hàm để trả về nhiều giá trị dưới dạng từ điển
phản đốidictFunc():
# Khai báo một biến từ điển
dictVar= mệnh lệnh();
# Gán một số giá trị
dictVar['Tên'] = 'Kelli Ali'
dictVar['tuổi'] = 46
dictVar['nghề nghiệp'] = 'Ca sỹ'
# Trả lại từ điển dưới dạng giá trị trả về
trở lạidictVar

# Gọi hàm và lưu trữ các giá trị trả về trong một biến từ điển
dictValues=dictFunc()
# In các giá trị từ điển
in('Các giá trị của từ điển là: ',dictValues)

Đầu ra

Kết quả sau sẽ xuất hiện sau khi chạy tập lệnh.

Ví dụ 5: Trả về nhiều giá trị từ hàm bằng đối tượng

Một lớp được sử dụng với một hàm để trả về nhiều giá trị dưới dạng một đối tượng từ hàm trong tập lệnh sau. Khi mà objFunc () gọi hàm, hàm khởi tạo đối tượng từ Người lao động lớp và trả về đối tượng cho người gọi. Tiếp theo, các giá trị thuộc tính của đối tượng sẽ được in ra.

#! / usr / bin / env python3

# Định nghĩa lớp để intialize đối tượng
lớpNgười lao động:
phản đối __trong đó__(bản thân):
bản thân.Tên = 'Mosarof Karim'
bản thân.bài đăng = 'Người quản lý'
bản thân.lương = 50.000

# Định nghĩa hàm trả về giá trị dưới dạng một đối tượng
phản đốiobjFunc():
trở lạiNgười lao động()

# Gọi hàm để thiết lập biến đối tượng
objVar=objFunc()

# In đầu ra đã định dạng
in(' Tên nhân viên:',objVar.Tên,' ','Bài đăng:',objVar.bài đăng,' ','Lương:',
objVar.lương)

Đầu ra

Kết quả sau sẽ xuất hiện sau khi chạy tập lệnh.

Phần kết luận

Nhiều giá trị trả về từ một hàm có thể được sử dụng trong tập lệnh cho các mục đích khác nhau. Hướng dẫn này đã chỉ ra một số cách khác nhau để trả về nhiều giá trị từ một hàm trong Python.

Xem video của Tác giả: ở đây