ازگر کے فنکشن میں متعدد ریٹرن ویلیوز کو کیسے لوٹایا جائے۔

کاروبار

C میں، ایک فنکشن سے ایک سے زیادہ ریٹرن ویلیو واپس کرنا کافی تکلیف دہ ہے، لیکن 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