Table of Contents[Qari][muuji]
Casharkan, waxaan ku baran doonaa casharada, dhisayaasha iyo dhaxalka Python.
Fikradahani waxay runtii muhiim u yihiin barnaamij weyn oo loo baahan yahay noocyo kala duwan si loo qeexo.
Fasallada
Fasallada waa lama huraan xagga barnaamijka mana aha kuwo gaar u ah Python. Qaar kale oo badan barnaamijyada luqadaha taageer fikradda fasallada. Waxaan isticmaalnaa fasallo si aan u qeexno noocyada xogta cusub.
Ilaa hadda, waxaan ka baranay noocyada xogta aasaasiga ah ee Python sida lambarada, xargaha, iyo booleansyada. Kuwani waa noocyada xogta aasaasiga ah ama fudud ee Python. Waxaan sidoo kale aragnay dhowr nooc oo xog adag ah sida liisaska iyo qaamuusyada.
Inkasta oo noocyadani ay yihiin kuwo aad waxtar u leh, haddana mar walba looma isticmaali karo in lagu daydo fikrado adag. Tusaale ahaan, ka fikir fikradda dhibic, ama gaadhiga wax iibsiga. Gaariga wax iibsiga ma aha boolean ama liis. Waa xog ka duwan. Markaa waxaan isticmaali karnaa fasallo si aan u qeexno noocyo cusub si aan u tusaaleyno fikradaha dhabta ah.
Haddaba, aynu qeexno nooc cusub oo xog ah oo la yidhaahdo dhibic. Noocan cusubi waxa uu yeelan doonaa habab sidii aanu hore u hubinay.
Sidan ayaad u samayn doontaa:
Waxaan ku bilaabaynaa qeexida fasalka anagoo adeegsanayna ereyga muhiimka ah ee "class" oo isla markaaba waxaan siinaa fasalkayaga magac.
class Point
Haddaba, bal eeg heshiiska magac bixinta ee aan halkan ku isticmaalay. Waxaan halkan ku weyneeyey xarafka ugu horreeya, kani waa waxa aan u naqaano heshiiska magac-bixinta ee pascal. Xeerkani wuu ka duwan yahay midka aan u isticmaalno magacaabista doorsoomayaashayada iyo hawlahayaga oo aan had iyo jeer isticmaalno xarfo yaryar oo aan kala saarno ereyo badan annagoo adeegsanayna hoosta. Laakiin marka fasallada la magacaabayo, ma isticmaalno hoosta si aan u kala saarno kelmado badan beddelkeeda, waxaan weyneynaa xarafka ugu horreeya eray kasta.
Ka dib marka la qeexo fasalkayaga, colon ayaa la isticmaalaa taas oo macnaheedu yahay hadda block ayaa la qeexay.
class Point:
def move (self):
Qeybtaan, waxaan ku qeexi karnaa dhammaan shaqooyinka ama hababka ay leeyihiin dhibcaha. Tusaale ahaan, waxaan qeexi karnaa hawl la yiraahdo "dhaqdhaqaaq" oo ah dhaqaajinta dhibic. Ogsoonow isla marka aan ku qorno khadadka furan, PyCharm waxay si toos ah halkan ugu dareysaa "naftiisa" Tani waa erey gaar ah oo aan dib ugu soo laabto tan wax yar ka dib. Aan ku daabacno "dhaqdhaqaaq" terminalka.
print("move")
Aynu qeexno hab kale sida "sawir" oo ku daabac terminalka.
def draw(self):
print("draw")
Waxaan dhammeynay qeexida fasalkayaga "dhibcaha". Noocan cusub, waxaan ku abuuri karnaa walxo cusub. Fasalka ayaa si fudud u qeexaya naqshadda ama qaabka loo abuurayo walxaha kuwaas oo ah tusaalooyinka dhabta ah ee ku salaysan naqshadaas. Si loo abuuro shay, waxaan ku qornaa magaca fasalkayaga ka dibna u wac sida shaqada oo kale. Tani waxay abuurtaa shay cusub ka dibna soo celisaa. Kadibna waxaynu ku kaydin karnaa shayga doorsoome. Aan ku tuso:
Halkan waxaan ku qeexnay "dhibic1" oo ah dhibic saddex-geesood ah. Waad arki kartaa taas, waxaan ku daabacan karnaa iskuduwayaal gaar ah terminalka.
Waxaan isticmaali karnaa labada hab ee "sawir" iyo "dhaqdhaqaaq" iyadoo la raacayo qodobkan.
Marka si aan dib u soo koobno, waxaan isticmaalnaa fasallo si aan u qeexno noocyo cusub oo noocyadani waxay yeelan karaan habab aan ku qeexno jirka fasalka. Fasallada waxay yeelan karaan sifooyin aan dejin karno meel kasta oo ka mid ah barnaamijyadayada.
Dhismeyaasha
Ilaa hadda, waxaan baranay sida loo abuuro noocyo cusub iyadoo la adeegsanayo fasallo. Hadda waxaa jirta dhibaato yar oo hirgelintan ah. Waxaan abuuri karnaa shay dhibic la'aanteed x ama y iskudubarid annagoo adeegsanayna fasallo taasina maaha mid ku habboon. Aan ku tuso.
Aan abuurno dhibic oo daabac ka hor inta aanaan dejin x coordinate. Ku socodsiinta barnaamijkayagu waxa ay keenaysaa khalad sifada sida tan:
Waxay ka dhigan tahay in shayga dhibicdu aanu lahayn sifo loo yaqaan x. Hadda dhibaatadu waxay tahay in ay suurtogal tahay in la haysto shay dhibic iyada oo aan la hayn x ama y isku xidhka. Tani macno ma samaynayso mar kasta oo aan ka hadalno qodob, waxaan u baahanahay inaan ogaano meesha ay bartaasi ku taal. Si loo xaliyo dhibaatadan, waxaan isticmaalnaa dhisme. Wax-dhisuhu waa hawl loo yeedho wakhtiga shay la abuurayo.
Waa kan sida aan u isticmaalno dhisme. Marka hore, aan dhaafno x iyo y isku-duwayaasha qiyamka barnaamijka kore.
point = Point(10, 20)
print(point.x)
Hadda, waxaan u baahanahay inaan ku darno hab gaar ah fasalkan oo loo yaqaan constructor. Qoraalkeedu waa sidan:
def __init__(self, x, y):
init
way gaaban tahay bilowga, tanina waa shaqada ama habka loo yaqaan marka shay cusub la sameeyo. X iyo y ayaa lagu daraa isla markaaba self
in lagu daro laba cabbir oo dheeraad ah.
Intaa ka dib, waa in aan khariidadda x iyo y u samaynaa qiyamka la ansixiyay sida 10 iyo 20
self.x = x
self.y = y
Waan isticmaalnaa self
si aan u tixraacno shayga hadda jira ka dibna waxaanu dejinaynaa x sifada x doodda x loo gudbiyay shaqada "x". Sidan, adoo isticmaalaya init
habka, waxaan bilaabi karnaa walxahayaga. Habkan waxa loo tixraacaa dhisme. Aan wadno barnaamijkeena.
Hadda, waxaan bedeli karnaa x iyo y isku-duwayaasha dambe. Aan cusboonaysiinno x isku duwidda:
point = Point(10, 20)
point.x = 11
print(point.x)
Hadda, isku xirka x waa loo cusboonaysiiyay ilaa 11.
Jimicsiga
Halkan waxaa ah jimicsi xiiso leh adiga.
Waxaan rabaa inaad qeexdo nooc cusub oo qof la yiraahdo. Walxahan "Qofka" waa inay lahaadaan "name
"sifada iyo sidoo kale"talk()
”Habka.
Waa hawl fudud mana aha inay qaadato wax ka badan laba daqiiqo.
Solution
Ka bilow inaad qeexdo fasalka “Qofka” sidan:
class Person:
self.name = name
Waxaan qeexi doonaa dhisaha gadaal. Hadda, waxaan abuuri karnaa shayga "Qofka". Aynu u yeedho John
john = Person("John Smith")
print(john.name)
john.talk()
Hadda, u gudub qaybta koowaad ee koodka oo samee dhise.
def __init__(self, name):
Koodhka kama dambaysta ahi wuxuu u ekaan doonaa sidan:
Waxa kale oo aad isticmaali kartaa xadhkaha la habeeyey iyo fikrado kale oo la xidhiidha fasalada iyo dhisayaasha.
Dhaxalka
Dhaxalku waa fikrad kale oo la xiriirta fasallo kuu ogolaanaya inaad dib u isticmaasho koodka.
Tixgeli gabalkan koodka.
class Dog:
def walk(self):
print("walk")
Waxaan abuurnay fasalka "Eey" oo leh hab "socod". Habkan, waxaanu si fudud ugu daabacaynaa fariinta socodka ee terminalka. Aynu nidhaahno, barnaamijka dhabta ah, Waxaa jira 10 khadadka koodka halkii ay ka ahaan lahaayeen hal xariiq oo keliya halkan. Mustaqbalka, haddii loo baahdo fasal kale si loo helo habka "socodka", waa inaan ku celinaa dhammaan koodka. Tani maaha mid ku habboon.
Barmaamijyada, waxaan leenahay mabda'a la yiraahdo DRY kaas oo gaaban oo ah ha ku celin naftaada. Aynu nidhaahno mar mustaqbalka, waxaynu ogaanay dhibaatada habkayaga "socod" oo haddii aan ku celcelinnay ama ku soo koobnay habkan meelo kale oo badan, waa inaan soo laabanaa oo aan hagaajinaa dhibaatadaas meel kasta oo aan ku soo koobnay tan. code. Markaa waa sababta marka barnaamij-samaynta aynaan laba jeer wax u qeexin.
Waxaa jira habab kala duwan oo lagu xaliyo dhibaatadan, laakiin halkan waxaan ku baran doonaa midka u fudud kuwa bilowga ah oo loo yaqaan dhaxalka. Xaaladdan oo kale, waxaanu abuuri doonaa fasal kale oo "naasley ah" waxaanan qeexi doonaa sifadayada "socodka" fasalkaas.
class Mammal:
def walk(self):
print("walk")
Ka dib markaan qeexno fasalkayaga "Naasley" waxaan isticmaali karnaa dhaxal si aan u gudubno sifooyinka sidan oo kale ah:
Labada fasal ee eeyga iyo bisadaha waxay dhaxlaan dhammaan hababka fasalka ee lagu qeexay fasalka waalidkooda. Hadda, waxaan ku dari karnaa habab gaar u ah eeyaha sida tan:
class Dog:
def bark(self):
print("bark")
Isku soo duub!
Tani waxay ku saabsan tahay fasalada, dhisayaasha iyo dib u adeegsiga koodka fasalada leh fikradaha dhaxalka. Hadda waxaan ku dhownahay gabagabada taxanahayaga. Halkaa marka ay marayso, waa in aad ku soo saari kartaa kood wanaagsan, la akhriyi karo oo kooban gudaha Python.
Waxaan arki doonaa fikradda cutubyada iyo xirmooyinka muxaadarada soo socota.
Leave a Reply