logo

Python privat metode

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:

Python privat metode

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:

Python privat metode

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

    Indkapsling:Private metoder hjælper med at opnå indkapsling. Det er et grundlæggende princip for objektorienteret programmering. Ved at gøre visse metoder private, kan programmøren kontrollere, hvordan klassens interne funktionalitet tilgås fra ekstern kode. Dette gør klassen mere sikker og hjælper med at forhindre uønskede ændringer i klassens adfærd.Genanvendelighed af kode:Private metoder kan bruges til at implementere intern funktionalitet, der kan genbruges i klassen. Dette kan hjælpe med at reducere kodeduplikering og forbedre kodevedligeholdelse.Nem fejlretning:Private metoder er kun tilgængelige i klassen, hvilket gør det nemmere at fejlfinde kode ved at isolere klassens adfærd.

Ulemper ved private metoder i Python

    Begrænset adgang:Private metoder er kun tilgængelige inden for den klasse, hvor de er defineret. Det betyder, at hvis programmøren skal have adgang til funktionaliteten af ​​en privat metode uden for klassen, så skal de oprette en offentlig metode, der kalder den private metode. Dette kan tilføje yderligere kompleksitet til koden.Falsk følelse af sikkerhed:Pythons private metoder er ikke virkelig private. Det er stadig muligt at få adgang til dem uden for klassen ved at bruge syntaksen _classname__methodname(). Dette betragtes dog som dårlig praksis og bør undgås.Øget kompleksitet:Brugen af ​​private metoder kan øge kompleksiteten af ​​koden, hvilket gør den sværere at forstå og vedligeholde. Det kan især være tilfældet, hvis de private metoder er dårligt dokumenterede.

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.