কম্পিউটার

পাইথনে A +=B অ্যাসাইনমেন্ট রিডল


এই অধ্যায়ে আমরা দেখি যখন আমরা একটি টিপলে মান আপডেট করি, যা আসলে অপরিবর্তনীয়। আমরা পুরানো মানগুলির সাথে নতুন মানগুলিকে একত্রিত করতে সক্ষম হব তবে এটি একটি ত্রুটি নিক্ষেপ করে৷ আমরা ত্রুটির বাইটকোড অধ্যয়ন করতে পারি এবং টিপলের নিয়মগুলি কীভাবে কাজ করে তা আরও ভালভাবে বুঝতে পারি।

প্রথমে আমরা একটি টিপল সংজ্ঞায়িত করি এবং তারপরে নীচে দেখানো হিসাবে এটির শেষ উপাদান আপডেট করার জন্য একটি কমান্ড ইস্যু করি৷

উদাহরণ

>>> tupl =(5,7,9,[1,4])>>> tupl[3] +=[6,8] 

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

ট্রেসব্যাক (সর্বশেষ সাম্প্রতিক কল):ফাইল "", লাইন 1, ইনটাইপ ত্রুটি:'টুপল' অবজেক্ট আইটেম অ্যাসাইনমেন্ট সমর্থন করে না>>> tupl(5, 7, 9, [1, 4, 6, 8]) 

এখন আমরা উপরের পদ্ধতির বাইট কোড অধ্যয়ন করার জন্য আমরা কোডটিকে একটি ফাংশনে রাখি এবং বাইট কোড প্রদর্শনের জন্য ডিস পদ্ধতি প্রয়োগ করি। আমরা একই ত্রুটি পাই কিন্তু আরো বিস্তারিত সহ।

উদাহরণ

def immut_function():tupl =(5,7,9,[1,4]) tupl[3] +=[6,8]immut_function()

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

TypeError Traceback (সর্বশেষ সাম্প্রতিক কল) মধ্যে () 2 tupl =(5,7,9,[1,4]) 3 tupl[3] +=[6,8]----> 4 immut_function( ) immut_function() 1 def immut_function():2 tupl =(5,7,9,[1,4])----> 3 tupl[3] +=[6,8]4 immut_function()TypeError:'টুপল' অবজেক্ট আইটেম অ্যাসাইনমেন্ট সমর্থন করে না

পরবর্তীতে আমরা টিপল অ্যাসাইনমেন্ট এবং ত্রুটির বিবরণ দেখতে উপরের ফাংশনের বাইটকোড প্রদর্শন করি।

উদাহরণ

import disdis.dis(immut_function)

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

2 0 LOAD_CONST 1 (5) 3 LOAD_CONST 2 (7) 6 LOAD_CONST 3 (9) 9 LOAD_CONST 4 (1) 12 LOAD_CONST 5 (4) 15 BUILD_LIST 2 18 BUILD_TUPLE 4 LOST_FAD 21 STURE23 (40FAD) (tupl) 27 LOAD_CONST 6 (3) 30 DUP_TOPX 2 33 BINARY_SUBSCR 34 LOAD_CONST 7 (6) 37 LOAD_CONST 8 (8) 40 BUILD_LIST 2 43 INPLACE_ADD 44 ROT_THCONSTRE6 (Suble_THCONSTRE6TURNVALUE) 

উপসংহারটি পরিবর্তনযোগ্য উপাদানগুলিকে টিপলে রাখা নয়। যদিও অ্যাসাইনমেন্ট সম্ভব, এটি একটি ব্যতিক্রম নিক্ষেপ করে। 46 মান সহ ধাপে দেখানো হয়েছে, টিপল একটি অপরিবর্তনীয় বস্তু হওয়ায় অ্যাসাইনমেন্ট ব্যর্থ হয়।


  1. issuperset() পাইথনে

  2. পাইথনে কুইন

  3. পাইথন বিটওয়াইজ অ্যাসাইনমেন্ট অপারেটরে উল্লম্ব বার কি?

  4. পাইথনে বিভিন্ন অ্যাসাইনমেন্ট অপারেটর কি কি?