Introduktion
I Python är en privat metod en metod som inte är avsedd att användas utanför klassen där den är definierad. Dessa metoder betecknas med ett dubbelt understrecksprefix (__) före deras namn, och de kan endast nås inom den klass där de är definierade. I den här artikeln kommer vi att diskutera konceptet med privata metoder i Python, deras fördelar och nackdelar, och hur man använder dem med exempel.
Vad är en privat metod i Python?
En privat metod är en metod som inte är avsedd att användas utanför klassen där den är definierad. Dessa metoder används för att implementera intern funktionalitet inom klassen. Dessa är inte avsedda att användas av extern kod. I Python betecknas privata metoder med ett dubbelt understrecksprefix före deras namn.
Exempel
__method_name
Hur definierar man en privat metod i Python?
När programmeraren vill definiera en privat metod i Python måste programmeraren lägga till ett dubbelt understrecksprefix före metodnamnet. Här är ett exempel:
Program 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()
Produktion:
Förklaring:
I exemplet ovan har vi definierat en klass som heter MyClass. Den har en privat metod som heter __private_method. Denna metod anropas från klasskonstruktorn (__init__) med self.__private_method(). Eftersom metoden har ett dubbelt understrecksprefix är den privat och kan inte nås utanför klassen.
Program 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()
Produktion:
Förklaring:
Den tillhandahållna koden definierar en bankkontoklass med metoder för att sätta in och ta ut pengar, visa kontosaldot och skriva ut ett kontoutdrag. En instans av denna klass skapas sedan och några transaktioner görs till den, följt av att ett uttalande skrivs ut.
Fördelar med privata metoder i Python
Nackdelar med privata metoder i Python
Slutsats
Privata metoder i Python är en användbar funktion som kan hjälpa till att uppnå inkapsling och förbättra kodunderhållbarheten. Även om de har vissa nackdelar, uppväger fördelarna med att använda privata metoder i Python nackdelarna.