AI ලෝකයේ භාෂාවේ මූලිකාංග සහ තවත් දේ.
AI සහ Machine Learning ව්යාපෘති සඳහා Python යනු ලොව ජනප්රියම භාෂාවයි. එයට හේතු වන්නේ එහි සරල බව, AI සඳහාම වෙන්වූ විශාල Libraries (NumPy, TensorFlow) එකතුව සහ විශාල ප්රජාවකගේ සහයෝගයයි.
Variable එකක් යනු දත්ත ගබඩා කරන නමක් සහිත "පෙට්ටියකි". Python වල ප්රධාන දත්ත වර්ග කිහිපයක් ඇත.
දත්ත එකතු කිරීම් (Collections):
එකකට වඩා වැඩි දත්ත ප්රමාණයක් එකම විචල්යයක ගබඩා කිරීමට මේවා යොදාගනී.
වෙනස් කළ හැකි දත්ත එකතුවකි. අලුතින් අයිතම එකතු කිරීමට (`append`) හෝ ඉවත් කිරීමට හැකිය.
students = ["කමල්", "විමලා", "සුනිල්"]
students.append("අමරා")
print(students[0]) # ප්රතිඵලය: කමල්
වෙනස් කළ නොහැකි දත්ත එකතුවකි. සෑදූ පසු එහි අගයන් වෙනස් කළ නොහැක. (ස්ථාවර දත්ත සඳහා සුදුසුයි).
# RGB වර්ණ කේතයක් වගේ
main_colors = (255, 165, 0)
print(main_colors[0]) # ප්රතිඵලය: 255
වැඩසටහන ක්රියාත්මක වන ආකාරය පාලනය කිරීමට මේවා යොදාගනී.
කොන්දේසි මත පදනම්ව විවිධ කේත කොටස් ක්රියාත්මක කරයි.
marks = 78
if marks >= 75:
grade = "A"
elif marks >= 65:
grade = "B"
else:
grade = "C"
print(grade) # ප්රතිඵලය: A
යම් කාර්යයක් නැවත නැවත කිරීමට යොදාගනී.
`for` loop: ලැයිස්තුවක ඇති සෑම අයිතමයක් සඳහාම ක්රියාත්මක වේ.
# students ලැයිස්තුවේ ඇති සියලු නම් print කිරීම
for student in students:
print(student)
`while` loop: යම් කොන්දේසියක් සත්යව පවතින තාක් කල් ක්රියාත්මක වේ.
count = 1
while count <= 5:
print(count)
count = count + 1
වැඩසටහන ක්රියාත්මක වීමේදී ඇතිවිය හැකි දෝෂ (errors) නිසා එය බිඳවැටීමෙන් වලක්වා ගැනීමට `try/except` යොදාගනී. උදාහරණයක් ලෙස, පරිශීලකයා අංකයක් වෙනුවට අකුරු ඇතුලත් කිරීම.
try:
user_input = input("අංකයක් ඇතුලත් කරන්න: ")
number = int(user_input)
print("ඔබ ඇතුලත් කළේ:", number)
except ValueError:
print("දෝෂයකි! කරුණාකර අංකයක් පමණක් ඇතුලත් කරන්න.")
ශ්රිතයක් යනු, නිශ්චිත කාර්යයක් ඉටු කරන, නැවත නැවත භාවිතා කළ හැකි කේත කොටසකි. `def` යන මූල පදය භාවිතයෙන් ශ්රිත සාදනු ලැබේ.
# පුද්ගලයෙකුට සුබ පතන ශ්රිතයක්
def greet(name):
print("ආයුබෝවන්, " + name + "!")
# ශ්රිතය call කිරීම
greet("සුමුදු")
greet("ප්රභාත්")
ක්ලාස් එකක් යනු, යම් වස්තුවක (object) "සැලැස්ම" (blueprint) වේ. එයට අදාළ දත්ත (attributes) සහ ක්රියාකාරකම් (methods) එහි අඩංගු වේ. උදාහරණයක් ලෙස, `Student` ක්ලාස් එකකින් අපට විවිධ ශිෂ්ය වස්තූන් (student objects) සෑදිය හැක.
class Student:
# සැලැස්මෙන් object එකක් හදන විට මුලින්ම ක්රියාත්මක වන method එක
def __init__(self, name, age):
self.name = name
self.age = age
# මෙම object එකට අදාළ ක්රියාවක් (method)
def show_details(self):
print(f"නම: {self.name}, වයස: {self.age}")
# Student සැලැස්මෙන් object දෙකක් සෑදීම
student1 = Student("දිනෙත්", 16)
student2 = Student("සචිනි", 17)
# ඒවයේ විස්තර පෙන්වීම
student1.show_details()
student2.show_details()
දැන් අපි ඉගෙනගත් සංකල්ප (loops, functions, try/except, lists) බොහොමයක් භාවිතා කර, ශිෂ්යයින්ගේ වයස ගණනය කර දත්ත ගබඩා කරන වැඩසටහනක් හදමු.
import datetime # වත්මන් වර්ෂය ලබාගැනීමට
def calculate_age(birth_year):
"""උපන් වර්ෂය ලබාගෙන වයස ගණනය කර ආපසු ලබාදෙන ශ්රිතයකි."""
current_year = datetime.date.today().year
return current_year - birth_year
# ශිෂ්ය දත්ත ගබඩා කිරීමට හිස් ලැයිස්තුවක්
student_list = []
print("--- ශිෂ්ය දත්ත ඇතුලත් කිරීමේ පද්ධතිය ---")
print("(නැවැත්වීමට නම සඳහා 'done' ලෙස type කරන්න)")
while True: # අනවරත ලූපයක්
name = input("\nශිෂ්යයාගේ නම: ")
if name.lower() == 'done':
break # 'done' නම් ලූපයෙන් ඉවත් වන්න
try:
birth_year_str = input("උපන් වර්ෂය: ")
birth_year = int(birth_year_str)
age = calculate_age(birth_year)
# ශිෂ්ය දත්ත tuple එකක් ලෙස ලැයිස්තුවට එකතු කිරීම
student_data = (name, age)
student_list.append(student_data)
print(f"✅ {name} (වයස {age}) සාර්ථකව ඇතුලත් කරන ලදී.")
except ValueError:
print("❌ දෝෂයකි! කරුණාකර උපන් වර්ෂය සඳහා ඉලක්කම් පමණක් යොදන්න.")
# අවසානයේ, සියලුම ශිෂ්යයින්ගේ දත්ත පෙන්වීම
print("\n--- සියලුම ශිෂ්ය දත්ත ---")
for student in student_list:
print(f"නම: {student[0]}, වයස: {student[1]}")
දැන් ඔබට ශක්තිමත්, ක්රියාකාරී සහ දෝෂ-ප්රතිරෝධී Python වැඩසටහන් ලිවීමේ මූලික හැකියාව ඇත.
දැන් අපිට කේත ලියන්න පුළුවන් නිසා, AI පද්ධති දත්ත වලින් "ඉගෙනගන්නා" ආකාරය තේරුම් ගැනීමට අවශ්ය ගණිතමය සංකල්ප කිහිපයක් ගැන.Next