পাইথনে কপি নামে একটি মডিউল আছে . এই মডিউলটি ব্যবহার করে, আমরা গভীর অনুলিপি এবং অগভীর অনুলিপি সম্পাদন করতে পারি। পাইথনে অ্যাসাইনমেন্ট বিবৃতি বস্তুগুলি অনুলিপি করে না। তারা লক্ষ্য এবং প্রধান বস্তুর মধ্যে একটি বাঁধন তৈরি করে।
এই মডিউলটি ব্যবহার করতে, আমাদের এটি −
ব্যবহার করে আমদানি করা উচিতকপি আমদানি করুন
পদ্ধতি copy.copy(x)
এই পদ্ধতিটি অবজেক্ট x এর একটি অগভীর অনুলিপি তৈরি করতে ব্যবহৃত হয়। অগভীর অনুলিপির জন্য, একটি বস্তুর একটি রেফারেন্স অন্য বস্তুতে অনুলিপি করা হয়। তাই অনুলিপি করা রেফারেন্সে যদি কোনো পরিবর্তন হয়, তাহলে এটি মূল বস্তুর বিষয়বস্তু পরিবর্তন করবে।
পদ্ধতি copy.deepcopy(x)
এই পদ্ধতিটি অবজেক্ট x এর একটি গভীর অনুলিপি তৈরি করতে ব্যবহৃত হয়। গভীর অনুলিপির জন্য, মূল বস্তু থেকে ডেটা নিয়ে একটি পৃথক বস্তু তৈরি করা হয়। তাই অনুলিপি করা রেফারেন্সে কোনো পরিবর্তন হলে, মূল বস্তুটি একই থাকবে।
উদাহরণ কোড
import copymy_mat =[[11,22,33],[44,55,66],[11,22,33]]প্রিন্ট('ম্যাট্রিক্স আপডেট করার আগে:' + str(my_mat))new_mat =copy.copy (my_mat) # একটি অগভীর অনুলিপি তৈরি করুন এবং কপি করা অবজেক্ট নিউ_ম্যাট[2][0] =77new_mat[2][1] =88new_mat[2][2] =99print('Matrix After Updation:' + str(my_mat)) #Original Matrix Updatedmy_mat =[[11,22,33],[44,55,66],[11,22,33]]new_mat_deep =copy.deepcopy(new_mat)print('\nআপডেট করার আগে ম্যাট্রিক্স:' + str( my_mat))new_mat_deep[2][0] =77new_mat_deep[2][1] =88new_mat_deep[2][2] =99print('Matrix After Updation:' + str(my_mat)) # আসল ম্যাট্রিক্স অপরিবর্তিত প্রিন্ট('নতুন ম্যাট্রিক্স:' + str(new_mat_deep)) # আসল ম্যাট্রিক্স অপরিবর্তিত