ホームページ >バックエンド開発 >Python チュートリアル >Pythonのクラス属性とは何ですか?クラスのプライベート プロパティとは何ですか? (分析例)
この記事では、クラスに関する知識を学びましょう。友達の中には、プログラミング言語 Python に触れたばかりで、Python クラスの属性 について特別に理解していない人もいるかもしれませんが、そんなことはありません。次の記事では、Python クラス属性メソッド について学習します。それでは、早速、記事に入って学習を始めましょう。
クラスのプライベート属性
__private_attrs: 2 つのアンダースコアで始まり、属性がプライベートであり、クラス外で使用したり直接アクセスしたりできないことを宣言します。クラス内のメソッドで使用されるか、直接アクセスされます。クラス内のメソッドで self.__private_attrs を使用する場合。
クラス メソッド
クラス内では、def キーワードを使用してクラスのメソッドを定義できます。一般的な関数定義とは異なり、クラス メソッドにはパラメータ self が含まれている必要があります、最初のパラメータです。
クラスのプライベート メソッド
__private_method: 2 つのアンダースコアで始まるメソッドはプライベート メソッドとして宣言され、クラスの外部から呼び出すことはできません。クラス内で self.__private_methods を呼び出します。
例は次のとおりです:
#!/usr/bin/python # -*- coding: UTF-8 -*- class JustCounter: __secretCount = 0 # 私有变量 publicCount = 0 # 公开变量 def count(self): self.__secretCount += 1 self.publicCount += 1 print self.__secretCount counter = JustCounter() counter.count() counter.count() print counter.publicCount print counter.__secretCount # 报错,实例不能访问私有变量
Python クラス名を含むように名前を変更します:
Traceback (most recent call last): File "test.py", line 17, in <module> print counter.__secretCount # 报错,实例不能访问私有变量 AttributeError: JustCounter instance has no attribute '__secretCount'
Python では、インスタンス化されたクラスがプライベート データにアクセスすることはできませんが、アクセスすることはできます。 use object._className__attrName (オブジェクト名._クラス名__プライベート属性名) 属性にアクセスするには、次の例を参照してください。
#!/usr/bin/python # -*- coding: UTF-8 -*- class Runoob: __site = "www.runoob.com" runoob = Runoob() print runoob._Runoob__site
上記の例を実行すると、出力は次のようになります。以上がこの記事の内容ですが、この記事では主に
pythonクラスの属性メソッドに関する関連知識を紹介していますので、上記の内容を理解するために活用していただければ幸いです。この記事で説明したことがあなたのお役に立ち、Python の学習が容易になることを願っています。 関連知識の詳細については、php 中国語 Web サイトの
Python チュートリアル以上がPythonのクラス属性とは何ですか?クラスのプライベート プロパティとは何ですか? (分析例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。