পাইথনে দুটি ধরনের অবজেক্ট রয়েছে।
- মিউটেবল অবজেক্ট (Mutable Object)
- ইমিউটেবল অবজেক্ট (Immutable Object)
মিউটেবল (Mutable): মিউটেবল অবজেক্টগুলো পরিবর্তন করা যায়, অর্থাৎ এগুলো চেঞ্জেবল। লিস্ট (list), সেট (set), ডিকশনারি (dict) ইত্যাদি মিউটেবল। মিউটেবল অবজেক্টগুলো সহজে পরিবর্তন করা যায়।
উদাহরণ ১
my_list = ["Tutorials ", "Point", "Pvt", "Ltd"] my_list[2] = 'Tutorix' my_list
আউটপুট
['Tutorials ', 'Point', 'Tutorix', 'Ltd']
উদাহরণ ২
my_list = ['Car', 'Bike', 'Scooty', 'Bus', 'Metro'] my_list[4] = 'Bicycle' my_list
আউটপুট
['Car', 'Bike', 'Scooty', 'Bus', 'Bicycle']
ইমিউটেবল (Immutable): ইমিউটেবল অবজেক্টগুলো পরিবর্তন করা যায় না, অর্থাৎ এগুলো চেঞ্জেবল নয়। ইন্টিজার (int), ফ্লোট (float), বুলিয়ান (bool), স্ট্রিং (str), টাপল (tuple), ইউনিকোড (Unicode) ইত্যাদি ইমিউটেবল। ইমিউটেবল অবজেক্টগুলো পরিবর্তন করা ব্যয়বহুল ও কঠিন। টাপল প্যarethেসিসের ভিতরে লিখা হয় এবং টাপল ইমিউটেবল হওয়ায় এটিকে পরিবর্তন করা যায় না।
উদাহরণ ১
my_tuple = ('1', '2', 'Python', 'Perl')
my_tuple
আউটপুট
('1', '2', 'Python', 'Perl')
উদাহরণ ২
my_tuple = ('1', '2', 'Python', 'Perl')
my_tuple[4] = '2019'
my_tuple
আউটপুট
TypeError Traceback (most recent call last) ... TypeError: 'tuple' object does not support item assignment
উপরের আউটপুট থেকে স্পষ্ট হয় যে টাপল অবজেক্ট পরিবর্তন করা সম্ভব নয়।