Maxaad Baranaysaa Casharkaan?
Casharkaan wuxuu kugu barin doonaa sida loo sameeyo Functions — qaybaha koodhka la dib-isticmaali karo. Waxaad sidoo kale baranaysaa sida loo isticmaalo Modules — maktabadaha Python-ka oo horay loo yaqaan.
📌 Waxaad baranaysaa: def, parameters, return values, default values, *args, **kwargs, iyo modules aasaasiga ah (math, os, datetime, random).
1. Functions — Waa maxay?
Function waa koox koodh ah oo leh magac gaar ah, oo aad ku soo wici karto meel kasta. Halkii aad isla koodhka ku qorto 10 jeer, waxaad qortaa hal mar oo ku wicid.
Qaabka Aasaasiga ah
def salaan():
print("Ku soo dhowow Fadal Store!")
print("Python Koorso Af-Soomaali")
# Wac function-ka
salaan()
salaan() # Dib u isticmaal — ma baahna inaad mar labaad qorto
2. Parameters — Xogta Gudaha
# Function leh parameter
def salaan_magac(magac):
print(f"Ku soo dhowow, {magac}!")
salaan_magac("Axmed") # Ku soo dhowow, Axmed!
salaan_magac("Fadumo") # Ku soo dhowow, Fadumo!
# Parameters badan
def qiimee_shaqaale(magac, mushaharo, da):
print(f"Magac: {magac}")
print(f"Mushaharo: ${mushaharo}")
print(f"Da: {da} sano")
qiimee_shaqaale("Axmed", 2500, 28)
3. Return Values — Soo Celi Natiijooyinka
# Function leh return
def isugeyn(a, b):
natiijooy = a + b
return natiijooy
# Kayd natiijooyinka
wadarta = isugeyn(10, 25)
print(f"10 + 25 = {wadarta}") # 35
# Functions koodhka yaabka leh
def bmi_xisaabi(miis, dherer):
bmi = miis / (dherer ** 2)
return round(bmi, 1)
def bmi_qiimee(bmi):
if bmi < 18.5:
return "Cuf yar"
elif bmi < 25:
return "Caadi"
elif bmi < 30:
return "Cuf dheeraad ah"
else:
return "Waaxid"
# Isticmaal
my_bmi = bmi_xisaabi(70, 1.75)
xaalad = bmi_qiimee(my_bmi)
print(f"BMI: {my_bmi} — {xaalad}")
4. Default Values
def salaan_heer(magac, luuqad="Soomaali"):
if luuqad == "Soomaali":
print(f"Ku soo dhowow, {magac}!")
elif luuqad == "English":
print(f"Welcome, {magac}!")
elif luuqad == "Arabic":
print(f"Ahlan wa sahlan, {magac}!")
salaan_heer("Axmed") # Default: Soomaali
salaan_heer("Ahmed", "English") # English
salaan_heer("Axmed", "Arabic") # Arabic
5. *args iyo **kwargs
# *args — parameters tirada aan go'an
def wadarta_dhammaan(*tirooyin):
wadarta = 0
for tiro in tirooyin:
wadarta += tiro
return wadarta
print(wadarta_dhammaan(1, 2, 3)) # 6
print(wadarta_dhammaan(10, 20, 30, 40)) # 100
# **kwargs — parameter magac leh
def macluumaad_shaqaale(**xogta):
for furaha, qiimaha in xogta.items():
print(f"{furaha}: {qiimaha}")
macluumaad_shaqaale(magac="Axmed", da=28, magaalo="Mogadishu")
6. Modules — Maktabadaha Python
Module waa faylo Python ah oo ku jira functions aad isticmaali karto. Python waxay leedahay modules badan oo "built-in" ah:
math — Xisaabinta
import math
print(math.pi) # 3.141592653589793
print(math.sqrt(144)) # 12.0
print(math.floor(9.7)) # 9
print(math.ceil(9.1)) # 10
print(math.pow(2, 10)) # 1024.0
random — Tirooyin Xashiishi ah
import random
# Tiro xashiishi 1-100
print(random.randint(1, 100))
# Dooro mid liiska
magacyada = ["Axmed", "Fadumo", "Cali", "Hodan"]
print(random.choice(magacyada))
# Xashiishi order
random.shuffle(magacyada)
print(magacyada)
datetime — Taariikhda & Wakhtiga
from datetime import datetime
hadda = datetime.now()
print(f"Taariikhda: {hadda.strftime('%d/%m/%Y')}")
print(f"Wakhtiga: {hadda.strftime('%H:%M:%S')}")
print(f"Sanadka: {hadda.year}")
print(f"Bishada: {hadda.month}")
os — Maamulka Nidaamka
import os
# Meeshaan joogto
print(os.getcwd())
# Liiska faylasha
print(os.listdir("."))
# Samee galka
os.makedirs("galka_cusub", exist_ok=True)
# Magaca nidaamka
print(os.name) # 'posix' (Linux/Mac) ama 'nt' (Windows)
7. Samee Module-kaaga Gaarka ah
# 1. Samee faylka: xisaabiye.py
# Geli koodhkan:
def isugeyn(a, b):
return a + b
def jarrid(a, b):
return a - b
def xidid(a, b):
return a * b
def qeybso(a, b):
if b == 0:
return "Khalad: Lama qeybin karo eber"
return a / b
# 2. Faylka kale (main.py) ku isticmaal:
# import xisaabiye
# print(xisaabiye.isugeyn(10, 5)) # 15
# print(xisaabiye.qeybso(10, 0)) # Khalad: ...
💡 Aragti muhiim ah (DRY): "Don't Repeat Yourself" — ha ku lahaanin isla koodhka laba meel. Functions waxay kaa caawiyaan inaad sameyso koodh nidaamsan oo la ilaalin karo.
🎉 Hambalyo! Waxaad dhammaystirtay Casharka 6aad! Hadda waxaad qori kartaa koodh nidaamsan oo adoo isticmaalaya functions iyo modules. Casharka xiga — Casharka Ugu Dambeeya — waxaad samaysaa Project Dhabta ah!