Instance vs. Static vs. Mga Paraan ng Klase sa Python: Ang Mahalagang Pagkakaiba

Instance vs. Static vs. Mga Paraan ng Klase sa Python: Ang Mahalagang Pagkakaiba

Ang mga pamamaraan ng Python ay maaaring madalas na nakalilito sa sandaling makarating ka sa object orientated programming (OOP). Saklaw ng gabay na ito ang tatlong pangunahing uri ng mga pamamaraan sa Python.





Ang 3 Mga Uri ng Paraan sa Python

Mayroong tatlong uri ng mga pamamaraan sa Python: halimbawa ng mga pamamaraan , static na pamamaraan , at pamamaraan ng klase .





Ang pagkaalam sa mga pagkakaiba ay hindi palaging kinakailangan upang mag-code ng pangunahing mga script ng Python, ngunit sa sandaling sumulong ka sa OOP, ang mga pagkakaiba ay maaaring gumawa ng isang malaking pagbabago.





Kung bago ka sa Python, o nais mo lamang mag-eksperimento nang hindi kinakailangang mag-install ng anumang bagay, tiyakin na binisita mo ang mga ito online interactive na mga shell ng Python .

Bago Kami Magsimula: Pag-unawa sa Mga pattern ng Dekorador

Bago tingnan ang mga pagkakaiba, mahalagang maunawaan ang isang pattern ng disenyo na kilala bilang pattern ng dekorador , o simpleng tinawag na a dekorador .



Masalimuot ang tunog ng mga dekorador, ngunit walang kinakatakutan. Ang mga dekorador ay simpleng pagpapaandar. Maaari mong isulat ang mga ito sa iyong sarili, o gamitin ang mga kasama sa mga aklatan, o sa pamantayang aklatan ng Python.

Tulad ng anumang pagpapaandar, ang mga dekorador ay nagsasagawa ng isang gawain. Ang pagkakaiba dito ay ang mga dekorador na naglalapat ng lohika o binago ang pag-uugali ng iba pang mga pagpapaandar. Ang mga ito ay isang mahusay na paraan upang muling magamit ang code, at makakatulong upang paghiwalayin ang lohika sa mga indibidwal na alalahanin.





Ang pattern ng dekorador ay ang ginustong paraan ng Python sa pagtukoy ng mga static o pamamaraan ng klase. Narito kung ano ang hitsura ng isa sa Python:

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
@staticmethod
def example_function():
''' This method is decorated! '''
print('I'm a decorated function!')

de = DecoratorExample()
de.example_function()

Ang mga dekorador ay dapat na agad na mauna sa isang pagpapaandar o deklarasyon ng klase. Nagsisimula sila sa @ mag-sign, at hindi katulad ng mga normal na pamamaraan, hindi mo kailangang ilagay sa dulo ang panaklong maliban kung pumasa ka sa mga argumento.





Posibleng pagsamahin ang maraming mga dekorador, isulat ang iyong sarili, at ilapat ang mga ito sa mga klase, ngunit hindi mo kakailanganin na gawin ang alinman sa mga halimbawang ito.

ipinagbabawal wala kang pahintulot na mag-access

Mga Paraan ng Instance sa Python

Ang mga pamamaraang pangyayari ay ang pinaka-karaniwang uri ng mga pamamaraan sa mga klase sa Python. Tinawag ito sapagkat maaari nilang ma-access ang natatanging data ng kanilang halimbawa. Kung mayroon kang dalawang mga bagay bawat nilikha mula sa isang klase ng kotse, pagkatapos ang bawat isa ay maaaring may iba't ibang mga katangian. Maaari silang magkaroon ng magkakaibang mga kulay, laki ng engine, puwesto, at iba pa.

Dapat magkaroon ng mga pamamaraan ng pagkakataon sarili bilang isang parameter, ngunit hindi mo kailangang ipasa ito sa bawat oras. Ang Sarili ay isa pang espesyal na kataga ng Python. Sa loob ng anumang paraan ng halimbawa, maaari mong gamitin ang sarili upang mai-access ang anumang data o mga pamamaraan na maaaring manirahan sa iyong klase. Hindi mo maa-access ang mga ito nang hindi dumadaan sa iyong sarili.

Sa wakas, bilang mga halimbawa ng pamamaraan ay ang pinaka-karaniwan, walang pandekorasyon na kinakailangan. Anumang paraan na iyong nilikha ay awtomatikong malilikha bilang isang paraan ng halimbawa, maliban kung sabihin mo sa Python kung hindi man.

Narito ang isang halimbawa:

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
self.name = 'Decorator_Example'
def example_function(self):
''' This method is an instance method! '''
print('I'm an instance method!')
print('My name is ' + self.name)

de = DecoratorExample()
de.example_function()

Ang pangalan ang variable ay na-access sa pamamagitan ng sarili . Pansinin na kapag halimbawa_function tinawag, hindi mo kailangang ipasa ang sarili sa --- Ginagawa ito ni Python para sa iyo.

Mga Static na Pamamaraan sa Python

Ang mga static na pamamaraan ay mga pamamaraan na nauugnay sa isang klase sa ilang paraan, ngunit hindi kailangang i-access ang anumang data na partikular sa klase. Hindi mo na kailangang gamitin sarili , at hindi mo rin kailangang magsimula ng isang halimbawa, maaari mo lamang tawagan ang iyong pamamaraan:

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
@staticmethod
def example_function():
''' This method is a static method! '''
print('I'm a static method!')

de = DecoratorExample.example_function()

Ang @staticmethod ginamit ang dekorador upang sabihin sa Python na ang pamamaraang ito ay isang static na pamamaraan.

Ang mga static na pamamaraan ay mahusay para sa mga pagpapaandar ng utility, na nagsasagawa ng isang gawain nang nakahiwalay. Hindi nila kailangang (at hindi) ma-access ang data ng klase. Dapat silang maging ganap na mapag-isa, at gagana lamang sa data na naipasa bilang mga argumento. Maaari kang gumamit ng isang static na pamamaraan upang magdagdag ng dalawang numero nang magkakasama, o mai-print ang isang naibigay na string.

Mga Paraan ng Klase sa Python

Ang mga pamamaraan ng klase ay ang pangatlo at pangwakas na uri ng pamamaraan ng OOP na alam. Alam ng mga pamamaraan sa klase ang tungkol sa kanilang klase. Hindi nila ma-access ang partikular na data ng halimbawa, ngunit maaari silang tumawag sa iba pang mga static na pamamaraan.

Hindi kailangan ng mga pamamaraan ng klase sarili bilang isang argument, ngunit kailangan nila ng isang parameter na tinatawag cls . Ito ay nangangahulugang klase , at tulad ng sarili, awtomatikong naipapasa ng Python.

Ang mga pamamaraan ng klase ay nilikha gamit ang @classmethod dekorador

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
@classmethod
def example_function(cls):
''' This method is a class method! '''
print('I'm a class method!')
cls.some_other_function()
@staticmethod
def some_other_function():
print('Hello!')

de = DecoratorExample()
de.example_function()

Ang mga pamamaraan sa klase ay posibleng mas nakalilito na mga uri ng pamamaraan ng tatlo, ngunit mayroon silang mga paggamit. Maaaring manipulahin ng mga pamamaraan ng klase ang mismong klase, na kapaki-pakinabang kapag nagtatrabaho ka sa mas malaki, mas kumplikadong mga proyekto.

Kailan Gagamitin ang bawat Uri ng Paraan

Ito ay maaaring parang isang matigas at nakakatakot na pagpili ng pagpili sa pagitan ng mga uri ng pamamaraan sa Python, ngunit malapit ka nang mabitin sa kaunting kasanayan.

amazon package sabi ni naihatid ngunit hindi

Kahit na sumulat ka lamang ng maliliit na mga script para sa kasiyahan, ang pag-aaral ng isa pang tampok na OOP ng Python ay isang mahusay na kasanayan upang malaman, at makakatulong upang gawing mas madali ang iyong code sa pag-troubleshoot, at mas madaling magamit muli sa hinaharap.

Sa buod:

  1. Mga Paraan ng Instance: Ang pinakakaraniwang uri ng pamamaraan. Magawang i-access ang data at mga katangian na natatangi sa bawat halimbawa.
  2. Static na Pamamaraan: Hindi ma-access ang anupaman sa klase. Ganap na self-nilalaman na code.
  3. Mga Paraan ng Klase: Maaaring ma-access ang mga limitadong pamamaraan sa klase. Maaaring baguhin ang tukoy na mga detalye ng klase.

Kung ang tutorial na ito ay medyo advanced, o hindi masyadong kung ano ang iyong hinahanap, bakit hindi tingnan ang mga kursong ito upang pumunta mula sa nagsisimula sa Python hanggang sa pro? Ang 5 mga website na ito ay mahusay din para sa mga nagsisimula sa Python. Kung nais mo ng isang pisikal, totoong paggamit ng mundo ng Python, ngunit nababagot sa Raspberry Pi, kumusta ang tungkol sa aming gabay sa pagkontrol sa Arduino sa Python ?

Magbahagi Magbahagi Mag-tweet Email Paano linisin ang iyong Windows PC Gamit ang Command Prompt

Kung ang iyong Windows PC ay mababa na sa espasyo ng imbakan, linisin ang basura gamit ang mga mabilis na utos ng Command Prompt na ito.

Basahin Susunod
Mga Kaugnay na Paksa
  • Programming
  • Programming
  • Sawa
Tungkol sa May-akda Joe Coburn(136 Mga Artikulo Na-publish)

Si Joe ay nagtapos sa Computer Science mula sa University of Lincoln, UK. Siya ay isang propesyonal na developer ng software, at kapag hindi siya lumilipad ng mga drone o sumusulat ng musika, madalas siyang matagpuan na kumukuha ng mga larawan o gumawa ng mga video.

Higit pa Mula kay Joe Coburn

Mag-subscribe sa aming newsletter

Sumali sa aming newsletter para sa mga tip sa tech, pagsusuri, libreng ebook, at eksklusibong deal!

Mag-click dito upang mag-subscribe