Okuqukethwe[Fihla][Bonisa]
Kule nkulumo, sizofunda ngamakilasi, abakhi kanye nefa ku-python.
Le mibono ibaluleke ngempela ohlelweni olukhulu lapho kudingeka khona izinhlobo ezahlukene ukuze zichazwe.
Amakilasi
Amakilasi abalulekile ezinhlelweni futhi awaqondile ku-python. Abanye abaningi izilimi zokuhlela sekela umbono wamakilasi. Sisebenzisa amakilasi ukuze sichaze izinhlobo ezintsha zedatha.
Kuze kube manje, sifunde mayelana nezinhlobo zedatha eziyisisekelo kuPython njengezinombolo, izintambo, nama-booleans. Lezi yizinhlobo zedatha eziyisisekelo noma ezilula kuPython. Siphinde sabona izinhlobo ezimbalwa zedatha eziyinkimbinkimbi ezifana nezinhlu nezichazamazwi.
Nakuba lezi zinhlobo ziwusizo kakhulu, azikwazi ukusetshenziselwa ukumodela imiqondo eyinkimbinkimbi. Ngokwesibonelo, cabanga ngombono wephuzu, noma inqola yokuthenga. Inqola yokuthenga ayilona i-boolean noma uhlu. Iwuhlobo oluhlukile lwedatha. Ngakho-ke singasebenzisa amakilasi ukuchaza izinhlobo ezintsha ukuze sibonise imiqondo yangempela.
Manje, ake sichaze uhlobo olusha lwedatha olubizwa ngokuthi iphoyinti. Lolu hlobo olusha luzoba nezindlela njengoba sike sahlola ngaphambili.
Uzokwenza kanje:
Siqala ngokuchaza ikilasi ngokusebenzisa igama elingukhiye elithi “ikilasi” bese kuthi ngemva kwalokho sinikeze ikilasi lethu igama.
class Point
Manje, bheka umhlangano wokuqamba amagama engiwusebenzisile lapha. Ngibhale ngosonhlamvukazi uhlamvu lokuqala lapha, lokhu esikubiza ngokuthi umhlangano wokuqamba amagama we-pascal. Lesi simiso sihlukile kuleso esisisebenzisela ukuqamba izinto eziguquguqukayo nemisebenzi esihlala sisebenzisa kuyo izinhlamvu ezincane futhi sihlukanise amagama amaningi sisebenzisa i-underscore. Kodwa uma siqamba amakilasi, asisebenzisi i-underscore ukuze sihlukanise amagama amaningi kunalokho, sibhala ngosonhlamvukazi uhlamvu lokuqala lwawo wonke amagama.
Ngemva kokuchaza ikilasi lethu, kusetshenziswa ikholoni okusho ukuthi manje ibhulokhi ichazwa.
class Point:
def move (self):
Kule block, singachaza yonke imisebenzi noma izindlela ezingezamaphuzu. Isibonelo, singachaza umsebenzi obizwa ngokuthi "hambisa" ukuhambisa iphoyinti. Qaphela ukuthi uma nje sithayipha abakaki abavuliwe, i-PyCharm ingeza ngokuzenzakalelayo “uqobo lwakho” lapha. Leli igama elingukhiye elikhethekile futhi ake ngibuyele kuleli maduzane. Masiphrinte “hambisa” kutheminali.
print("move")
Ake sichaze enye indlela efana “nokudweba” bese siyiphrinta kutheminali.
def draw(self):
print("draw")
Sesiqedile ngencazelo yekilasi lethu “lephuzu”. Ngalolu hlobo olusha, singakha izinto ezintsha. Ikilasi livele lichaze ipulani noma isifanekiso sokudala izinto okuyizimo zangempela ezisuselwe kulowo mdwebo. Ukwakha into, sibhala igama lekilasi lethu bese silibiza njengomsebenzi. Lokhu kudala into entsha bese iyibuyisela. Ngemva kwalokho singagcina leyo nto kusiguquli. Ake ngikubonise:
Lapha sichaze “iphuzu1” okuyiphuzu elinezinhlangothi ezintathu. Ungabona lokho, singaphrinta izixhumanisi ngazinye kutheminali.
Singasebenzisa izindlela ezimbili “ukudweba” kanye “nokunyakazisa” ngaleli phuzu.
Ngakho-ke ukuphindaphinda, sisebenzisa amakilasi ukuchaza izinhlobo ezintsha futhi lezi zinhlobo zingaba nezindlela esizichazayo emzimbeni wekilasi. Amakilasi angaba nezibaluli esingasetha noma yikuphi ezinhlelweni zethu.
Abakhi
Kuze kube manje, sifunde ukuthi singakha kanjani izinhlobo ezintsha sisebenzisa amakilasi. Manje kunenkinga encane ngalokhu kuqaliswa. Singakha into yephoyinti ngaphandle kokuthi x noma y sixhumanise sisebenzisa amakilasi futhi lokho akulungile. Ake ngikubonise.
Masidale iphoyinti futhi siliphrinte ngaphambi kokuthi simise ukuxhumanisa kuka-x. Ukuqalisa uhlelo lwethu kubangela iphutha lesibaluli elifana naleli:
Kusho ukuthi into eyiphoyinti ayinaso isibaluli esibizwa ngokuthi x. Manje inkinga ukuthi kungenzeka ukuba nento yephoyinti ngaphandle kwezixhumanisi zika-x noma y. Lokhu akuwenzi umqondo njengoba noma nini uma sikhuluma ngephuzu, sidinga ukwazi ukuthi lelo phuzu likuphi. Ukuxazulula le nkinga, sisebenzisa umakhi. Umakhi umsebenzi obizwa ngesikhathi sokudala into.
Nansi indlela esisebenzisa ngayo umakhi. Okokuqala, ake sidlule amanani okuthi x kanye no-y kuhlelo olungenhla.
point = Point(10, 20)
print(point.x)
Manje, sidinga ukwengeza indlela ekhethekile kuleli klasi ebizwa ngokuthi umakhi. I-syntax yayo imi kanje:
def __init__(self, x, y):
init
imfushane uma isho ukuqaliswa, futhi lona umsebenzi noma indlela ebizwa lapho kwakhiwa into entsha yephoyinti. U-x kanye no-y bengezwa ngemva nje kwalokho self
ukwengeza amapharamitha amabili engeziwe.
Ngemva kwalokho, kufanele sifake imephu u-x kanye no-y emananini adlulisiwe okungukuthi 10 kanye no-20
self.x = x
self.y = y
Sisebenzisa i self
ukubhekisela entweni yamanje bese sibeka isibaluli sika-x ku-agumenti engu-x edluliselwe kumsebenzi othi “x”. Ngale ndlela, ukusetshenziswa init
indlela, singakwazi ukuqalisa izinto zethu. Le ndlela ibizwa ngokuthi umakhi. Asiqhube uhlelo lwethu.
Manje, singashintsha izixhumanisi zika-x kanye no-y kamuva. Masibuyekeze i-x coordinate:
point = Point(10, 20)
point.x = 11
print(point.x)
Manje, i-x coordinate ibuyekezwa inani elingu-11.
Ukuzivocavoca
Nali isivivinyo esithokozisayo sakho.
Ngifuna uchaze uhlobo olusha olubizwa ngokuthi umuntu. Lezi zinto "Zomuntu" kufanele zibe "name
” isibaluli kanye nokuthi “talk()
”Indlela.
Kungumsebenzi olula futhi akufanele kuthathe ngaphezu kwemizuzu embalwa.
Isixazululo
Qala ngokuchaza isigaba "Umuntu" kanje:
class Person:
self.name = name
Sizochaza umakhi ngokuhamba kwesikhathi. Manje, singakwazi ukudala into ethi "Umuntu". Masiyibize ngoJohane
john = Person("John Smith")
print(john.name)
john.talk()
Manje, qhubekela engxenyeni yokuqala yekhodi bese udala umakhi.
def __init__(self, name):
Ikhodi yokugcina izobukeka kanje:
Ungasebenzisa futhi izintambo ezifomethiwe neminye imiqondo ngokuhambisana namakilasi nabakhi.
Ifa
Ifa ngomunye umqondo ohlotshaniswa namakilasi akuvumela ukuthi uphinde usebenzise ikhodi.
Cabangela lesi siqeshana sekhodi.
class Dog:
def walk(self):
print("walk")
Senze ikilasi elithi "Inja" ngendlela "yokuhamba". Ngale ndlela, simane siphrinta umlayezo wokuhamba kutheminali. Ake sithi, ohlelweni lwangempela, Kunemigqa eyi-10 yekhodi esikhundleni somugqa owodwa nje lapha. Ngokuzayo, uma kudingeka elinye ikilasi ukuze sibe nendlela "yokuhamba", kuzodingeka siyiphinde yonke leyo khodi. Lokhu akulungile.
Ehlelweni, sinesimiso esibizwa ngokuthi DRY okusho ukuthi ungaziphindi. Ake sithi esikhathini esizayo, sithola inkinga ngendlela yethu “yokuhamba” futhi uma siyiphindaphinde noma siyiphindaphinda le ndlela kwezinye izindawo eziningi, kuzodingeka sibuye sizolungisa leyo nkinga kuzo zonke izindawo esikuphindaphinde ngazo lokhu. ikhodi. Ngakho-ke kungakho ezinhlelweni akufanele sichaze okuthile kabili.
Zihlukene izindlela zokulungisa le nkinga kodwa lapha sizofunda leyo elula kwabaqalayo futhi ebizwa ngefa. Kulokhu, sizodala esinye isigaba "isilwane esincelisayo" futhi sichaze isibaluli sethu "sokuhamba" kulelo klasi.
class Mammal:
def walk(self):
print("walk")
Ngemva kokuchaza ikilasi lethu elithi “Izilwane Ezincelisayo” singasebenzisa ifa ukuze siphumelele lezi zimfanelo ezinjengalezi:
Zombili izigaba zezinja nekati zizuza njengefa zonke izindlela zekilasi ezichazwe ekilasini labazali bazo. Manje, singakwazi ukwengeza izindlela eziqondile ezinjeni ezifana nalezi:
class Dog:
def bark(self):
print("bark")
Qedani!
Konke lokhu bekumayelana namakilasi, abakhi nokusebenzisa kabusha ikhodi emakilasini anemiqondo yefa. Manje sesisondela ekupheleni kochungechunge lwethu. Ngalesi sikhathi, kufanele ukwazi ukukhiqiza amakhodi amahle, afundekayo futhi amafushane kuPython.
Sizobona umqondo wamamojula namaphakheji enkulumweni elandelayo.
shiya impendulo