logo

Python privát módszer

Bevezetés

A Pythonban a privát metódus olyan metódus, amelyet nem arra az osztályra szántak, hogy azon az osztályon kívül használják, amelyben meghatározták. Ezeket a metódusokat dupla aláhúzásjel előtag (__) jelöli a nevük előtt, és csak azon az osztályon belül érhetők el, ahol meghatározásra kerültek. Ebben a cikkben a Python privát metódusainak fogalmát, azok előnyeit és hátrányait, valamint a használatukat példákkal tárgyaljuk.

Mi az a privát módszer a Pythonban?

A privát metódus olyan metódus, amelyet nem arra szántak, hogy azon az osztályon kívül használják, amelyben definiálták. Ezeket a módszereket az osztályon belüli belső funkciók megvalósítására használják. Ezeket nem külső kód általi használatra szánták. A Pythonban a privát metódusokat dupla aláhúzásjel előtag jelöli a nevük előtt.

farkas vs róka

Példa

 __method_name 

Hogyan határozzunk meg egy privát módszert a Pythonban?

Ha a programozó egy privát metódust akar definiálni a Pythonban, akkor a programozónak dupla aláhúzásjelet kell hozzáadnia a metódus neve elé. Íme egy példa:

1. program:

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

Kimenet:

Python privát módszer

Magyarázat:

imessage játékok androidon

A fenti példában egy MyClass nevű osztályt definiáltunk. Van egy privát metódusa, az úgynevezett __private_method. Ezt a metódust az osztálykonstruktor (__init__) hívja meg a self.__private_method() használatával. Mivel a metódus dupla aláhúzásjelű előtaggal rendelkezik, privát, és nem érhető el az osztályon kívül.

2. program:

 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() 

Kimenet:

Python privát módszer

Magyarázat:

A megadott kód egy BankSzámla osztályt határoz meg a pénz befizetésének és felvételének módszereivel, a számlaegyenleg megjelenítésével és a számlakivonat nyomtatásával. Ezután létrejön ennek az osztálynak egy példánya, és bizonyos tranzakciókat hajtanak végre vele, majd kinyomtatják a nyilatkozatot.

minta java kód

A privát módszerek előnyei a Pythonban

    Egységbezárás:A privát módszerek segítenek a kapszulázás elérésében. Ez az objektum-orientált programozás alapelve. Bizonyos metódusok priváttá tételével a programozó szabályozhatja, hogy az osztály belső funkciói hogyan érhetők el külső kódból. Ez biztonságosabbá teszi az osztályt, és segít megelőzni az osztály viselkedésében bekövetkező nem kívánt változásokat.A kód újrafelhasználhatósága:Privát metódusok használhatók az osztályon belül újrafelhasználható belső funkciók megvalósítására. Ez segíthet a kódduplikáció csökkentésében és javíthatja a kód karbantarthatóságát.Könnyű hibakeresés:A privát metódusok csak az osztályon belül érhetők el, ami megkönnyíti a kód hibakeresését az osztály viselkedésének elkülönítésével.

A Python privát módszereinek hátrányai

    Korlátozott hozzáférés:A privát metódusok csak azon az osztályon belül érhetők el, amelyben meghatározásra kerültek. Ez azt jelenti, hogy ha a programozónak az osztályon kívülről kell hozzáférnie egy privát metódus funkcionalitásához, akkor létre kell hoznia egy nyilvános metódust, amely meghívja a privát metódust. Ez tovább bonyolítja a kódot.Hamis biztonságérzet:A Python privát módszerei nem igazán privátak. Továbbra is elérhetők az osztályon kívül a _classname__methodname() szintaxis használatával. Ez azonban rossz gyakorlatnak minősül, és kerülni kell.Fokozott összetettség:A privát módszerek használata növelheti a kód összetettségét, megnehezítve annak megértését és karbantartását. Ez különösen igaz lehet, ha a privát módszerek rosszul dokumentáltak.

Következtetés

A Python privát metódusai hasznos szolgáltatás, amely segíthet a beágyazás elérésében és a kód karbantarthatóságának javításában. Bár vannak hátrányai, a Pythonban a privát módszerek használatának előnyei meghaladják a hátrányokat.