ホームページ  >  記事  >  バックエンド開発  >  Pythonにおける一重下線と二重下線の違いは何ですか?

Pythonにおける一重下線と二重下線の違いは何ですか?

silencement
silencementオリジナル
2019-05-23 18:11:388035ブラウズ

Python における一重下線と二重下線の違いは、一重下線は、このプロパティまたはメソッドがプライベートであることを他のプログラムに伝えるために使用され、二重下線は、インスタンス、クラス変数、グローバル変数、およびインスタンスを定義するために使用されます。プライベートクラスや変数など

Pythonにおける一重下線と二重下線の違いは何ですか?

単一のアンダースコア

クラス内のメソッドまたは属性を単一のアンダースコアで開始すると、これが他のプログラムに通知されます。プロパティまたはメソッドはプライベートです。しかし、その名前には特別なことは何もありません。

(推奨チュートリアル: Python ビデオ チュートリアル )

二重下線

任意__spam 形式 (少なくとも 2 つのアンダースコアで始まり、最大 1 つのアンダースコアで終わる) は、_classname__spam を置き換えます。ここで、classname は現在のクラスの名前です。このマングリングは、識別子の構文上の位置に関係なく行われます。したがって、プライベート クラス インスタンスとクラス変数、メソッド、グローバル世界の変数、さらにはインスタンス内の変数を定義するために使用できます。異なるクラスのインスタンスを区別できます。

Pythonにおける一重下線と二重下線の違いは何ですか?

概要:

__foo__: 他のユーザー定義を区別するために使用される Python の内部名。競合を避けるために名前を付けます。

_foo: 変数がプライベートであることを指定するために使用される規則。プログラマがプライベート変数を指定する方法。

__foo: これには実際の意味があります。パーサーはこの名前を _classname__foo に置き換えて、同じ名前を持つ他のクラスと区別します。

Python には他の形式のアンダースコアはありません。

この規則は、クラス、変数、グローバル変数などと何ら変わりません。

以上がPythonにおける一重下線と二重下線の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。