Python میں، = آپریٹر کو متغیرات کو قدریں تفویض کرنے کے لیے استعمال کیا جاتا ہے۔
a = 100
b = 200
print(a)
# 100
print(b)
# 200
جیسا کہ اوپر دی گئی مثال میں، آپ ایک وقت میں ایک کے بجائے ایک ہی وقت میں متعدد متغیرات کو قدریں تفویض کر سکتے ہیں، جو کہ آسان ہے کیونکہ اسے لکھنے کے لیے کوڈ کی صرف ایک سادہ لائن کی ضرورت ہوتی ہے۔
درج ذیل دو صورتیں بیان کی گئی ہیں۔
- متعدد متغیرات کو متعدد اقدار تفویض کریں۔
- متعدد متغیرات کو ایک ہی قدر تفویض کریں۔
متعدد متغیرات کو متعدد اقدار تفویض کریں۔
متغیرات اور قدروں کو کوما کے ساتھ الگ کر کے متعدد اقدار کو ایک ساتھ متعدد متغیرات کو تفویض کیا جا سکتا ہے۔
a, b = 100, 200
print(a)
# 100
print(b)
# 200
تین یا زیادہ متغیر، ہر ایک مختلف قسم کے، قابل قبول ہیں۔
a, b, c = 0.1, 100, 'string'
print(a)
# 0.1
print(b)
# 100
print(c)
# string
اگر بائیں جانب ایک متغیر ہے، تو اسے ٹیپل کے طور پر تفویض کیا جاتا ہے۔
a = 100, 200
print(a)
print(type(a))
# (100, 200)
# <class 'tuple'>
اگر بائیں طرف متغیرات کی تعداد دائیں طرف کی قدروں کی تعداد سے مماثل نہیں ہے تو، ValueError کی خرابی پیدا ہوگی، لیکن باقی کو متغیر میں ستارہ شامل کرکے فہرست کے طور پر تفویض کیا جاسکتا ہے۔
# a, b = 100, 200, 300
# ValueError: too many values to unpack (expected 2)
# a, b, c = 100, 200
# ValueError: not enough values to unpack (expected 3, got 2)
a, *b = 100, 200, 300
print(a)
print(type(a))
# 100
# <class 'int'>
print(b)
print(type(b))
# [200, 300]
# <class 'list'>
*a, b = 100, 200, 300
print(a)
print(type(a))
# [100, 200]
# <class 'list'>
print(b)
print(type(b))
# 300
# <class 'int'>
ستارے کے بارے میں مزید معلومات کے لیے اور ایک سے زیادہ متغیرات کے لیے ٹیپل یا فہرست کے عناصر کو کیسے تفویض کیا جائے، درج ذیل مضمون کو دیکھیں۔
متعدد متغیرات کو ایک ہی قدر تفویض کریں۔
ایک ہی قدر کو لگاتار = استعمال کرکے متعدد متغیرات کو تفویض کیا جاسکتا ہے۔ یہ ایک ہی قدر میں متعدد متغیرات کو شروع کرنے کے لیے مفید ہے۔
a = b = 100
print(a)
# 100
print(b)
# 100
3 سے زیادہ ٹکڑے قابل قبول ہیں۔
a = b = c = 'string'
print(a)
# string
print(b)
# string
print(c)
# string
ایک ہی قدر تفویض کرنے کے بعد، ان میں سے کسی ایک کو دوسری قدر تفویض کی جا سکتی ہے۔
a = 200
print(a)
# 200
print(b)
# 100
متغیر اشیاء جیسا کہ فہرستیں اور لغت کی قسمیں تفویض کرتے وقت محتاط رہیں، نہ کہ ناقابل تغیر (غیر تبدیل شدہ) اشیاء جیسے کہ عدد، تیرتے ہوئے پوائنٹس اور تار۔
#ERROR!
a = b = [0, 1, 2]
print(a is b)
# True
a[0] = 100
print(a)
# [100, 1, 2]
print(b)
# [100, 1, 2]
نیچے کی طرح۔
b = [0, 1, 2]
a = b
print(a is b)
# True
a[0] = 100
print(a)
# [100, 1, 2]
print(b)
# [100, 1, 2]
اگر آپ ان پر الگ سے کارروائی کرنا چاہتے ہیں تو بس ہر ایک کو تفویض کریں۔
after c = []; d = [], c and d are guaranteed to refer to two different, unique, newly created empty lists. (Note that c = d = [] assigns the same object to both c and d.)
3. Data model — Python 3.10.4 Documentation
a = [0, 1, 2]
b = [0, 1, 2]
print(a is b)
# False
a[0] = 100
print(a)
# [100, 1, 2]
print(b)
# [0, 1, 2]
کاپی ماڈیول میں copy() اور deepcopy() کے ساتھ اتلی اور گہری کاپیاں بنانے کے طریقے بھی ہیں۔


