ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-23, Thursday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

Python හි mutable හා immutable වස්තු අතර වෙනස්කම්: += ක්‍රියාවලියේ රහස

Python හි mutable හා immutable වස්තු අතර වෙනස්කම්: += ක්‍රියාවලියේ රහස

Python පරිගණක භාෂාවේ වස්තු (object) කළමනාකරණය ගැන අවධානයෙන් නොබලා ඉදිරියට යනවානම්, සරළ වගුවක් දෙකක් ඔබේ කේතයේදී වඩාත් වෙනස් ප්‍රතිඵල දෙයි. එකම නාමයක්, එකම ක්‍රියාවලිය, නමුත් වස්තුව mutable (වෙනස් කළ හැකි)ද immutable (අවලංගු)ද යන අංශය මත පදනම්ව ප්‍රතිචාර වෙනස් වේ.

උදාහරණයක් ලෙස, a = [1, 2, 3]; b = a; b += [4] යන ලයින් එකෙන් a ලයිස්තුවට 4 එකතු වේ. එයට විරුද්ධව, x = 1; y = x; y += 1 යන ලයින් එකෙන් x අගය වෙනස් නොවේ. මෙහි ප්‍රධාන තේරුම වන්නේ Python හි නාම (variable) යනු වස්තුවකට සම්බන්ධිත නාමයක් බවයි; ඒ වස්තුව වෙනස් වන්නේ නම් සියලු නාමයන් ඒ වෙනස්කම දැකගනී, නමුත් නාමය නව වස්තුවකට යළි සම්බන්ධ කරන්නේ නම් පරණ වස්තුවට කිසිදු බලපෑමක් නොවේ.

Python හි නාම‑වස්තු සම්බන්ධතා

සාමාන්‍යයෙන් පාඨමාලා තුළ නාමය "කට්ටියක්" ලෙස පෙන්වයි. එය immutable වස්තු සඳහා සත්‍යයයි, නමුත් mutable වස්තු සඳහා වැරැදි මතකයක් සලසයි. Python හි නාමය වස්තුවකට බඳවා ඇති නාමයක් ලෙස සැලකේ; ඒ වස්තුව වෙනත් නාමයන් සමඟත් බෙදාගත හැක. නාමයක් නව වස්තුවකට සම්බන්ධ කරන්නේ = හෝ += (rebind) ක්‍රියාවලියෙනි; නමුත් වස්තුවම වෙනස් කරන්නේ .append(), .extend(), .sort() වැනි මතක (mutation) ක්‍රියාවලීන්ගෙන්.

උදාහරණ සහ විශ්ලේෂණය

උදාහරණයක් ලෙස, a = [[1,2],[3,4]]; b = a.copy(); b[0].append(99) ක්‍රියාවලියෙන් a හා b දෙකේම පළමු අභ්‍යන්තර ලයිස්තුව [1,2,99] ලෙස වෙනස් වේ. a.copy() නව බාහිර ලයිස්තුවක් නිර්මාණය කරන නමුත් අභ්‍යන්තර ලයිස්තු ඒකම වස්තුවක් වෙයි; ඒ නිසා අභ්‍යන්තර ලයිස්තුවකට කරන මතක (mutation) දෙකම බලපායි.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

Python භාවිතා කරන ශ්‍රී ලංකා සංවර්ධකයින්, විද්‍යාර්ථීන්, ව්‍යාපාරිකයින් සඳහා මේ මූලික අවබෝධය අතිශය වැදගත් වේ. මතක-අවසර (mutation) ගැටළු නිසා කේතයේ අනිසි දෝෂ පණිවිඩ හෝ දත්ත අස්ථානය වෙනස් වීමක් සිදු විය හැක. එම ගැටළු ඉක්මනින් හඳුනා ගැනීමට "එකම වස්තුවට නාමයක් වැඩිදුරටත් සම්බන්ධයිද?" යන ප්‍රශ්නය අසන්න. මෙය දේශීය තාක්ෂණ ආරම්භකයන්ට කේත පරීක්ෂණ කාලය අඩු කර, නිෂ්පාදන ගුණාත්මකභාවය වැඩි කරයි.

අවසන් වශයෙන්, Python හි නාම‑වස්තු සම්බන්ධතා අධ්‍යයනය කරන්නේ ඔබේ කේතය ස්ථාවරව, නිරවද්‍යව, සහ පරීක්ෂා කළ හැකිව 만드는 මූලික පියවරයි. ඔබේ පළපුරුද්දේ මේ සංකල්පය ඇතුළත් කරගන්න, එවිට අනාගතයේ වැඩි සංකීර්ණ ප්‍රජාතන්ත්‍රික ව්‍යාපෘති වලට සූදානම් වනු ඇත.

💡 ඔබේ Python කේතය දැන්ම නිවැරදි කරගන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Python #ObjectModel #Mutation #Immutable #SriLankaTech