4. ශ්‍රිත (Functions)

පාඩම 4.1: ශ්‍රිතයක් නිර්වචනය සහ කැඳවීම

ශ්‍රිතයක් යනු නිශ්චිත කාර්යයක් ඉටු කිරීම සඳහා ලියන ලද, නැවත නැවත භාවිතා කළ හැකි කේත කොටසකි. එය හරියටම යම් කාර්යයක් සඳහා වූ කුඩා වැඩසටහනක් වැනිය. ඔබ එය වරක් නිර්වචනය කළ පසු, ඔබට අවශ්‍ය ඕනෑම වාර ගණනක් එය "කැඳවීම" (call) මගින් භාවිතා කළ හැක.

ශ්‍රිතයක් නිර්වචනය කිරීම (Defining a Function)

Python වල ශ්‍රිතයක් නිර්වචනය කරන්නේ def යන මූල පදය (keyword) භාවිතා කරමිනි.

# ශ්‍රිතය නිර්වචනය කිරීම
def show_greeting():
    print("-------------------------")
    print("ආයුබෝවන්!")
    print("Python ශ්‍රිත පාඩමට ඔබව සාදරයෙන් පිළිගනිමු.")
    print("-------------------------")

ශ්‍රිතයක් කැඳවීම (Calling a Function)

ශ්‍රිතයක් නිර්වචනය කළ පමණින් එය ක්‍රියාත්මක නොවේ. එය ක්‍රියාත්මක කිරීමට, ඔබ එය නමින් "කැඳවිය" යුතුය.

# ශ්‍රිතය කැඳවීම
print("පළමු වරට ශ්‍රිතය කැඳවීම:")
show_greeting()

print("\nදෙවන වරට ශ්‍රිතය කැඳවීම:")
show_greeting()

පරාමිතීන් සහ ආර්ගියුමන්ට් (Parameters and Arguments)

ශ්‍රිත වඩාත් ප්‍රයෝජනවත් වන්නේ ඒවාට පිටතින් දත්ත ලබාගෙන වැඩ කිරීමට හැකි වූ විටය.

  • **පරාමිතිය (Parameter):** ශ්‍රිතය නිර්වචනය කිරීමේදී, වරහන් තුළට යොදන විචල්‍යයයි.
  • **ආර්ගියුමන්ට් (Argument):** ශ්‍රිතය කැඳවීමේදී, වරහන් තුළට ලබාදෙන සැබෑ අගයයි.

උදාහරණය:

# 'user_name' යනු පරාමිතියයි (parameter)
def greet_person(user_name):
    print(f"ආයුබෝවන්, {user_name}!")

# "කමල්" සහ "සමන්ති" යනු ආර්ගියුමන්ට් වේ (arguments)
greet_person("කමල්")
greet_person("සමන්ති")

ප්‍රතිලාභ අගයන් (Return Values)

සමහර විට ශ්‍රිතයකින් යම් කාර්යයක් කර, එහි ප්‍රතිඵලය ආපසු ලබා දීමට අපට අවශ්‍ය වේ. මේ සඳහා return යන මූල පදය භාවිතා කරයි.

උදාහරණය:

def add_numbers(num1, num2):
    total = num1 + num2
    return total # පිළිතුර print කරනවා වෙනුවට, එය ආපසු ලබා දෙයි

# ශ්‍රිතය කැඳවා, ලැබෙන ප්‍රතිඵලය 'result' විචල්‍යයේ ගබඩා කරගැනීම
result = add_numbers(8, 12)
print(f"ශ්‍රිතයෙන් ලැබුණු ප්‍රතිඵලය: {result}")
print(f"එම ප්‍රතිඵලය භාවිතා කර තවත් ගණනයක්: {result * 2}")

ප්‍රතිඵලය:

ශ්‍රිතයෙන් ලැබුණු ප්‍රතිඵලය: 20
එම ප්‍රතිඵලය භාවිතා කර තවත් ගණනයක්: 40

ශ්‍රිත යනු විශාල වැඩසටහන් කුඩා, කළමනාකරණය කළ හැකි කොටස් වලට බෙදීමට ඇති හොඳම ක්‍රමයයි. ඔබ දැන් Python වල මූලික සහ අතරමැදි මට්ටමේ වැදගත්ම කොටස් සියල්ල ඉගෙනගෙන අවසන්.