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

Python හි shallow copy හා deep copy අතර ඇති විස්මිත වෙනස

Python හි shallow copy හා deep copy අතර ඇති විස්මිත වෙනස

Python භාෂාවේ ලැයිස්තු (list) එකක් පිටපත් කරගන්නා විට, අපි බොහෝ වෙලාවට "copy" කියන වචනයේ අර්ථය පරිපූර්ණව තේරුම් ගත නොකරනවා. එම නිසා, පිටපතක් වෙනස් කළාම මුල් ලැයිස්තුවත් වෙනස් වෙනවා කියලා අපි අසාමාන්‍යයක් ලෙස හැඟෙයි.

උදාහරණයක් ලෙස, numbers = [[1, 2], [3, 4]] යන ලැයිස්තුවක් ගැන ගනීම් කරමු. copy = numbers.copy() කියලා shallow copy එකක් ගත්තාම, Python නව බාහිර ලැයිස්තුවක් (outer list) තැනුවත්, ඒ ලැයිස්තුවේ අන්තර්ගත අයිතම (inner lists) ඒම අයිතමයන්ට සබැඳිව රඳා පවතී. එමනිසා copy[0].append(99) කියලා inner list එකකට අගයක් එක් කළොත්, ඒ inner list එක numbers සහ copy දෙකම භාවිතා කරන නිසා මුල් ලැයිස්තුවත් වෙනස් වේ.

Shallow copy එකේ වැදගත්කම එහි අන්තර්ගත වස්තු (objects) අමාරු නොවන (immutable) වර්ගයන් (උදා: අංක, ස්ට්‍රින්) වන්නේ නම් ප්‍රමාණවත් වේ. නමුත් ලැයිස්තු, ඩික්ශනරි, සෙට් වැනි mutable වස්තු අඩංගු නම්, shallow copy එක ප්‍රයෝජනවත් නොවේ. එවැනි අවස්ථාවලදී Python හි deepcopy() ක්‍රියාවලිය භාවිතා කරමු. deepcopy() සියලු nested objects දක්වා නව පිටපත් සාදයි, ඒ නිසා මුල් හා පිටපත් අතර කිසිදු සබැඳියක් නොතිබේ.

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

ශ්‍රී ලංකාවේ වැඩිහිටි තරුණ ඩිවෙලොපර්, විද්‍යාර්ථීන්, ව්‍යාපාරිකයින්ට Python copy ක්‍රමවේදය තේරුම් ගැනීම ඉතා ප්‍රයෝජනවත්.

  • අධ්‍යාපනය: පාසල්, විශ්වවිද්‍යාල මට්ටමේ පරිගණක පාඨමාලාවලදී, ශිෂ්‍යයන්ට mutable සහ immutable වස්තු අතර වෙනස පැහැදිලි කරයි.
  • ව්‍යාපාර: දත්ත සැකසීම, API response handling වැනි වැඩ වලදී deep copy භාවිතා කරමින් දත්ත අහිමි වීම හෝ අනපේක්ෂිත වෙනස්කම් වැළැක්විය හැක.
  • සොෆ්ට්වෙයාර් සංවර්ධනය: කේතයේ බග් හඳුනා ගැනීම පහසු වේ, මොකද copy() සහ deepcopy() අතර ඇති තරමක් ව්‍යාප්ත වීම නිසා දෝෂ හඳුනා ගැනීමේ ක්‍රියාවලිය වේගවත් වේ.

ඉතින්, Python හි copy() සහ deepcopy() අතර ඇති වෙනස නිවැරදිව තේරුම් ගත නම්, කේතයේ නිරවද්‍යතාවය, ආරක්ෂාව, පරිපාලන කාර්යක්ෂමතාවය වඩාත් වැඩි වේ. මෙම මූලික සංකල්පය ඔබේ දෛනික වැඩකටයුතු වලට එක් කරගන්න.

ඉදිරියේදී Python කේත ලේඛනවල copy ප්‍රතිපත්තිය නිවැරදිව යොදා ගැනීම, ඔබේ වැඩසටහන්වල ගුණාත්මකභාවය වැඩි කරයි.

💡 Python copy තේරුම් ගැනීමට අපේ ලිපිය කියවන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Python #Copy #DeepCopy #Programming #Developers