ホームページ > バックエンド開発 > Python チュートリアル > Pythonのクラス属性とは何ですか?クラスのプライベート プロパティとは何ですか? (分析例)

Pythonのクラス属性とは何ですか?クラスのプライベート プロパティとは何ですか? (分析例)

乌拉乌拉~
リリース: 2018-08-22 17:17:02
オリジナル
3044 人が閲覧しました

この記事では、クラスに関する知識を学びましょう。友達の中には、プログラミング言語 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 &#39;__secretCount&#39;
ログイン後にコピー

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート