C-də bir funksiyadan çoxlu qaytarılan dəyərləri qaytarmaq olduqca yorucudur, lakin Python-da bunu etmək çox asandır.
Vergüllə ayrılmış qayıdın
Python-da siz sadəcə olaraq vergüllə ayrılmış sətirlərin və ya rəqəmlərin siyahısını qaytara bilərsiniz.
Nümunə olaraq, aşağıda göstərildiyi kimi yalnız sətir və ədədi qaytaran, hər biri qayıtdıqdan sonra vergüllə ayrılmış funksiyanı təyin edin.
def test(): return 'abc', 100
Python-da vergüllə ayrılmış qiymətlər sintaktik zərurətdən başqa, mötərizəsiz dəstlər hesab olunur. Buna görə də, yuxarıdakı misaldakı funksiya element kimi hər bir dəyəri olan bir dəst qaytaracaq.
Dəyirmi mötərizələri deyil, dəzgahı yaradan vergüldür. Dairəvi mötərizələr boş tuplelar və ya sintaktik qeyri-müəyyənliyin qarşısını almaq üçün lazım olduqda istisna olmaqla buraxıla bilər.
Built-in Types — Python 3.10.0 Documentation
Qaytarılan dəyər növü bir dəstdir.
result = test() print(result) print(type(result)) # ('abc', 100) # <class 'tuple'>
Hər bir element funksiya tərəfindən müəyyən edilmiş tipdə olacaqdır.
print(result[0]) print(type(result[0])) # abc # <class 'str'> print(result[1]) print(type(result[1])) # 100 # <class 'int'>
Müəyyən etdiyiniz qaytarma dəyərlərinin sayını aşan indeksi təyin etsəniz xəta.
# print(result[2]) # IndexError: tuple index out of range
O, qablaşdırıla bilər və ayrı-ayrı dəyişənlərə çoxlu qaytarma dəyərləri təyin edilə bilər.
a, b = test() print(a) # abc print(b) # 100
Eyni şey, yalnız iki əvəzinə üç və ya daha çox qaytarma dəyərini təyin etmək istəyirsinizsə, tətbiq olunur.
def test2(): return 'abc', 100, [0, 1, 2] a, b, c = test2() print(a) # abc print(b) # 100 print(c) # [0, 1, 2]
Siyahı qaytarır.
[]
Əgər onu bununla əlavə etsəniz, qaytarılan dəyər dəzgah əvəzinə siyahı olacaq.
def test_list(): return ['abc', 100] result = test_list() print(result) print(type(result)) # ['abc', 100] # <class 'list'>