logo

Python privat metode

Introduksjon

I Python er en privat metode en metode som ikke er ment å brukes utenfor klassen den er definert i. Disse metodene er merket med et dobbelt understrekprefiks (__) foran navnet deres, og de kan bare nås innenfor klassen der de er definert. I denne artikkelen skal vi diskutere konseptet med private metoder i Python, deres fordeler og ulemper, og hvordan du bruker dem med eksempler.

Hva er en privat metode i Python?

En privat metode er en metode som ikke er ment å brukes utenfor klassen den er definert i. Disse metodene brukes til å implementere intern funksjonalitet i klassen. Disse er ikke ment å brukes av ekstern kode. I Python er private metoder merket med et dobbelt understrekprefiks foran navnet.

rohit shetty skuespiller

Eksempel

 __method_name 

Hvordan definere en privat metode i Python?

Når programmereren ønsker å definere en privat metode i Python, må programmereren legge til et dobbelt understrekprefiks foran 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() 

Produksjon:

Python privat metode

Forklaring:

I eksemplet ovenfor har vi definert en klasse kalt MyClass. Den har en privat metode kalt __private_method. Denne metoden kalles fra klassekonstruktøren (__init__) ved å bruke self.__private_method(). Siden metoden har et dobbelt understrekprefiks, er den privat og kan ikke nås utenfor 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() 

Produksjon:

Python privat metode

Forklaring:

instansiering i java

Den oppgitte koden definerer en bankkontoklasse med metoder for å sette inn og ta ut midler, vise kontosaldoen og skrive ut en kontoutskrift. En forekomst av denne klassen blir så opprettet, og noen transaksjoner blir gjort til den, etterfulgt av utskrift av en setning.

Fordeler med private metoder i Python

    Innkapsling:Private metoder hjelper til med å oppnå innkapsling. Det er et grunnleggende prinsipp for objektorientert programmering. Ved å gjøre visse metoder private, kan programmereren kontrollere hvordan klassens interne funksjonalitet aksesseres fra ekstern kode. Dette gjør klassen sikrere og hjelper til med å forhindre uønskede endringer i klassens atferd.Gjenbrukbarhet av kode:Private metoder kan brukes til å implementere intern funksjonalitet som kan gjenbrukes i klassen. Dette kan bidra til å redusere kodeduplisering og forbedre kodevedlikehold.Enkel feilsøking:Private metoder er bare tilgjengelige innenfor klassen, noe som gjør det enklere å feilsøke kode ved å isolere klassens oppførsel.

Ulemper med private metoder i Python

    Begrenset tilgang:Private metoder er bare tilgjengelige innenfor klassen de er definert i. Dette betyr at hvis programmereren trenger å få tilgang til funksjonaliteten til en privat metode fra utenfor klassen, må de lage en offentlig metode som kaller den private metoden. Dette kan legge til ekstra kompleksitet til koden.Falsk følelse av sikkerhet:Pythons private metoder er ikke virkelig private. Det er fortsatt mulig å få tilgang til dem utenfor klassen ved å bruke _classname__methodname()-syntaksen. Dette anses imidlertid som dårlig praksis og bør unngås.Økt kompleksitet:Bruk av private metoder kan øke kompleksiteten til koden, og gjøre den vanskeligere å forstå og vedlikeholde. Dette kan spesielt gjelde dersom de private metodene er dårlig dokumentert.

Konklusjon

Private metoder i Python er en nyttig funksjon som kan bidra til å oppnå innkapsling og forbedre kodens vedlikeholdsmuligheter. Selv om de har noen ulemper, oppveier fordelene ved å bruke private metoder i Python ulempene.