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

Python හි '+' සංකේතය: ක්‍රියාකාරකම සහ ඔපරේටර‍් ඔවර්ලෝඩින්

Python හි '+' සංකේතය: ක්‍රියාකාරකම සහ ඔපරේටර‍් ඔවර්ලෝඩින්

Python භාෂාව "ඔවර්ලෝඩින්" නැති බව කියනවාද? අපේ මිතුරන් අතර සාකච්ඡා කරද්දී "+" සංකේතය එකම කාලයේ ගණිත එකතු කිරීමත්, පද රචනා එකතු කිරීමත් කරන්නේ කොහොමද කියලා ගැටළුවක් උනේ.

Python හි ක්‍රම (method) එකකට එකම නාමයෙන් දෙකක් ලියලා තිබුනොත්, අලුත් එක පරණ එක ඉවත් කරයි. උදාහරණයක් ලෙස Point පන්තියේ distance ක්‍රමය දෙවරක් ලියලා තියෙන්නේ නම්, දෙවන එක පමණක් පවතී. Java වගේ භාෂාවන්ට එහෙම නොවේ; ඒවාට "method overloading" කියලා එකම නාමයෙන් පරාමිතීන් වෙනස් කරලා එකাধিক ක්‍රම ලියන්න පුළුවන්.

Python එකේ "method overloading" නෑ කියලා හිතනවා නම්, "operator overloading" තියෙන බව අමතක නොකරන්න. මෙන්න __add__ නමැති magic method එක. ඔබේ පන්තියට මේ method එක එක්කලොත්, + සංකේතය ඔබේ වස්තු (object) අතර අර්ථවත් කරගන්න පුළුවන්. උදාහරණයක්:

class Point:
    def __init__(self, x, y):
        self.x, self.y = x, y
    def __add__(self, other):
        return Point(self.x + other.x, self.y + other.y)

ඉතින් p = Point(1,1) + Point(2,2) කියලා ලියලා p.x, p.y දර්ශනය කරන්නේ 3,3 යන අගයයි. float, str වගේ බිල්ට්‑ඉන් වර්ගයන්ටද තමන්ගේම __add__ method එක තියෙනවා, ඒ නිසා එකම සංකේතය දෙකෙකුත් කරගන්න පුළුවන්.

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

මෙම සංකල්පය ශ්‍රී ලංකාවේ තාක්ෂණික ශිෂ්‍යයන්, ඩිවෙලපර්ලා සහ ව්‍යාපාරිකයන්ට විශාල වාසියක් ගෙනෙනවා.

  • ශිෂ්‍යයන් – Python පාඩම් කරන සිසුන්ට operator overloading මගින් කේත ලියීම සරල කර ගත හැක, ඉගෙනීමේ ගැටළු අඩු වේ.
  • ඩිවෙලපර්ලා – තමන්ගේ කස්ටම් data structures සඳහා +, - වැනි සංකේත භාවිතා කරගනිමින් කේතයේ ප readability වැඩි කර ගත හැක.
  • ව්‍යාපාරිකයන් – API, data pipelines වැනි වැඩි දත්ත සැකසීමේ වැඩ වලදී operator overloading භාවිතා කරලා වැඩි කාර්යක්ෂමතාව සහ කේත පරීක්ෂණ පහසුකම ලබා ගත හැක.

ඔබට distance() වගේ method එකකට overloading අවශ්‍ය නම්, පරාමිතීන් පරීක්ෂා කරලා dispatch කරගන්නා ක්‍රමයක් නිර්මාණය කළ හැක. isinstance() භාවිතයෙන් argument වර්ගය අනුව වෙනස් method එකක් කැඳවීම මේකට උදාහරණයක්.

අවසන් වශයෙන්, Python එකේ "method overloading" නැතිවූවත්, "operator overloading" සක්‍රියව තිබෙන නිසා, ඔබේ කේතයට ගැලපෙන ලාභදායී පරිසරයක් නිර්මාණය කළ හැක.

💡 ඔබේ Python කේතයට operator overloading එක්කර බලන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Python #OperatorOverloading #MethodOverloading #SriLankaTech #Developers