পাইথনে একাধিক ভেরিয়েবলে একাধিক বা একই মান বরাদ্দ করা

ব্যবসায়

পাইথনে, = অপারেটরটি ভেরিয়েবলের মান নির্ধারণ করতে ব্যবহৃত হয়।

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'>

তারকাচিহ্ন এবং একাধিক ভেরিয়েবলে একটি টিপল বা তালিকার উপাদানগুলি কীভাবে বরাদ্দ করা যায় সে সম্পর্কে আরও তথ্যের জন্য, নিম্নলিখিত নিবন্ধটি দেখুন।

একাধিক ভেরিয়েবলে একই মান বরাদ্দ করুন

#ERROR!

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() সহ অগভীর এবং গভীর অনুলিপি তৈরি করার পদ্ধতিও রয়েছে।

Copied title and URL