🐍

Koorsada Hordhaca ah ee Python - Guudmar

Jan 15, 2026

Guudmar

  • Taxane muxaadarooyin soo bandhigaya Python: rakibid, aasaas, mashaariic (web, otomaatik, ML).
  • Waxay ka kooban tahay dejinta Python, tafatirayaasha, naxwe xudbad, noocyada xogta, socodka xakamaynta, hawlgallada, OOP, modules, baakadaha, maktabadaha, iyo mashaariic (otomaatik, ML, Django).
  • Waxaa ku jira tusaalooyin wax ku ool ah, jimicsiyo, iyo hab-raacyo la soo jeediyay.

Dejinta Iyo Qalabka

  • Ku rakib Python python.org; dooro Python 3 (hubi “Add Python to PATH” Windows-ka).
  • Ku rakib PyCharm (Community edition) sidii IDE; abuuro mashruuc cusub oo u dejiso interpreter-ka aasaasiga ah Python 3.
  • Isticmaal qaybinta Anaconda ee cilmiga xogta (waxay ku jiraan Jupyter, numpy, pandas, matplotlib, scikit-learn).
  • Isticmaal pip si aad u rakibto xirmooyinka dhinac-saddexaad (pip install package_name).
QalabIsticmaalXusuusin
PythonLuuqad barnaamijIsticmaal Python 3; interpreter-ku wuxuu fulinayaa koodka xariiq ahaan
PyCharmIDECommunity edition waa bilaash; abuur mashruuc, orod/debug
AnacondaDeegaan cilmiga xogtaWaxay rakibtaa Jupyter, numpy, pandas, scikit-learn
pipRakibaha xirmooyinkaLoogu talagalay rakibidda xirmooyinka ka jira PyPI

Aasaaska Fikradaha Iyo Naxwaha

  • Print iyo input:
    • print("text") waxay soo saartaa terminal-ka.
    • input("Prompt: ") waxay soo celisaa string ka yimaada isticmaale.
  • Strings: hal, labo, saddex-laab oo xigashooyin ah loogu talagalay xariiqooyin badan; ka baxsashada (escaping) iyadoo la adeegsanayo xigasho kale ama triple quotes.
  • Indexing iyo slicing:
    • Indexing ka bilaabma eber: s[0] waa xarafka ugu horreeya.
    • Indexes taban: s[-1] waa xarafka ugu dambeeya.
    • Slice s[start:end] wuxuu soo celiyaa start..end-1; qiimayaasha default waa la oggol yahay.
  • Xadhkaha la qaabeeyey (f-strings):
    • Hore uga dhig f oo isticmaal {variable} si aad u geliso qiimayaal.

Noocyada Xogta Iyo Isbeddelayaasha

  • Nambarada: int (aan jajab lahayn), float (jajab leh).
  • Xadhkaha: taxane xarfo ah.
  • Boolean: True / False (huruudaysan).
  • Isbeddelayaasha: identifier = value. Python waa case-sensitive.
  • Hawlaha beddelidda nooca: int(), float(), bool(), str().
  • len() loogu talagalay dhererka strings ama liisaska.
NoocTusaale LuuqadHawl/Farsamo
Integer10int()
Float4.9float()
String"Mosh"str(), .upper(), .lower(), .replace(), .find()
BooleanTrue / Falsebool()
List[1,2,3].append(), .insert(), .remove(), .pop(), .clear(), .sort(), .reverse(), .count(), .index(), .copy()
Tuple(1,2,3)immutable; .count(), .index()
Dict{"name":"John","age":30}.get(), update via customer['key']=value

Muujinta, Hawl-wadeennada, Iyo Xisaabta

  • Aritmetik: +, -, *, / (float), // (qaybinta integer), % (hadhaaga), ** (xoog).
  • Mudnaanta hawl-wadeennada: qawaaniinta -> xoog -> isku dhufasho/qaybin -> isku dar/isku yarayn.
  • Qoraalinta la kordhiyey: x += 3, x -= 3, x *= 3.
  • Hawlo faa'iido leh: round(), abs(); import math si aad u hesho ceil(), floor(), iwm.

Socodka Xakamaynta

  • if / elif / else:
    • Isticmaal hawl-wadeennada boolean/isku-dheellitirka: ==, !=, >, <, >=, <=.
    • Ka digtoonow: kala-soocidda = vs isbarbardhigga ==.
  • Hawl-wadeennada macquulka ah:
    • and: labadaba run
    • or: ugu yaraan hal run
    • not: beddel boolean-ka
  • Tusaalooyinka: if/elif/else isku dhex jiro oo loogu talagalay xeerar shuruudo badan (tusaale, qiimeyn/deyn-hoosaad logic).

Loops

  • while loop:
    • while condition: la celceliyaa ilaa shuruuddu ka noqonayso been.
    • Isticmaal break si aad uga baxdo hore; else ikhtiyaari ah ayaa la fuliyaa haddii while uu dhamaado iyada oo aan la isticmaalin break.
  • for loop:
    • for item in collection: ku dul wareeg string, list, ama range().
    • range(start, stop, step) waxay soo saartaa nambarro (stop lama galin).
  • Loops isku dhex jira: loops gudaha loops (waxay faa'iido leeyihiin goobo, qaabab).
  • Hababka caadiga ah: isku uruurinta wadarta, dhisidda xadhkaha, abuuridda qaabab.

Hawlgallada (Functions)

  • Xaqiiji: def function_name(parameters): body
  • Wac hawlgallada kadib marka la qeexo.
  • Parameters vs arguments:
    • Parameters: boos-hayayaal ku jira qeexida hawsha.
    • Arguments: qiimaha dhabta ah ee la soo gudbiyo marka la waco.
  • Soo celinta qiimaha: isticmaal return si aad u soo celiso qiimo; default-ka return waa None.
  • Positional vs keyword arguments:
    • Positional: amarka ayaa muhiim ah.
    • Keyword: kordhiya akhris-siinta (name=value) waxayna tahay in lagu xuso ka dib kuwa positional.

Modules, Baakadaha, Iyo Abaabulka

  • Module: feyl .py ah oo ka kooban hawlgallo/iskaashatooyin; import module ama from module import name.
  • Package: gal leh init.py iyo modules gudaha; isticmaal package.module import name.
  • U abaabul hawlgallada la xiriira modules (tusaale, converters.py, utils.py).
  • Ka fogow in la daboolo built-ins (tusaale, ha magacaabin isbeddelayaal max).
  • Isticmaal pip si aad u rakibto xirmooyinka dibadda (ka socda PyPI); site-packages ayaa haysta xirmooyinka la rakibay.
ShayUjeeddoTusaale
ModuleFayl leh koodutils.py; import utils / from utils import find_max
PackageFolder isku ururinaya modulesecommerce package: ecommerce.shipping
PyPIXirmooyin dhinac-saddexaadpip install openpyxl

Adeegyada Nidaamka Faylka

  • pathlib.Path loogu talagalay maaraynta waddooyinka cross-platform:
    • Path('dir').exists(), .mkdir(), .rmdir(), .glob('*.py') si aad u dhex marto faylasha.
  • Isticmaal glob si aad u baadho faylasha iyadoo la adeegsanayo qaab (waxtar u leh otomaatik feylal badan).*

Maareynta Khaladaadka

  • try / except ExceptionType:
    • Qabso ValueError, ZeroDivisionError si gooni ah fariimo gaar ah loo bixiyo.
    • Ka ilaali barnaamijyada inay jabsadaan sababo la xiriira gelin xun.
  • Had iyo jeer xaqiiji gelinta isticmaalaha oo beddel adigoo adeegsanaya int()/float() gudaha try blocks.

Ururinta: Liisaska, Tuples, Dictionaries

  • Liisaska: mutable, index/slice, hababka waxtarka leh (append, insert, remove, pop, sort, reverse, count, copy).
  • Tuples: immutable, isticmaal marka xogtu aysan isbeddelin.
  • Dictionaries: key-value store, furayaasha waa gaar, gelidda by customer['name'] ama customer.get('birthdate', default).
  • Hawlaha caadiga ah:
    • Hel max liiska: ku dul wareeg oo is barbardhig, ama isticmaal built-in max() (ka fogow inaad magaca u beddesho).
    • Ka saar nuqullada: dhis liis cusub adigoo ku daraya shay kaliya haddii uusan horay u jirin.

Barnaamijyada Ku Saleysan Walxaha (OOP)

  • Qeexida class: class ClassName:
    • Magac-bixin: PascalCase ee classes.
  • Methods: hawlgallo ku qeexan gudaha class; parameter-ka koowaad self wuxuu tilmaamayaa instance-ka.
  • Constructor: init(self, ... ) wuxuu bilaabaa sifooyinka.
  • Abuurnta: obj = ClassName(args)
  • Dhaxal: class Child(Parent): waxay dhaxlaysaa methods/sifooyin; isticmaal pass haddii class-ku uu si ku meel gaar ah u madhan yahay.
  • Qaababka tusaalaha: Point class oo leh x,y iyo methods; Person class oo leh talk() iyo sifo name.

Maktabadaha Dhisan Iyo Ku-saleysan Dhinac Kale

  • Ku-dhis: math, random, os/pathlib, json
  • Cilmiga xogta: numpy, pandas, matplotlib, scikit-learn (sklearn)
  • Otomaatiga Excel: openpyxl loogu talagalay akhris/qorista spreadsheets, charts
  • Otomaatiga & web: selenium loogu talagalay otomaatiga browser-ka
  • Helitaanka xirmooyinka: pypi.org

Mashaariicda Iyo Tusaalooyinka

  • Barnaamijyada terminal-ka:
    • Soo dhawoow adigoo adeegsanaya input iyo isku-darka xadhkaha.
    • Beddelaha miisaanka (lbs <-> kg) oo leh kala-saaridda cutubyada (isticmaal .upper()).
    • Mashiinka baabuurka CLI (start/stop/help/quit) adigoo isticmaalaya while loop, isbeddel state (boolean), iyo hagaajinta gelinta.
    • Ciyaarta saadaasha oo leh isku dayo xadidan (while loop, break/else).
    • Furaha amarrada oo leh mabda'a DRY (hoos u dhig hal mar marka aad akhrineyso gelinta).
  • Otomaatiga faylasha:
    • Isticmaal openpyxl si aad u furto workbook, ku dul wareeg safafka, wax ka beddesho qiimaha, ku dar chart, kaydi workbook-ka.
    • Ku duub habka farsamaynta hawl gudaha function process_workbook(filename) si dib loogu isticmaalo faylal badan.
  • Machine learning (Jupyter oo leh pandas & scikit-learn):
    • Talaabooyinka: import data, nadiifi/hagaaji, kala qaybi X (inputs) iyo y (labels), dooro algorithm, tababar model, saadaali, qiimee saxnaanta.
    • Isticmaal train_test_split si aad xogta u kala qaybiso; accuracy_score si aad u cabirto waxqabadka.
    • Joogteynta model-ka: sklearn.externals.joblib.dump/load si aad u keydiso una isticmaasho models la tababaray.
    • Muuqaaleyn: dhoofinta decision tree ilaa DOT oo daawo graph; baar xeerarka go'aan qaadashada.
  • Web (Django):
    • Ku rakib Django, abuuro mashruuc adigoo isticmaalaya django-admin startproject <name> .
    • manage.py loogu talagalay orodka server-ka iyo maamulka mashruuca.
    • Django waxay abaabushaa koodka iyadoo loo qaybinayo settings, urls, wsgi, iyo apps.

Talooyin Jupyter Notebook

  • Cells: edit mode (green) vs command mode (blue).
  • Xusuus-qor weynaha:
    • a / b si aad u barato cell kor/hoos, dd si aad u tirtirto cell.
    • Shift+Tab si aad u aragto signature/hint.
    • Ctrl+Enter si aad u orodo cell-ka hadda.
    • Command/Ctrl+/ si aad u beddesho comment lines.
  • Isticmaal pandas.read_csv, df.describe(), df.shape, df.values si aad u baarto xogta.

Ereyada Muhiimka Ah Iyo Qeexitaannada

  • Interpreter: barnaamijka fulinaya koodka Python xariiq-ba-xariiq.
  • String: taxane xarfo.
  • List: taxane mutable ah.
  • Tuple: taxane aan la beddeli karin.
  • Dictionary: khariidad furaha-qiimaha.
  • Function: block dib loo isticmaali karo oo laga yaabo inuu soo celiyo qiimo.
  • Class / Object: qaab-dhismeed iyo instance loogu talagalay noocyada gaarka ah.
  • Module / Package: fayl / gal loo isticmaalo in lagu abaabulo koodka.
  • Exception: qalad orod oo lagu qaban karo try/except.
  • Model persistence: kaydinta model ML la tababaray si dib loo isticmaalo.

Hawlaha La Qabanayo / Talaabooyinka Xiga

  • Jimicsiyada laga sameeyo muxaadarooyinka:
    • Sawir qaabab adigoo isticmaalaya print statements; dhis barnaamijyo CLI yar-yar (baabuur, ciyaarta saadaasha).
    • Hirgeli wadarta booskaga iibsiga adigoo adeegsanaya for loop.
    • Hirgeli ka saarista nuqullada liiska iyo helitaanka qiimaha ugu sarreeya liiska.
    • Abuur class dice leh roll() soo celisa tuple laba ints random ah (1..6).
    • Otomaatig qiimaha spreadsheet iyo jaantus sameyn leh openpyxl; ku koob hawsha function.
    • Dhis pipeline ML fudud gudaha Jupyter: load data, split, train decision tree, evaluate, persist model.
    • Abuur mashruuc Django oo sahami qaab-dhismeedka mashruuca; orod server-ka horumarka adigoo adeegsanaya manage.py.
  • Dib u eeg dukumentiyada:
    • Modules-ka maktabadda caadiga ah ee Python (module index).
    • pandas, scikit-learn, openpyxl docs si aad u barato isticmaal qoto dheer.
  • Talo lagu taliyay: 2 saacadood maalin kasta; dhis mashaariic yar-yar si aad u xoojiso fikradaha.