Cara mengembalikan banyak nilai sekaligus dari fungsi dengan Python 3

Hari ini kami membagikan terjemahan artikel yang kami temukan di medium.com. Penulis, Vivek Coder, berbicara tentang cara mengembalikan nilai dari suatu fungsi dengan Python dan menjelaskan bagaimana struktur data yang berbeda dapat dibedakan satu sama lain.





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!



All Articles