Clár na nÁbhar[Folaigh][Taispeáin]
Sa léacht seo, beidh muid ag foghlaim faoi ranganna, tógálaithe agus oidhreacht i python.
Tá na coincheapa seo fíorthábhachtach i gclár mór ina bhfuil gá le cineálacha éagsúla a shainiú.
Ranganna
Tá ranganna riachtanach sa ríomhchlárú agus ní bhaineann siad go sonrach le python. go leor eile teangacha cláir tacú le coincheap na ranganna. Bainimid úsáid as ranganna chun cineálacha nua sonraí a shainiú.
Go dtí seo, tá foghlamtha againn faoi na cineálacha sonraí bunúsacha i Python cosúil le huimhreacha, teaghráin, agus booleans. Is iad seo na cineálacha sonraí bunúsacha nó simplí i Python. Tá cúpla cineál sonraí casta cosúil le liostaí agus foclóirí feicthe againn freisin.
Cé go bhfuil na cineálacha seo thar a bheith úsáideach, ní féidir iad a úsáid i gcónaí chun coincheapa casta a shamhaltú. Mar shampla, smaoinigh ar an smaoineamh pointe, nó cairt siopadóireachta. Ní boolean nó liosta é cart siopadóireachta. Is cineál difriúil sonraí é. Mar sin is féidir linn ranganna a úsáid chun cineálacha nua a shainiú chun fíor-choincheapa a shamhaltú.
Anois, déanaimis cineál sonraí nua a shainiú ar a dtugtar pointe. Beidh modhanna ag an gcineál nua seo mar a sheiceáil muid roimhe seo.
Seo mar a dhéanfaidh tú é:
Tosaímid le rang a shainiú tríd an eochairfhocal “rang” a úsáid agus díreach ina dhiaidh sin tugaimid ainm dár rang.
class Point
Anois, féach ar an gcoinbhinsiún ainmniúcháin a d'úsáid mé anseo. Tá caipitliú déanta agam ar an gcéad litir anseo, is é seo a dtugaimid coinbhinsiún um ainmniú pascal air. Tá an coinbhinsiún seo difriúil ón gceann a úsáidimid chun ár n-athróga agus ár bhfeidhmeanna a ainmniú a mbainimid úsáid i gcónaí as litreacha beaga agus focail iolracha ag baint úsáide as fo-scór. Ach nuair a bhíonn ranganna á n-ainmniú, ní úsáidimid foscór chun focail iolracha a scaradh ina ionad sin, déanaimid caipitliú ar an gcéad litir de gach focal.
Tar éis ár rang a shainiú, úsáidtear idirstad a chiallaíonn go bhfuil bloc sainmhínithe anois.
class Point:
def move (self):
Sa bhloc seo, is féidir linn na feidhmeanna nó na modhanna go léir a bhaineann le pointí a shainiú. Mar shampla, is féidir linn feidhm ar a dtugtar “bogadh” a shainiú chun pointe a bhogadh. Tabhair faoi deara, chomh luath agus a chlóscríobhfaimid lúibíní oscailte, go gcuireann PyCharm “féin” anseo go huathoibríoch. Is eochairfhocal speisialta é seo agus lig dom dul ar ais chuige seo gan mhoill. Déanaimis “bogadh” a phriontáil ar an teirminéal.
print("move")
Sainmhínímid modh eile cosúil le “tarraingt” agus priontáil ar an teirminéal é.
def draw(self):
print("draw")
Táimid críochnaithe leis an sainmhíniú ar ár rang “pointe”. Leis an gcineál nua seo, is féidir linn rudaí nua a chruthú. Sainmhíníonn rang go simplí an treoirphlean nó an teimpléad chun rudaí a chruthú arb iad na cásanna iarbhír iad bunaithe ar an treoirphlean sin. Chun réad a chruthú, clóscríobhaimid ainm ár rang agus ansin glaoimid díreach mar fheidhm air. Cruthaíonn sé seo réad nua agus ansin cuireann sé ar ais é. Ansin is féidir linn an réad sin a stóráil in athróg. Lig dom a thaispeáint duit:
Anseo tá “pointe1” sainmhínithe againn ar pointe tríthoiseach é. Is féidir leat a fheiceáil gur féidir linn comhordanáidí aonair a phriontáil ar an teirminéal.
Is féidir linn an dá mhodh “tarraingt” agus “bogadh” a úsáid leis an bpointe seo.
Mar sin le hachoimre a dhéanamh, bainimid úsáid as ranganna chun cineálacha nua a shainiú agus is féidir modhanna a bheith ag na cineálacha seo a shainímid i gcorp an ranga. Is féidir tréithe a bheith ag ranganna is féidir linn a shocrú áit ar bith inár gcláir.
Tógálaithe
Go dtí seo, tá muid tar éis foghlaim conas cineálacha nua a chruthú ag baint úsáide as ranganna. Anois tá fadhb bheag leis an gcur i bhfeidhm seo. Is féidir linn réad pointe a chruthú gan comhordanáid x nó y ag baint úsáide as ranganna agus níl sé sin idéalach. Lig dom a thaispeáint duit.
Déanaimis pointe a chruthú agus é a phriontáil sula socróimid an x comhordanáid. Tá earráid aitreabúide mar seo mar thoradh ar ár gclár a rith:
Ciallaíonn sé nach bhfuil aon tréith ar a dtugtar x ag an réad pointe. Anois is í an fhadhb atá ann ná gur féidir réad pointe a bheith ann gan comhordanáidí x nó y. Ní dhéanann sé seo ciall mar aon uair a labhraímid faoi phointe, caithfimid fios a bheith againn cá bhfuil an pointe sin suite. Chun an fhadhb seo a réiteach, úsáidimid cruthaitheoir. Is feidhm é cruthaitheoir a dtugtar air nuair a chruthaítear réad.
Seo mar a úsáidimid cruthaitheoir. Ar dtús, cuirimis na luachanna comhordanáidí x agus y sa chlár thuas.
point = Point(10, 20)
print(point.x)
Anois, ní mór dúinn modh speisialta a chur leis sa rang seo ar a dtugtar cruthaitheoir. Is mar seo atá a chomhréir:
def __init__(self, x, y):
init
is gearr le haghaidh inisealaithe, agus is é seo an fheidhm nó an modh a thugtar air nuair a chruthaítear réad pointe nua. Cuirtear an x agus y leis díreach ina dhiaidh sin self
chun dhá pharaiméadar breise a chur leis.
Ina dhiaidh sin, ba cheart dúinn an x agus y a mhapáil go dtí na luachanna a ritheadh .i. 10 agus 20
self.x = x
self.y = y
Bainimid úsáid as an self
chun tagairt a dhéanamh don réad reatha agus ansin socróimid an aitreabúid x don argóint x a cuireadh ar aghaidh chuig an bhfeidhm “x”. Ar an mbealach seo, ag baint úsáide as init
modh, is féidir linn ár n-rudaí a thúsú. Tagraítear don mhodh seo mar chruthaitheoir. Rithfimid ár gclár.
Anois, is féidir linn na comhordanáidí x agus y a athrú níos déanaí. Déanaimis x comhordanáid a nuashonrú:
point = Point(10, 20)
point.x = 11
print(point.x)
Anois, tá an comhordanáid x nuashonraithe go luach 11.
Ceacht
Seo cleachtadh suimiúil duit.
Ba mhaith liom tú a shainiú cineál nua ar a dtugtar duine. Ba cheart go mbeadh “name
” tréith chomh maith le “talk()
”Modh.
Is tasc simplí é agus níor cheart go dtógfadh sé níos mó ná cúpla nóiméad.
réiteach
Tosaigh le “Duine” an ranga a shainiú mar seo:
class Person:
self.name = name
Déanfaimid sainmhíniú ar an cruthaitheoir níos déanaí. Anois, is féidir linn a chruthú ar an "Duine" réad. Glaoimis Seán air
john = Person("John Smith")
print(john.name)
john.talk()
Anois, téigh ar aghaidh go dtí an chéad chuid den chód agus cruthaigh cruthaitheoir.
def __init__(self, name):
Beidh cuma mar seo ar an gcód deiridh:
Is féidir leat teaghráin formáidithe agus coincheapa eile a úsáid freisin i gcomhar le ranganna agus le cruthaitheoirí.
oidhreacht
Is coincheap eile é oidhreacht a bhaineann le ranganna a ligeann duit cód a athúsáid.
Smaoinigh ar an bpíosa cód seo.
class Dog:
def walk(self):
print("walk")
Tá rang “Madra” cruthaithe againn le modh “siúlóid”. Ar an modh seo, nílimid ach ag priontáil an teachtaireacht siúlóide ar an teirminéal. Ligean le rá, i gclár fíor, Tá 10 línte de chód in ionad ach líne amháin anseo. Sa todhchaí, má tá rang eile ag teastáil chun an modh “siúlóid” a bheith againn, beidh orainn an cód sin ar fad a dhéanamh arís. Níl sé seo idéalach.
Sa ríomhchlárú, tá prionsabal againn ar a dtugtar TRY, atá gearr mar ná déan arís tú féin. Ligean le rá am éigin amach anseo, aimsímid fadhb lenár modh “siúl” agus má tá an modh seo arís agus arís eile nó dúbláil déanta againn i go leor áiteanna eile, beidh orainn teacht ar ais agus an fhadhb sin a réiteach i ngach aon áit a ndearnamar é seo a dhúbailt. cód. Mar sin, sin an fáth i gcláir nár cheart dúinn rud éigin a shainiú faoi dhó.
Tá cuir chuige éagsúla ann chun an fhadhb seo a réiteach ach anseo foghlaimfimid an ceann atá níos éasca do thosaitheoirí agus tugtar oidhreacht air. Sa chás seo, cruthóimid “mamal” aicme eile agus saineoimid ár n-airíonna “siúlóid” sa rang sin.
class Mammal:
def walk(self):
print("walk")
Tar éis dúinn ár rang “Mama” a shainiú is féidir linn oidhreacht a úsáid chun na tréithe mar seo a chur ar aghaidh:
Tá na modhanna ranga go léir atá sainithe ina rang tuismitheora ag teacht le hoidhreacht na ranganna madraí agus cat araon. Anois, is féidir linn modhanna a bhaineann go sonrach le madraí mar seo a chur leis:
class Dog:
def bark(self):
print("bark")
Fillte Suas!
Bhain sé seo go léir leis na ranganna, na tógálaithe agus athúsáid an chóid i ranganna le coincheapa oidhreachta. Anois táimid ag druidim le deireadh ár sraithe. Faoin bpointe seo, ba cheart go mbeifeá in ann cóid mhaithe, inléite agus gonta a tháirgeadh i Python.
Feicfimid coincheap na modúl agus na bpacáistí sa chéad léacht eile.
Leave a Reply