Python ශ්‍රිතයක බහු ප්‍රතිලාභ අගයන් ලබා දෙන්නේ කෙසේද

ව්යාපාරික

C හි, ශ්‍රිතයකින් බහුවිධ ප්‍රතිලාභ අගයන් ආපසු ලබා දීම තරමක් වෙහෙසකර වන නමුත්, Python හි එය කිරීම ඉතා පහසු වේ.

ආපසු කොමා වලින් වෙන් කර ඇත

Python හි, ඔබට සරලව කොමාවෙන් වෙන් වූ නූල් හෝ අංක ලැයිස්තුවක් ආපසු ලබා දිය හැක.

උදාහරණයක් ලෙස, පහත දැක්වෙන පරිදි තන්තුවක් සහ සංඛ්‍යාවක් පමණක් ආපසු ලබා දෙන ශ්‍රිතයක් නිර්වචනය කරන්න, ඒ සෑම එකක්ම ආපසු පැමිණීමෙන් පසු කොමාවකින් වෙන් කරනු ලැබේ.

def test():
    return 'abc', 100

Python හි, වාක්‍යානුකූලව අවශ්‍ය විට හැර, කොමාවෙන් වෙන් කළ අගයන් වරහන් නොමැතිව ටියුපල් ලෙස සලකනු ලැබේ. එබැවින්, ඉහත උදාහරණයේ ශ්‍රිතය මඟින් එක් එක් අගය සමඟ මූලද්‍රව්‍යයක් ලෙස ටියුපල් එකක් ලබා දෙනු ඇත.

වටකුරු වරහන් නොව ටුපල් නිර්මාණය කරන්නේ කොමාවයි. වාක්‍ය ඛණ්ඩ නොපැහැදිලි භාවය වළක්වා ගැනීම සඳහා හිස් ටියුපල් හෝ අවශ්‍ය විට හැර, වටකුරු වරහන් මඟ හැරිය හැක.
Built-in Types — Python 3.10.0 Documentation

ආපසු ලැබෙන අගයේ වර්ගය ටියුපල් වේ.

result = test()

print(result)
print(type(result))
# ('abc', 100)
# <class 'tuple'>

සෑම මූලද්‍රව්‍යයක්ම ශ්‍රිතයෙන් නිර්වචනය කරන ලද ආකාරයේ වේ.

print(result[0])
print(type(result[0]))
# abc
# <class 'str'>

print(result[1])
print(type(result[1]))
# 100
# <class 'int'>

ඔබ නිර්වචනය කළ ප්‍රතිලාභ අගයන් ගණන ඉක්මවන දර්ශකයක් සඳහන් කළහොත් දෝෂයකි.

# print(result[2])
# IndexError: tuple index out of range

එය අසුරනු ලැබිය හැකි අතර වෙනම විචල්‍යයන් සඳහා බහු ප්‍රතිලාභ අගයන් පැවරිය හැක.

a, b = test()

print(a)
# abc

print(b)
# 100

ඔබට ප්‍රතිලාභ අගයන් දෙකක් වෙනුවට තුනක් හෝ වැඩි ගණනක් සඳහන් කිරීමට අවශ්‍ය නම් එයම අදාළ වේ.

def test2():
    return 'abc', 100, [0, 1, 2]

a, b, c = test2()

print(a)
# abc

print(b)
# 100

print(c)
# [0, 1, 2]

ලැයිස්තුවක් ආපසු ලබා දෙයි.

[]ඔබ එය මේ සමඟ අමුණා ඇත්නම්, ආපසු ලැබෙන අගය ටියුපල් වෙනුවට ලැයිස්තුවක් වනු ඇත.

def test_list():
    return ['abc', 100]

result = test_list()

print(result)
print(type(result))
# ['abc', 100]
# <class 'list'>
Copied title and URL