Ma kēia haʻiʻōlelo, e aʻo mākou e pili ana i nā papa, nā mea hana a me ka hoʻoilina i ka python.
He mea koʻikoʻi kēia mau manaʻo i kahi papahana nui kahi e pono ai e wehewehe i nā ʻano like ʻole.
papa
Pono nā papa i ka hoʻolālā ʻana a ʻaʻole lākou kikoʻī i ka python. Nui nā mea ʻē aʻe nā ʻōlelo hoʻonohonoho kākoʻo i ka manaʻo o nā papa. Hoʻohana mākou i nā papa e wehewehe i nā ʻano ʻikepili hou.
I kēia manawa, ua aʻo mākou e pili ana i nā ʻano ʻikepili kumu ma Python e like me nā helu, nā kaula, a me nā booleans. ʻO kēia nā ʻano ʻikepili kumu a maʻalahi paha ma Python. Ua ʻike pū mākou i kekahi mau ʻano ʻikepili paʻakikī e like me nā papa inoa a me nā puke wehewehe.
ʻOiai he mea pono loa kēia mau ʻano, ʻaʻole hiki ke hoʻohana mau ʻia e hoʻohālike i nā manaʻo paʻakikī. No ka laʻana, e noʻonoʻo e pili ana i ka manaʻo o kahi kiko, a i ʻole kahi kaʻa kūʻai. ʻAʻole he boolean a papa inoa paha ke kaʻa kūʻai. He ʻano ʻikepili ʻokoʻa. No laila hiki iā mākou ke hoʻohana i nā papa e wehewehe i nā ʻano hou e hoʻohālike i nā manaʻo maoli.
I kēia manawa, e wehewehe i kahi ʻano ʻikepili hou i kapa ʻia ʻo point. E loaʻa ana kēia ʻano hou i nā ala e like me kā mākou i nānā ai ma mua.
Penei ʻoe e hana ai:
Hoʻomaka mākou ma ka wehewehe ʻana i kahi papa ma ka hoʻohana ʻana i ka huaʻōlelo "papa" a ma hope pono e hāʻawi mākou i kā mākou papa inoa.
class Point
I kēia manawa, e nānā i ka papa inoa inoa aʻu i hoʻohana ai ma ʻaneʻi. Ua hoʻonui au i ka leka mua ma ʻaneʻi, ʻo ia ka mea a mākou i kapa ai he hui inoa pascal. He ʻokoʻa kēia ʻaha kūkā mai ka mea a mākou e hoʻohana ai no ka inoa ʻana i kā mākou mau ʻano a me nā hana a mākou e hoʻohana mau ai i nā leka liʻiliʻi a hoʻokaʻawale i nā huaʻōlelo he nui me ka underscore. Akā, i ka inoa ʻana i nā papa, ʻaʻole mākou e hoʻohana i ka underscore e hoʻokaʻawale i nā huaʻōlelo he nui, ʻoi aku ka nui o ka hua mua o kēlā me kēia huaʻōlelo.
Ma hope o ka wehewehe ʻana i kā mākou papa, hoʻohana ʻia kahi kolonā, ʻo ia hoʻi ua wehewehe ʻia kahi poloka.
class Point:
def move (self):
I loko o kēia poloka, hiki iā mākou ke wehewehe i nā hana āpau a i ʻole nā ʻano e pili ana i nā kiko. No ka laʻana, hiki iā mākou ke wehewehe i kahi hana i kapa ʻia "neʻe" no ka neʻe ʻana i kahi kiko. E hoʻomanaʻo i ka wā e paʻi ai mākou i ka pani wehe, hoʻohui ʻo PyCharm i ka "self" ma aneʻi. He huaʻōlelo kūikawā kēia a e ʻae mai iaʻu e hoʻi koke i kēia. E paʻi mākou i ka "move" ma ka pahu.
print("move")
E wehewehe i kekahi ʻano hana e like me “draw” a paʻi ma ka pahu.
def draw(self):
print("draw")
Ua pau mākou i ka wehewehe ʻana o kā mākou papa "point". Me kēia ʻano hou, hiki iā mākou ke hana i nā mea hou. Ho'ākāka wale ka papa i ka hoʻolālā a i ʻole ke kumu hoʻohālike no ka hana ʻana i nā mea ʻo ia nā hiʻohiʻona maoli e pili ana i kēlā hoʻolālā. No ka hana ʻana i kahi mea, paʻi mākou i ka inoa o kā mākou papa a laila kapa iā ia e like me kahi hana. Hana kēia i mea hou a hoʻihoʻi mai. A laila hiki iā mākou ke mālama i kēlā mea i kahi loli. E hōʻike wau iā ʻoe:
Ma ʻaneʻi ua wehewehe mākou i kahi "point1" ʻo ia kahi kikoʻekolu. Hiki iā ʻoe ke ʻike i kēlā, hiki iā mākou ke paʻi i nā hoʻonohonoho pilikino ma ka pahu.
Hiki iā mākou ke hoʻohana i nā ʻano ʻelua ʻo "draw" a "neʻe" me kēia wahi.
No laila no ka recap, hoʻohana mākou i nā papa e wehewehe i nā ʻano hou a hiki i kēia mau ʻano ke loaʻa nā ʻano hana a mākou e wehewehe ai i ke kino o ka papa. Hiki i nā papa ke loaʻa nā hiʻohiʻona i hiki iā mākou ke hoʻonohonoho i nā wahi āpau o kā mākou papahana.
Kūkulu
I kēia manawa, ua aʻo mākou pehea e hana ai i nā ʻano hou me ka hoʻohana ʻana i nā papa. I kēia manawa aia kahi pilikia liʻiliʻi me kēia hoʻokō. Hiki iā mākou ke hana i kahi mea kiko me ka ʻole o ka x a i ʻole y hoʻonohonoho me ka hoʻohana ʻana i nā papa a ʻaʻole kūpono kēlā. E hōʻike wau iā ʻoe.
E hana i kahi kiko a paʻi ma mua o ka hoʻonohonoho ʻana i ka x coordinate. ʻO ka holo ʻana i kā mākou papahana e hopena i kahi hewa ʻano e like me kēia:
ʻO ia hoʻi, ʻaʻohe ʻano o ka mea kiko i kapa ʻia x. I kēia manawa, ʻo ka pilikia, hiki ke loaʻa kahi mea kiko me ka ʻole o nā hoʻonohonoho x a i ʻole y. ʻAʻole kūpono kēia no ka mea i kēlā me kēia manawa a mākou e kamaʻilio e pili ana i kahi lae, pono mākou e ʻike i kahi o ia wahi. No ka hoʻoponopono i kēia pilikia, hoʻohana mākou i kahi mea hana. ʻO ka mea kūkulu hale kahi hana i kāhea ʻia i ka manawa o ka hana ʻana i kahi mea.
Eia pehea mākou e hoʻohana ai i kahi mea kūkulu. ʻO ka mea mua, e hāʻawi i nā koina hoʻonohonoho x a me y i ka papahana ma luna.
point = Point(10, 20)
print(point.x)
I kēia manawa, pono mākou e hoʻohui i kahi ala kūikawā i kēia papa i kapa ʻia he constructor. ʻO kāna syntax penei:
def __init__(self, x, y):
init
pōkole no ka hoʻomaka ʻana, a ʻo ia ka hana a i ʻole ke ʻano e kāhea ʻia ke hana ʻia kahi mea kikoʻī hou. Hoʻohui ʻia ka x a me ka y ma hope pono self
e hoʻohui i ʻelua mau ʻāpana ʻokoʻa.
Ma hope o kēlā, pono mākou e palapala i ka x a me ka y i nā koina i hala ʻo 10 a me 20
self.x = x
self.y = y
Hoʻohana mākou i ka self
e kuhikuhi i ka mea o kēia manawa a laila hoʻonoho mākou i ka ʻano x i ka hoʻopaʻapaʻa x i hāʻawi ʻia i ka hana "x". Ma kēia ala, hoʻohana init
ala, hiki iā mākou ke hoʻomaka i kā mākou mau mea. Ua kapa ʻia kēia ʻano he mea hana. E holo kāua i kā mākou papahana.
I kēia manawa, hiki iā mākou ke hoʻololi i nā hoʻonohonoho x a me y ma hope. E hōʻano hou i ka x coordinate:
point = Point(10, 20)
point.x = 11
print(point.x)
I kēia manawa, hoʻonui ʻia ka hoʻonohonoho x i ka waiwai 11.
hoʻokō '
Eia kekahi hana hoihoi nou.
Makemake au iā ʻoe e wehewehe i kahi ʻano hou i kapa ʻia he kanaka. Pono kēia mau mea "Person" i kahi "name
"ʻano a me kahi"talk()
”Hana.
He hana maʻalahi a ʻaʻole pono e ʻoi aku ma mua o ʻelua mau minuke.
pāʻoihana
E hoʻomaka me ka wehewehe ʻana i ka papa "Person" e like me kēia:
class Person:
self.name = name
E wehewehe mākou i ka mea hana ma hope. I kēia manawa, hiki iā mākou ke hana i ka mea "Person". E kapa aku kakou ia Ioane
john = Person("John Smith")
print(john.name)
john.talk()
I kēia manawa, e hele i ka ʻāpana mua o ke code a hana i kahi mea hana.
def __init__(self, name):
E like me kēia ka code hope:
Hiki iā ʻoe ke hoʻohana i nā kaula i hoʻonohonoho ʻia a me nā manaʻo ʻē aʻe i hui pū me nā papa a me nā mea hana.
hooilina
ʻO ka hoʻoilina kekahi manaʻo e pili ana i nā papa e ʻae iā ʻoe e hoʻohana hou i kahi code.
E noʻonoʻo i kēia ʻāpana code.
class Dog:
def walk(self):
print("walk")
Ua hana mākou i kahi papa "Dog" me kahi ala "hele". Ma kēia ʻano, ke paʻi wale nei mākou i ka memo hele ma ka pahu. E ʻōlelo kākou, ma kahi papahana maoli, He 10 mau laina code ma kahi o hoʻokahi laina ma aneʻi. I ka wā e hiki mai ana, inā makemake ʻia kahi papa ʻē aʻe e loaʻa ke ʻano "hele", pono mākou e hana hou i kēlā code. ʻAʻole kūpono kēia.
I ka hoʻolālā ʻana, loaʻa iā mākou kahi loina i kapa ʻia ʻo DRY i pōkole no ka ʻole e hana hou iā ʻoe iho. E ʻōlelo mākou i kekahi manawa i ka wā e hiki mai ana, ʻike mākou i kahi pilikia me kā mākou ʻano "hele" a inā mākou i hana hou a hana hou i kēia ʻano hana ma nā wahi ʻē aʻe, pono mākou e hoʻi hou a hoʻoponopono i kēlā pilikia ma kēlā me kēia wahi a mākou i hana ai i kēia. code. No laila ʻaʻole pono mākou e wehewehe ʻelua i kahi mea i ka papahana.
He ʻokoʻa nā ala e hoʻoponopono ai i kēia pilikia akā eia mākou e aʻo ai i ka mea maʻalahi no ka poʻe hoʻomaka a ua kapa ʻia ʻo ia he hoʻoilina. I kēia hihia, e hana mākou i kahi papa "mammal" a wehewehe i kā mākou ʻano "hele" i kēlā papa.
class Mammal:
def walk(self):
print("walk")
Ma hope o ka wehewehe ʻana i kā mākou papa "Mammal" hiki iā mākou ke hoʻohana i ka hoʻoilina e hāʻawi i nā ʻano e like me kēia:
Loaʻa i nā papa ʻīlio a me nā pōpoki nā ʻano papa āpau i wehewehe ʻia i loko o kā lākou papa makua. I kēia manawa, hiki iā mākou ke hoʻohui i nā ʻano kikoʻī i nā ʻīlio e like me kēia:
class Dog:
def bark(self):
print("bark")
Hoʻopau!
E pili ana kēia i nā papa, nā mea hana a me ka hoʻohana hou ʻana i ke code i nā papa me nā manaʻo hoʻoilina. I kēia manawa ua kokoke mākou i ka hopena o kā mākou moʻo. I kēia manawa, hiki iā ʻoe ke hana i nā code maikaʻi, hiki ke heluhelu a me ka pōkole ma Python.
E ʻike mākou i ka manaʻo o nā modules a me nā pūʻolo i ka haʻiʻōlelo aʻe.
Waiho i ka Reply