導入
Python では、プライベート メソッドは、それが定義されているクラスの外部で使用することを意図していないメソッドです。これらのメソッドは、名前の前に二重アンダースコア接頭辞 (__) で示され、メソッドが定義されているクラス内でのみアクセスできます。この記事では、Python のプライベート メソッドの概念、その利点と欠点、およびその使用方法を例とともに説明します。
Python のプライベート メソッドとは何ですか?
プライベート メソッドは、それが定義されているクラス外で使用することを意図していないメソッドです。これらのメソッドは、クラス内に内部機能を実装するために使用されます。これらは外部コードで使用することを意図したものではありません。 Python では、プライベート メソッドは名前の前に二重アンダースコア接頭辞を付けて表されます。
落花生 vs ピーナッツ
例
__method_name
Python でプライベート メソッドを定義するには?
プログラマが Python でプライベート メソッドを定義したい場合は、メソッド名の前に二重アンダースコア接頭辞を追加する必要があります。以下に例を示します。
プログラム 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()
出力:
説明:
上の例では、MyClass というクラスを定義しました。 __private_method というプライベート メソッドがあります。このメソッドは、self.__private_method() を使用してクラス コンストラクター (__init__) から呼び出されます。このメソッドには二重アンダースコア接頭辞が付いているため、プライベートであり、クラスの外部からアクセスすることはできません。
プログラム 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()
出力:
説明:
単純なJavaプログラム
提供されたコードは、資金の入出金、口座残高の表示、口座明細の印刷を行うためのメソッドを備えた BankAccount クラスを定義します。次に、このクラスのインスタンスが作成され、そのインスタンスに対していくつかのトランザクションが実行され、その後ステートメントが出力されます。
Python のプライベート メソッドの利点
Python のプライベート メソッドの欠点
結論
Python のプライベート メソッドは、カプセル化を実現し、コードの保守性を向上させるのに役立つ便利な機能です。いくつかの欠点はありますが、Python でプライベート メソッドを使用する利点は欠点を上回ります。