Introduktion
I Python er en privat metode en metode, der ikke er beregnet til at blive brugt uden for den klasse, hvor den er defineret. Disse metoder er angivet med et dobbelt understregningspræfiks (__) foran deres navn, og de kan kun tilgås inden for den klasse, hvor de er defineret. I denne artikel skal vi diskutere begrebet private metoder i Python, deres fordele og ulemper, og hvordan man bruger dem med eksempler.
Hvad er en privat metode i Python?
En privat metode er en metode, der ikke er beregnet til at blive brugt uden for den klasse, hvor den er defineret. Disse metoder bruges til at implementere intern funktionalitet i klassen. Disse er ikke beregnet til at blive brugt af ekstern kode. I Python er private metoder angivet med et dobbelt understregningspræfiks foran deres navn.
jordnød vs jordnød
Eksempel
__method_name
Hvordan defineres en privat metode i Python?
Når programmøren ønsker at definere en privat metode i Python, skal programmøren tilføje et dobbelt understregningspræfiks før metodenavnet. Her er et eksempel:
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:
Forklaring:
I ovenstående eksempel har vi defineret en klasse kaldet MyClass. Den har en privat metode kaldet __private_method. Denne metode kaldes fra klassekonstruktøren (__init__) ved hjælp af self.__private_method(). Da metoden har et dobbelt understregningspræfiks, er den privat og kan ikke tilgås uden for 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:
Forklaring:
instansiering i java
Den angivne kode definerer en BankAccount-klasse med metoder til at indsætte og hæve penge, vise kontosaldoen og udskrive et kontoudtog. Der oprettes derefter en forekomst af denne klasse, og der foretages nogle transaktioner til den, efterfulgt af udskrivning af en erklæring.
Fordele ved private metoder i Python
Ulemper ved private metoder i Python
Konklusion
Private metoder i Python er en nyttig funktion, der kan hjælpe med at opnå indkapsling og forbedre kodevedligeholdelse. Selvom de har nogle ulemper, opvejer fordelene ved at bruge private metoder i Python ulemperne.