Dalam C, mengembalikan berbilang nilai pulangan daripada fungsi agak membosankan, tetapi dalam Python, ia sangat mudah dilakukan.
Kembali dipisahkan dengan koma
Dalam Python, anda hanya boleh mengembalikan senarai rentetan atau nombor yang dipisahkan koma.
Sebagai contoh, tentukan fungsi yang hanya mengembalikan rentetan dan nombor seperti yang ditunjukkan di bawah, dengan setiap satu dipisahkan dengan koma selepas pemulangan.
def test(): return 'abc', 100
Dalam Python, nilai yang dipisahkan koma dianggap sebagai tupel tanpa kurungan, kecuali jika perlu secara sintaksis. Oleh itu, fungsi dalam contoh di atas akan mengembalikan tuple dengan setiap nilai sebagai elemen.
Ia adalah koma yang mencipta tupel, bukan kurungan bulat. Tanda kurung bulat boleh diabaikan, kecuali dalam kes tupel kosong atau apabila perlu untuk mengelakkan kekaburan sintaksis.
Built-in Types — Python 3.10.0 Documentation
Jenis nilai pulangan ialah tuple.
result = test() print(result) print(type(result)) # ('abc', 100) # <class 'tuple'>
Setiap elemen akan daripada jenis yang ditakrifkan oleh fungsi.
print(result[0]) print(type(result[0])) # abc # <class 'str'> print(result[1]) print(type(result[1])) # 100 # <class 'int'>
Ralat jika anda menentukan indeks yang melebihi bilangan nilai pulangan yang anda tentukan.
# print(result[2]) # IndexError: tuple index out of range
Ia boleh dibongkar dan berbilang nilai pulangan boleh diberikan kepada pembolehubah yang berasingan.
a, b = test() print(a) # abc print(b) # 100
Perkara yang sama berlaku jika anda ingin menentukan tiga atau lebih nilai pulangan dan bukannya dua sahaja.
def test2(): return 'abc', 100, [0, 1, 2] a, b, c = test2() print(a) # abc print(b) # 100 print(c) # [0, 1, 2]
Mengembalikan senarai.
[]
Jika anda melampirkannya dengan ini, nilai pulangan akan menjadi senarai dan bukannya tupel.
def test_list(): return ['abc', 100] result = test_list() print(result) print(type(result)) # ['abc', 100] # <class 'list'>