Thutong ena, re tla ithuta ka lihlopha, lihahi le lefa la python.
Likhopolo tsena li bohlokoa haholo lenaneong le leholo moo ho hlokahalang mefuta e fapaneng ho hlalosoa.
litlelase
Litlelase li bohlokoa lenaneong 'me ha li tobane le python. Tse ling tse ngata lipuo tsa mananeo tšehetsa maikutlo a lihlopha. Re sebelisa litlelase ho hlalosa mefuta e mecha ea data.
Ho fihlela hajoale, re ithutile ka mefuta ea data ea mantlha ho Python joalo ka linomoro, likhoele le booleans. Tsena ke mefuta ea data ea mantlha kapa e bonolo ho Python. Re boetse re bone mefuta e 'maloa ea data e rarahaneng joalo ka manane le lidikishinari.
Le hoja mefuta ena e le molemo haholo, e ke ke ea sebelisoa kamehla ho etsa mohlala oa likhopolo tse rarahaneng. Ka mohlala, nahana ka mohopolo oa ntlha, kapa kariki ea mabenkele. Koloi ea mabenkele ha se boolean kapa lethathamo. Ke mofuta o fapaneng oa data. Kahoo re ka sebelisa litlelase ho hlalosa mefuta e mecha ho etsa mohlala oa mehopolo ea 'nete.
Joale, ha re hlalose mofuta o mocha oa data o bitsoang point. Mofuta ona o mocha o tla ba le mekhoa joalo ka ha re hlahlobile pele.
U tla e etsa ka tsela ena:
Re qala ka ho hlalosa sehlopha ka ho sebelisa "class" keyword mme hang ka mor'a moo re fa sehlopha sa rona lebitso.
class Point
Jwale, sheba kopano ya mabitso eo ke e sebeditseng mona. Ke ngotse lengolo la pele mona, sena ke seo re se bitsang kopano ea mabitso ea pascal. Kopano ena e fapane le eo re e sebelisang ho reha mefuta le mesebetsi ea rona eo kamehla re sebelisang litlhaku tse nyane le ho arola mantsoe a mangata re sebelisa mongolo oa underscore. Empa ha re reha litlelase mabitso, ha re sebelise underscore ho arola mantsoe a mangata ho e-na le hoo, re ngola tlhaku ea pele ea lentsoe le leng le le leng.
Ka mor'a ho hlalosa sehlopha sa rona, kolone e sebelisoa e bolelang hore joale ho hlalosoa block.
class Point:
def move (self):
Sebakeng sena, re ka hlalosa mesebetsi kapa mekhoa eohle eo e leng ea lintlha. Mohlala, re ka hlalosa tšebetso e bitsoang "move" bakeng sa ho tsamaisa ntlha. Hlokomela hore hang ha re thaepa li-parenthesis tse bulehileng, PyCharm e ikenya "self" mona. Lena ke lentsoe la sehlooho le khethehileng 'me e re ke khutlele ho sena haufinyane. Ha re hatiseng "tsamaea" ho theminale.
print("move")
Ha re hlalose mokhoa o mong joalo ka "draw" ebe o e hatisa ho theminale.
def draw(self):
print("draw")
Re qetile ka tlhaloso ea sehlopha sa rona sa "ntlha". Ka mofuta ona o mocha, re ka etsa lintho tse ncha. Sehlopha se hlalosa feela polane kapa template ea ho theha lintho tseo e leng maemo a nnete a ipapisitseng le polane eo. Ho theha ntho, re thaepa lebitso la sehlopha sa rona ebe re le bitsa joalo ka ts'ebetso. Sena se theha ntho e ncha ebe sea e khutlisa. Joale re ka boloka ntho eo ka ho feto-fetoha. E re ke u bontše:
Mona re hlalositse “point1” e leng ntlha ea mahlakore a mararo. U ka bona seo, re ka hatisa likhokahano tsa motho ka mong ho terminal.
Re ka sebelisa mekhoa e 'meli "ho hula" le "ho falla" ka ntlha ena.
Kahoo ho pheta-pheta, re sebelisa litlelase ho hlalosa mefuta e mecha mme mefuta ena e ka ba le mekhoa eo re e hlalosang 'meleng oa sehlopha. Lihlopha li ka ba le litšobotsi tseo re ka li behang kae kapa kae mananeong a rona.
Baqapi
Ho fihlela joale, re ithutile ho theha mefuta e mecha ka litlelase. Hona joale ho na le bothata bo fokolang ka ts'ebetsong ena. Re ka theha ntho ea ntlha ntle le x kapa y ho hokahanya re sebelisa lihlopha mme seo ha sea nepahala. E re ke o bontshe.
Ha re theheng ntlha ebe re e hatisa pele re seta x coordinate. Ho tsamaisa lenaneo la rona ho baka phoso ea tšobotsi e kang ena:
Ho bolela hore ntho ea ntlha ha e na tšobotsi e bitsoang x. Hona joale bothata ke hore hoa khoneha ho ba le ntho ea ntlha ntle le x kapa y coordinates. Taba ena ha e utloahale kaha nako le nako ha re bua ka ntlha, re tlameha ho tseba hore na ntlha eo e hokae. Ho rarolla bothata bona, re sebelisa sehahi. Sehahi ke mosebetsi o bitsoang ka nako eo ho bopang ntho.
Mona ke kamoo re sebelisang sehahi. Taba ea pele, a re feteng x le y li hokahanya boleng lenaneong le ka holimo.
point = Point(10, 20)
print(point.x)
Joale, re hloka ho kenyelletsa mokhoa o ikhethileng sehlopheng sena o bitsoang sehahi. Syntax ea eona e tjena:
def __init__(self, x, y):
init
e khutsufalitsoe bakeng sa ho qalisoa, 'me ona ke mosebetsi kapa mokhoa o bitsoa ha ntho e ncha ea ntlha e thehoa. X le y li kenyelletsoa hang ka mor'a moo self
ho eketsa li-parameter tse peli tse eketsehileng.
Ka mor'a moo, re lokela ho etsa 'mapa oa x le y ho litekanyetso tse fetisitsoeng ke hore 10 le 20
self.x = x
self.y = y
Re sebelisa file ea self
ho bua ka ntho ea hajoale ebe re beha tšobotsi ea x ho khang ea x e fetisetsoang mosebetsing "x". Ka tsela ena, ho sebelisoa init
mokhoa, re ka qala lintho tsa rona. Mokhoa ona o bitsoa sehahi. Ha re tsamaiseng lenaneo la rona.
Joale, re ka fetola likhokahano tsa x le y hamorao. Ha re ntlafatse x coordinate:
point = Point(10, 20)
point.x = 11
print(point.x)
Joale, khokahanyo ea x e nchafalitsoe ho boleng ba 11.
ho ikoetlisa
Mona ke boikoetliso bo khahlisang bakeng sa hau.
Ke batla hore o hlalose mofuta o mocha o bitsoang motho. Lintho tsena tsa "Motho" li lokela ho ba le "name
” tšobotsi hammoho le “talk()
”Mokhoa.
Ke mosebetsi o bonolo 'me ha oa lokela ho nka nako e fetang metsotso e seng mekae.
tharollo
Qala ka ho hlalosa sehlopha "Motho" ka tsela ena:
class Person:
self.name = name
Re tla hlalosa sehahi hamorao. Hona joale, re ka etsa ntho "Motho". Ha re e bitse Johanne
john = Person("John Smith")
print(john.name)
john.talk()
Joale, fetela karolong ea pele ea khoutu 'me u thehe sehahi.
def __init__(self, name):
Khoutu ea ho qetela e tla shebahala tjena:
U ka boela ua sebelisa likhoele tse hlophisitsoeng le likhopolo tse ling hammoho le lihlopha le lihahi.
lefa
Lefa ke khopolo e 'ngoe e amanang le lihlopha tse u lumellang hore u sebelise khoutu hape.
Nahana ka karolo ena ea khoutu.
class Dog:
def walk(self):
print("walk")
Re thehile sehlopha sa "Ntja" ka mokhoa oa "ho tsamaea". Ka mokhoa ona, re ntse re hatisa molaetsa oa ho tsamaea ho terminal. Ha re re, lenaneong la 'nete, Ho na le mela e 10 ea khoutu sebakeng sa mola o le mong feela mona. Nakong e tlang, haeba ho hlokahala sehlopha se seng ho ba le mokhoa oa "ho tsamaea", re tla tlameha ho pheta khoutu eo kaofela. Sena ha sea nepahala.
Lenaneong, re na le molao-motheo o bitsoang DRY o bolelang hore o se ke oa ipheta. Ha re re nakong e tlang, re tla fumana bothata ka mokhoa oa rona oa "ho tsamaea" 'me haeba re phethile kapa re qopitsa mokhoa ona libakeng tse ling tse ngata, re tla tlameha ho khutla le ho lokisa bothata sebakeng se seng le se seng seo re se qotsitseng. khoutu. Kahoo ke ka lebaka leo lenaneong re sa lokelang ho hlalosa ntho habeli.
Ho na le mekhoa e fapaneng ea ho lokisa bothata bona empa mona re tlil'o ithuta e bonolo ho ba qalang mme e bitsoa lefa. Tabeng ena, re tla theha sehlopha se seng sa "phoofolo" ebe re hlalosa tšobotsi ea rona ea "ho tsamaea" sehlopheng seo.
class Mammal:
def walk(self):
print("walk")
Kamora ho hlalosa sehlopha sa rona sa "Mammal" re ka sebelisa lefa ho fetisa litšobotsi tse kang tsena:
Ka bobeli lihlopha tsa lintja le likatse li rua mekhoa eohle ea lihlopha tse hlalositsoeng sehlopheng sa bona sa batsoali. Hona joale, re ka eketsa mekhoa e khethehileng ho lintja tse kang tsena:
class Dog:
def bark(self):
print("bark")
Phethela!
Sena se ne se bua ka lihlopha, lihahi le ho sebelisa khoutu hape ka lihlopha tse nang le likhopolo tsa lefa. Hona joale re haufi le ho qetela letoto la rona. Ka nako ena, o lokela ho khona ho hlahisa likhoutu tse ntle, tse baloang le tse khutšoane ho Python.
Re tla bona mohopolo oa li-module le liphutheloana thutong e latelang.
Leave a Reply