ใน Python มีวัตถุ 2 ประเภทหลัก:
- Mutable Object (วัตถุที่เปลี่ยนแปลงได้)
- Immutable Object (วัตถุที่เปลี่ยนแปลงไม่ได้)
Mutable (เปลี่ยนแปลงได้)
วัตถุ Mutable สามารถแก้ไขได้ เช่น list, set, dict เป็นต้น วัตถุเหล่านี้เปลี่ยนแปลงได้ง่าย
ตัวอย่างที่ 1
my_list = ["Tutorials", "Point", "Pvt", "Ltd"] my_list[2] = 'Tutorix' print(my_list)
ผลลัพธ์
['Tutorials', 'Point', 'Tutorix', 'Ltd']
ตัวอย่างที่ 2
my_list = ['Car', 'Bike', 'Scooty', 'Bus', 'Metro'] my_list[4] = 'Bicycle' print(my_list)
ผลลัพธ์
['Car', 'Bike', 'Scooty', 'Bus', 'Bicycle']
Immutable (เปลี่ยนแปลงไม่ได้)
วัตถุ Immutable ไม่สามารถแก้ไขได้ เช่น int, float, bool, str, tuple, frozenset เป็นต้น วัตถุเหล่านี้มีค่าใช้จ่ายสูงและยากที่จะเปลี่ยนแปลง Tuple ถูกล้อมรอบด้วยวงเล็บและไม่สามารถเปลี่ยนแปลงได้
ตัวอย่างที่ 1
my_tuple = ('1', '2', 'Python', 'Perl')
print(my_tuple)
ผลลัพธ์
('1', '2', 'Python', 'Perl')
ตัวอย่างที่ 2 - พยายามเปลี่ยนค่า Tuple
my_tuple = ('1', '2', 'Python', 'Perl')
my_tuple[4] = '2019' # จะเกิดข้อผิดพลาด
print(my_tuple)
ผลลัพธ์
TypeError: 'tuple' object does not support item assignment
จากผลลัพธ์ข้างต้น จะเห็นว่า Tuple ไม่สามารถเปลี่ยนแปลงค่าได้