logo

Python yksityinen menetelmä

Johdanto

Pythonissa yksityinen menetelmä on menetelmä, jota ei ole tarkoitettu käytettäväksi sen luokan ulkopuolella, jossa se on määritelty. Nämä menetelmät on merkitty kaksinkertaisella alaviiva-etuliitteellä (__) ennen niiden nimeä, ja niitä voi käyttää vain siinä luokassa, jossa ne on määritelty. Tässä artikkelissa aiomme keskustella yksityisten menetelmien käsitteestä Pythonissa, niiden eduista ja haitoista sekä niiden käytöstä esimerkkien avulla.

Mikä on yksityinen menetelmä Pythonissa?

Yksityinen menetelmä on menetelmä, jota ei ole tarkoitettu käytettäväksi sen luokan ulkopuolella, jossa se on määritelty. Näitä menetelmiä käytetään sisäisten toimintojen toteuttamiseen luokassa. Näitä ei ole tarkoitettu ulkoisen koodin käytettäväksi. Pythonissa yksityiset menetelmät merkitään kaksinkertaisella alaviiva-etuliitteellä ennen niiden nimeä.

Esimerkki

 __method_name 

Kuinka määritellä yksityinen menetelmä Pythonissa?

Kun ohjelmoija haluaa määrittää yksityisen menetelmän Pythonissa, ohjelmoijan on lisättävä kaksinkertainen alaviiva etuliite menetelmän nimen eteen. Tässä on esimerkki:

Ohjelma 1:

 class MyClass: def __init__(self): self.__private_method() def __private_method(self): print('This is a private method.') # Instantiate, the class my_obj = MyClass() 

Lähtö:

Python yksityinen menetelmä

Selitys:

Yllä olevassa esimerkissä olemme määrittäneet luokan nimeltä MyClass. Sillä on yksityinen menetelmä nimeltä __private_method. Tämä menetelmä kutsutaan luokan rakentajalta (__init__) käyttämällä self.__private_method(). Koska menetelmässä on kaksinkertainen alaviiva-etuliite, se on yksityinen eikä sitä voi käyttää luokan ulkopuolella.

Ohjelma 2:

 class BankAccount: def __init__(self, account_number, balance): self.__account_number = account_number self.__balance = balance def deposit(self, amount): self.__balance += amount def withdraw(self, amount): if self.__balance >= amount: self.__balance -= amount else: print('Insufficient funds') def __display_balance(self): print('Account Balance:', self.__balance) def statement(self): print('Account Number:', self.__account_number) self.__display_balance() # create a BankAccount object my_account = BankAccount('123456789', 1000) # make some transactions my_account.deposit(500) my_account.withdraw(200) # print a statement my_account.statement() 

Lähtö:

Python yksityinen menetelmä

Selitys:

Annettu koodi määrittelee Pankkitili-luokan, jossa on menetelmät varojen tallettamiseen ja nostamiseen, tilin saldon näyttämiseen ja tiliotteen tulostamiseen. Tämän luokan ilmentymä luodaan sitten, ja sille suoritetaan joitakin tapahtumia, minkä jälkeen tulostetaan lausunto.

Yksityisten menetelmien edut Pythonissa

    Kapselointi:Yksityiset menetelmät auttavat saavuttamaan kapseloinnin. Se on olio-ohjelmoinnin perusperiaate. Tekemällä tietyt menetelmät yksityisiksi ohjelmoija voi hallita, kuinka luokan sisäisiä toimintoja käytetään ulkoisesta koodista. Tämä tekee luokasta turvallisemman ja auttaa estämään ei-toivotut muutokset luokan käyttäytymisessä.Koodin uudelleenkäyttö:Yksityisillä menetelmillä voidaan toteuttaa sisäisiä toimintoja, joita voidaan käyttää uudelleen luokassa. Tämä voi auttaa vähentämään koodin päällekkäisyyttä ja parantamaan koodin ylläpidettävyyttä.Helppo virheenkorjaus:Yksityiset menetelmät ovat käytettävissä vain luokassa, mikä helpottaa koodin virheenkorjausta eristämällä luokan käyttäytymistä.

Pythonin yksityisten menetelmien haitat

    Rajoitettu pääsy:Yksityiset menetelmät ovat käytettävissä vain luokassa, jossa ne on määritelty. Tämä tarkoittaa, että jos ohjelmoija tarvitsee pääsyn yksityisen menetelmän toimintoihin luokan ulkopuolelta, hänen on luotava julkinen menetelmä, joka kutsuu yksityistä menetelmää. Tämä voi lisätä koodin monimutkaisuutta.Väärä turvallisuuden tunne:Pythonin yksityiset menetelmät eivät ole todella yksityisiä. Niitä on edelleen mahdollista käyttää luokan ulkopuolella käyttämällä syntaksia _classname__methodname(). Tätä pidetään kuitenkin huonona käytäntönä ja sitä tulee välttää.Lisääntynyt monimutkaisuus:Yksityisten menetelmien käyttö voi monimutkaistaa koodia ja vaikeuttaa sen ymmärtämistä ja ylläpitämistä. Tämä voi olla erityisen totta, jos yksityiset menetelmät ovat huonosti dokumentoituja.

Johtopäätös

Pythonin yksityiset menetelmät ovat hyödyllinen ominaisuus, joka voi auttaa saavuttamaan kapseloinnin ja parantamaan koodin ylläpidettävyyttä. Vaikka niillä on joitain haittoja, yksityisten menetelmien käytön edut Pythonissa ovat haittoja suuremmat.