Foto dari situs Unsplash . Penulis: Vipul Jha
Python nyaman karena memungkinkan Anda mengembalikan beberapa nilai secara bersamaan dari suatu fungsi sekaligus. Untuk melakukan ini, Anda perlu menggunakan operator
returndan mengembalikan struktur data dengan beberapa nilai - misalnya, daftar jumlah total jam kerja untuk setiap minggu.
def hours_to_write(happy_hours):
week1 = happy_hours + 2
week2 = happy_hours + 4
week3 = happy_hours + 6
return [week1, week2, week3]
print(hours_to_write(4))
# [6, 8, 10]
Struktur data di Python digunakan untuk menyimpan kumpulan data yang dapat dikembalikan oleh pernyataan
return. Dalam artikel ini, kita akan melihat cara untuk mengembalikan beberapa nilai menggunakan struktur yang serupa (kamus, daftar, dan tupel), serta menggunakan kelas dan kelas data (Python 3.7+).
Metode 1: mengembalikan nilai menggunakan kamus
Kamus berisi kombinasi elemen, yaitu key-value pair (
key:value), diapit tanda kurung kurawal ( {}).
Kamus, menurut saya, adalah pilihan terbaik untuk pekerjaan itu jika Anda tahu kunci untuk mengakses nilai-nilainya. Berikut ini adalah kamus di mana kuncinya adalah nama orang dan nilainya adalah usia.
people={
'Robin': 24,
'Odin': 26,
'David': 25
}
Sekarang mari beralih ke fungsi yang mengembalikan kamus dengan pasangan nilai kunci.
# A Python program to return multiple values using dictionary
# This function returns a dictionary
def people_age():
d = dict();
d['Jack'] = 30
d['Kim'] = 28
d['Bob'] = 27
return d
d = people_age()
print(d)
# {'Bob': 27, 'Jack': 30, 'Kim': 28}
Metode 2: Kembalikan nilai menggunakan daftar
Daftar mirip dengan larik yang dibentuk menggunakan tanda kurung siku, tetapi dapat berisi berbagai jenis elemen. Daftar juga berbeda dari tupel karena merupakan tipe data yang bisa berubah. Artinya, daftar apa pun bisa berubah .
List adalah salah satu struktur data yang paling serbaguna di Python karena tidak harus seragam (dapat menyertakan string, angka, dan elemen). Kadang-kadang daftar bahkan digunakan dalam hubungannya dengan tumpukan atau antrian.
# A Python program to return multiple values using list
def test():
str1 = "Happy"
str2 = "Coding"
return [str1, str2];
list = test()
print(list)
# ['Happy', 'Coding']
Berikut adalah contoh yang mengembalikan daftar dengan bilangan asli.
def natural_numbers(numbers = []):
for i in range(1, 16):
numbers.append(i)
return numbers
print(natural_numbers())
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
Metode 3: Kembalikan nilai menggunakan tupel
Tupel memerintahkan objek yang tidak dapat diubah dengan Python yang biasanya digunakan untuk menyimpan koleksi data heterogen.
Tuple menyerupai daftar, tetapi tidak dapat diubah setelah dideklarasikan. Dan, sebagai aturan, tupel bekerja lebih cepat daripada daftar. Anda dapat membuat tupel dengan memisahkan item dengan koma:
x, y, zatau (x, y, z).
Dalam contoh ini, tupel digunakan untuk menyimpan data tentang seorang karyawan (nama, pengalaman kerja selama bertahun-tahun, dan nama perusahaan).
Bob = ("Bob", 7, "Google")
Dan berikut adalah contoh penulisan fungsi untuk mengembalikan tupel.
# A Python program to return multiple values using tuple
# This function returns a tuple
def fun():
str1 = "Happy"
str2 = "Coding"
return str1, str2; # we could also write (str1, str2)
str1, str2= fun()
print(str1)
print(str2)
# Happy
Coding
Perhatikan bahwa kami telah menghilangkan tanda kurung dalam pernyataan
return, karena itu cukup untuk hanya memisahkan setiap elemen dengan koma untuk mengembalikan tupel (seperti yang ditunjukkan di atas).
Jangan lupa bahwa Anda dapat membuat tupel menggunakan koma, bukan tanda kurung. Tanda kurung hanya diperlukan saat tupel kosong digunakan atau Anda perlu menghindari ketidaktepatan sintaksis.
Untuk pemahaman yang lebih baik tentang tupel, lihat dokumentasi resmi Python 3 (dokumentasinya dalam bahasa Inggris - Ed. ).
Di bawah ini adalah contoh fungsi yang menggunakan tanda kurung untuk mengembalikan tupel.
def student(name, class):
return (name, class)
print(student("Brayan", 10))
# ('Brayan', 10)
Sekali lagi, tupel mudah dibingungkan dengan daftar (bagaimanapun juga, keduanya adalah wadah elemen). Namun, ada perbedaan mendasar yang perlu diingat: tupel tidak dapat diubah, tetapi daftar dapat.
Metode 4: Kembalikan nilai menggunakan objek
Semuanya di sini sama seperti di C / C ++ atau Java. Anda dapat dengan mudah membentuk kelas (disebut struct di C) untuk menyimpan beberapa sifat dan mengembalikan objek kelas.
# A Python program to return multiple values using class
class Intro:
def __init__(self):
self.str1 = "hello"
self.str2 = "world"
# This function returns an object of Intro
def message():
return Intro()
x = message()
print(x.str1)
print(x.str2)
# hello
world
Metode 5: Mengembalikan nilai menggunakan kelas data (Python 3.7+)
Kelas data dalam Python 3.7+ membantu mengembalikan kelas dengan metode unik yang ditambahkan secara otomatis, modul,
typingdan alat berguna lainnya.
from dataclasses import dataclass
@dataclass
class Item_list:
name: str
perunit_cost: float
quantity_available: int = 0
def total_cost(self) -> float:
return self.perunit_cost * self.quantity_available
book = Item_list("better programming.", 50, 2)
x = book.total_cost()
print(x)
print(book)
# 100
Item_list(name='better programming.', perunit_cost=50,
quantity_available=2)
Untuk pemahaman yang lebih baik tentang kelas data, lihat dokumentasi resmi Python 3 (dokumentasinya dalam bahasa Inggris - Ed. ).
Keluaran
Tujuan artikel ini adalah untuk membiasakan Anda dengan cara mengembalikan beberapa nilai dari suatu fungsi dengan Python. Dan, seperti yang Anda lihat, ada banyak cara ini.
Pelajari materiil dan terus kembangkan keterampilan pemrograman Anda. Terima kasih atas perhatian Anda!