Programmēšana ar Python sniedz tev daudz iespēju, kas pārsniedz vienkāršus skriptus. Centrālais elements objektorientētajā programmēšanā ir darbs ar klasēm. Tās veido pamatu objektiem un ļauj tev izveidot un pārvaldīt sarežģītas datu struktūras. Šajā ceļvedī tu iemācīsies, kā definēt savas klases Python, lai efektīvi izmantotu to īpašības un metodes.
Svarīgākie secinājumi
- Klases ir atslēga objektorientētai programmēšanai Python.
- Inicializators (konstruktors) ļauj tev definēt specifiskas īpašības, kad izveido klasi.
- Metodes klasēs ļauj tev kapsulēt funkcijas, kas darbojas ar objekta īpašībām.
- Piekļuve īpašībām notiek, izmantojot punkti operatoru.
Solī pa solim ceļvedis
Ēsim ar pamatiem klases izveidē Python. Pirmkārt, tev jādara ar atslēgvārdu class definēt jaunu klasi. Tu vari to izdarīt savā Python kodā šādi:

Šeit mēs esam izveidojuši tukšu klasi ar nosaukumu Darbinieks. Tu vari to vispirms definēt bez parametriem, kas nozīmē, ka klase tiek izveidota bez specifiskas inicializācijas. Tas ir svarīgs pamats, lai nodrošinātu, ka vēlāk tu nepieļautu kļūdas, izveidojot objektus.
Tagad izveidosim objekta šajā klasē. Tam pietiek izmantot klases nosaukumu un ievietot tukšas iekavas:
Šajā gadījumā mums ir izveidots objekts Darbinieks. Nākamais solis ir paplašināt klasi ar īpašībām. Piemēram, tu varētu pievienot klasei Darbinieks vārdu.
Vispirms tev jādara tam jādefinē inicializators, kas kalpo kā klases konstruktors. Tas notiek caur metodi __init__.

Šeit tu redzi, kā tiek definēts __init__ konstruktors. Mēs nododam vārdu kā parametru un izmantojam self, lai saglabātu vārdu pašreizējā objektā.
Tagad, kad tev ir īpašība, tu vari, izveidojot objektu, tieši nodot vārdu:

Ja tu tagad izveido objektu dalībnieks ar vārdu "Jan", vārds tiks saglabāts instancē. Ar automātiskās pabeigšanas palīdzību tu vari pārbaudīt, vai vārds ir pareizi noteikts.
Lai izmantotu īpašības, tu tās vari izsaukt, izmantojot punktu operatoru:

Šeit ir brīdis, kad tu vari piekļūt objekta īpašībām. Šajā gadījumā tu izdrukā dalībnieka vārdu.
Papildus īpašībām tu arī vari ieviest metodes. Metodes izveidošana notiek līdzīgi kā funkcijas definēšana:

Šeit tu definē metodi reģistrēties. Atceries, ka self automātiski tiek nodota kā parametrs metodei, lai piekļūtu instancei. Reģistrācijas laikā mēs varētu pēdējā, izdrukāt panākumu ziņojumu:

Ja tu izsauksi metodi reģistrēties, tas izskatīsies šādi:

Šeit tu izsauc metodi uz instanci dalībnieks, kas sniedz atgriezenisko saiti par reģistrāciju.
Visbeidzot, mēs arī varam nodot parametrus metodēm, tāpat kā funkcijām. Piemēram, metodei atcelt, kas sagaida parametru priekšlaicīgai atcelšanai:

Šeit tu analizē, vai dalībnieks vēlas atcelt savu dalību un izdrukā attiecīgu ziņu.
ScreenShot_320
Tas rāda, cik interaktīvas var kļūt tavas klases un metodes un kā tās reaģē uz ievadiem.
Noslēgumā, mēs varētu apkopot pamatprincipus, ko esam iemācījušies. Klases definīcija ir atribūtu un metožu definēšana, kas ir attiecīgajiem objektiem būtiska. Konstruktors __init__ ir centrāls, lai iestatītu atribūtus objekta izveides laikā.
Kopsavilkums – Izveidot un izmantot savas klases Python
Izprotot un piemērojot šos pamata principus, tu vari izstrādāt jaudīgas un elastīgas programmas Python. Tu vari izveidot klases, kas kapsulē specifiskas funkcijas un īpašības, lai programmēšana kļūtu lietotājam draudzīgāka un efektīvāka.
Bieži uzdotie jautājumi
Kā definēt klasi Python?Izmanto atslēgvārdu class, pēc tam seko klases nosaukums un kolons.
Kāda ir __init__ konstruktora funkcija?To izmanto, lai veiktu inicializāciju objekta izveides laikā.
Kā piekļūt objekta īpašībām?Izmanto punktu operatoru, pēc tam seko īpašības nosaukumam, piemēram, objekts.īpašība.
Vai es varu nodot vairākus parametrus metodei?Jā, tu vari definēt metodes, kas pieņem vairākus parametrus.
Vai es varu izmantot funkcijas savās klasēs?Jā, metodes ir vienkārši funkcijas, kas ir piesaistītas klasei.