Skip to content

Mutable ಮತ್ತು Immutable ಡೇಟಾ ಟೈಪ್ಸ್

ಪೈಥಾನ್‌ನಲ್ಲಿ, ಡೇಟಾ ಟೈಪ್‌ಗಳನ್ನು ಅವುಗಳ ಮೌಲ್ಯವನ್ನು ರಚಿಸಿದ ನಂತರ ಬದಲಾಯಿಸಬಹುದೇ ಅಥವಾ ಇಲ್ಲವೇ ಎಂಬುದರ ಆಧಾರದ ಮೇಲೆ ಎರಡು ಮುಖ್ಯ ಗುಂಪುಗಳಾಗಿ ವಿಂಗಡಿಸಲಾಗಿದೆ: Mutable (ಬದಲಾಯಿಸಬಹುದಾದ) ಮತ್ತು Immutable (ಬದಲಾಯಿಸಲಾಗದ).


Immutable (ಬದಲಾಯಿಸಲಾಗದ) ಡೇಟಾ ಟೈಪ್ಸ್

ಒಂದು Immutable ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ಒಮ್ಮೆ ರಚಿಸಿದ ನಂತರ, ಅದರ ಮೌಲ್ಯವನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನೀವು ಅದರ ಮೌಲ್ಯವನ್ನು ಬದಲಾಯಿಸಲು ಪ್ರಯತ್ನಿಸಿದರೆ, ಪೈಥಾನ್ ಹೊಸ ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ.

Immutable ಡೇಟಾ ಟೈಪ್‌ಗಳು: - int (Integer) - float (Float) - str (String) - tuple (ಟ್ಯೂಪಲ್) - bool (Boolean) - frozenset

ಉದಾಹರಣೆ 1: String (str)

my_string = "ಹಲೋ"
print(f"ಮೂಲ ಸ್ಟ್ರಿಂಗ್: {my_string}")
print(f"ಮೂಲ ID: {id(my_string)}")

# ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಬದಲಾಯಿಸಲು ಪ್ರಯತ್ನಿಸೋಣ
my_string = my_string + " ವಿಶ್ವ!"  # ಇಲ್ಲಿ ಹೊಸ ಸ್ಟ್ರಿಂಗ್ ಆಬ್ಜೆಕ್ಟ್ ರಚನೆಯಾಗುತ್ತದೆ

print(f"ಹೊಸ ಸ್ಟ್ರಿಂಗ್: {my_string}")
print(f"ಹೊಸ ID: {id(my_string)}") # ID ಬದಲಾಗಿದೆ, ಅಂದರೆ ಇದು ಹೊಸ ಆಬ್ಜೆಕ್ಟ್

# ನೇರವಾಗಿ ಅಕ್ಷರ ಬದಲಾಯಿಸಲು ಪ್ರಯತ್ನಿಸಿದರೆ ಎರರ್ ಬರುತ್ತದೆ
# my_string[0] = "H"  # TypeError: 'str' object does not support item assignment

ಉದಾಹರಣೆ 2: Tuple

my_tuple = (1, 2, 3)
print(f"ಮೂಲ ಟ್ಯೂಪಲ್: {my_tuple}")

# ಟ್ಯೂಪಲ್‌ನ ಅಂಶವನ್ನು ಬದಲಾಯಿಸಲು ಪ್ರಯತ್ನಿಸಿದರೆ ಎರರ್ ಬರುತ್ತದೆ
# my_tuple[0] = 10  # TypeError: 'tuple' object does not support item assignment

Mutable (ಬದಲಾಯಿಸಬಹುದಾದ) ಡೇಟಾ ಟೈಪ್ಸ್

ಒಂದು Mutable ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸಿದ ನಂತರ, ಅದರ ಮೌಲ್ಯವನ್ನು (ಅಂಶಗಳನ್ನು) ಬದಲಾಯಿಸಬಹುದು. ಹೀಗೆ ಮಾಡಿದಾಗ ಹೊಸ ಆಬ್ಜೆಕ್ಟ್ ರಚನೆಯಾಗುವುದಿಲ್ಲ, ಬದಲಿಗೆ ಅದೇ ಆಬ್ಜೆಕ್ಟ್‌ನಲ್ಲೇ ಬದಲಾವಣೆಗಳಾಗುತ್ತವೆ.

Mutable ಡೇಟಾ ಟೈಪ್‌ಗಳು: - list (ಪಟ್ಟಿ) - dict (ಡಿಕ್ಷನರಿ) - set (ಸೆಟ್)

ಉದಾಹರಣೆ 1: List

my_list = [10, 20, 30]
print(f"ಮೂಲ ಪಟ್ಟಿ: {my_list}")
print(f"ಮೂಲ ID: {id(my_list)}")

# ಪಟ್ಟಿಯ ಅಂಶವನ್ನು ಬದಲಾಯಿಸೋಣ
my_list[0] = 100
my_list.append(40)

print(f"ಬದಲಾದ ಪಟ್ಟಿ: {my_list}")
print(f"ಬದಲಾದ ನಂತರದ ID: {id(my_list)}") # ID ಬದಲಾಗಿಲ್ಲ, ಅಂದರೆ ಅದೇ ಆಬ್ಜೆಕ್ಟ್‌ನಲ್ಲೇ ಬದಲಾವಣೆಯಾಗಿದೆ

ಉದಾಹರಣೆ 2: Dictionary

my_dict = {"name": "ರವಿ", "age": 25}
print(f"ಮೂಲ ಡಿಕ್ಷನರಿ: {my_dict}")

# ಡಿಕ್ಷನರಿಯ ಮೌಲ್ಯವನ್ನು ಬದಲಾಯಿಸೋಣ
my_dict["age"] = 26
my_dict["city"] = "ಬೆಂಗಳೂರು" # ಹೊಸ ಕೀ-ಮೌಲ್ಯ ಜೋಡಿ ಸೇರಿಸುವುದು

print(f"ಬದಲಾದ ಡಿಕ್ಷನರಿ: {my_dict}")

ಸಾರಾಂಶ

ಗುಣಲಕ್ಷಣ Immutable Mutable
ಅರ್ಥ ಮೌಲ್ಯವನ್ನು ಬದಲಾಯಿಸಲಾಗದು ಮೌಲ್ಯವನ್ನು ಬದಲಾಯಿಸಬಹುದು
ಉದಾಹರಣೆಗಳು int, float, str, tuple, bool list, dict, set
ಕಾರ್ಯಕ್ಷಮತೆ ವೇಗವಾಗಿರುತ್ತವೆ (ಮೌಲ್ಯ ಸ್ಥಿರ) ನಿಧಾನವಾಗಿರುತ್ತವೆ (ಮೌಲ್ಯ ಬದಲಾಗಬಹುದು)
ಬಳಕೆ ಸ್ಥಿರ ಮೌಲ್ಯಗಳು ಬೇಕಾದಾಗ (ಉದಾ: ಡಿಕ್ಷನರಿ ಕೀ) ಮೌಲ್ಯಗಳು ಬದಲಾಗಬೇಕಾದಾಗ (ಉದಾ: ಡೇಟಾ ಸಂಗ್ರಹ)

ಈ ಪರಿಕಲ್ಪನೆಯು ಪೈಥಾನ್‌ನಲ್ಲಿ ಮೆಮೊರಿ ನಿರ್ವಹಣೆ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯ ದೃಷ್ಟಿಯಿಂದ ಬಹಳ ಮುಖ್ಯವಾಗಿದೆ.