Pythonクラスのパブリック変数とプライベート変数は何ですか?
Pythonは、Pythonプログラムで変数にアクセスしたりメンバーメソッドを呼び出したりすることを制限しません。
class Mug: def __init__(self): self.color = None self.content = None def fill(self, beverage): self.content = beverage def empty(self): self.content = None brownMug = Mug() brownMug.color = "brown" print brownMug.empty() print brownMug.fill('tea') print brownMug.color print brownMug.content
コード内のすべての変数とメソッドはデフォルトで公開されています。
データメンバーをプライベートと宣言する場合、クラス外から誰もデータメンバーにアクセスできないようにする必要があります。ここで、Pythonは名前マングリングと呼ばれる手法をサポートしています。この機能は、接頭辞が2つ以上、接尾辞が1つ以下のすべてのメンバー名を_
class Cup: def __init__(self, color): self.__content = None # private variable def fill(self, beverage): self.__content = beverage def empty(self): self.__content = None
私たちのカップは、fill()メソッドとempty()メソッドを使用することによってのみ充填および注入できるようになりました。外部から__contentにアクセスしようとすると、エラーが発生することに注意してください。しかし、あなたはまだこのようなものに出くわすことができます-
redCup = Cup("red") redCup._Cup__content = "tea"
-
Pythonでの継承
この記事では、Python3.xでの継承と拡張クラスについて学習します。またはそれ以前。 継承は実際の関係をうまく表し、再利用性を提供し、推移性をサポートします。開発時間が短縮され、メンテナンスが容易になり、拡張も容易になります。 継承は大きく5つのタイプに分類されます- シングル 複数 階層的 マルチレベル ハイブリッド 上の図に示されているように、継承とは、実際に親クラスのオブジェクトを作成せずに、他のクラスの機能にアクセスしようとするプロセスです。 ここでは、単一の階層型継承の実装について学習します。 単一継承 例 # parent class class Studen
-
Python2.7.xとPython3.xの主な違いは何ですか?
Python 3.0は2008年12月にリリースされました。これは、以前のバージョンの特定の欠陥を修正するために設計されました。 Python 3の基本原則は、「古いやり方を削除することで機能の重複を減らす」ことでした。 Python3.0は下位互換性を提供しません。つまり、バージョン2.x構文を使用して記述されたPythonプログラムは、python3.xインタープリターでは実行されません。 Ver 2.7は、Python2.xシリーズの最後のメジャーリリースです。 これら2つのバージョンの使用法にはかなりの違いがありますが、最も明白なものを以下に示します- 印刷 はPython2.7の