Katika C, kurudisha maadili mengi kutoka kwa chaguo la kukokotoa ni ya kuchosha sana, lakini katika Python, ni rahisi sana kufanya.
Kurudi kumetenganishwa na koma
Katika Python, unaweza kurudisha tu orodha iliyotenganishwa kwa koma ya kamba au nambari.
Kama mfano, fafanua chaguo la kukokotoa ambalo hurejesha tu mfuatano na nambari kama inavyoonyeshwa hapa chini, na kila moja ikitenganishwa na koma baada ya kurejesha.
def test(): return 'abc', 100
Katika Python, maadili yaliyotenganishwa kwa koma huchukuliwa kuwa nakala zisizo na mabano, isipokuwa pale inapobidi kisintaksia. Kwa hivyo, chaguo la kukokotoa katika mfano hapo juu litarudisha nakala na kila thamani kama kipengele.
Ni koma inayounda tuple, sio mabano ya pande zote. Mabano ya pande zote yanaweza kuachwa, isipokuwa katika kesi ya nakala tupu au inapohitajika ili kuzuia utata wa kisintaksia.
Built-in Types — Python 3.10.0 Documentation
Aina ya thamani ya kurudi ni nakala.
result = test() print(result) print(type(result)) # ('abc', 100) # <class 'tuple'>
Kila kipengele kitakuwa cha aina iliyofafanuliwa na chaguo la kukokotoa.
print(result[0]) print(type(result[0])) # abc # <class 'str'> print(result[1]) print(type(result[1])) # 100 # <class 'int'>
Hitilafu ikiwa utabainisha faharasa inayozidi idadi ya thamani za kurejesha ulizofafanua.
# print(result[2]) # IndexError: tuple index out of range
Inaweza kufunguliwa na thamani nyingi za kurejesha zinaweza kupewa vigeu tofauti.
a, b = test() print(a) # abc print(b) # 100
Hali hiyo hiyo inatumika ikiwa unataka kubainisha thamani tatu au zaidi za kurejesha badala ya mbili tu.
def test2(): return 'abc', 100, [0, 1, 2] a, b, c = test2() print(a) # abc print(b) # 100 print(c) # [0, 1, 2]
Hurejesha orodha.
[]
Ukiambatanisha na hii, thamani ya kurudi itakuwa orodha badala ya nakala.
def test_list(): return ['abc', 100] result = test_list() print(result) print(type(result)) # ['abc', 100] # <class 'list'>