ホームページ  >  記事  >  バックエンド開発  >  Python 識別子の命名規則は何ですか

Python 識別子の命名規則は何ですか

silencement
silencementオリジナル
2019-06-10 14:05:5412242ブラウズ

Python 識別子の命名規則は何ですか

Python では、整数データ型 (1、2、3...) や文字列データ型 (「ABC」) などの定数データ型を含むすべてがオブジェクトです。これらのオブジェクトを使用するには、オブジェクト参照を使用します。代入演算子は実際に、メモリにデータを格納しているオブジェクトをオブジェクト参照に参照させます。

それでは、識別子とは何でしょうか?

Identifier は、オブジェクト参照に与えられる名前です。

有効な Python 識別子の規則:

1. 長さは任意です;

2. 識別子はキーワードと同じ名前を持つことはできません;

3. Python 2.x バージョンでは、識別子は ASCII 文字またはアンダースコアで始まり、その後に文字、数字、アンダースコアを続けることができます。Python 3.x では、識別子は ASCII 文字、アンダースコア、英語以外の言語のほとんどの文字は、Unicode でエンコードされた文字である限り、ガイド文字として機能し、後続の文字は任意のガイド文字、または Unicode で数字と見なされる文字を含むスペース以外の文字にすることができます。エンコーディング。 (そのため、アラビア語、中国語、日本語、ロシア語の文字、または Unicode 文字セットでサポートされている他の言語の文字を使用して名前を付けることができます)

規則:

1. Python の事前定義された識別子名を使用しないため、NotImplemented や Eliipsis などの名前は使用しないでください。これらは将来 Python の新しいバージョンで使用される可能性があります;

2. Python の組み込み関数を使用しないでください。名前または組み込みデータ 型または例外の名前は識別子名として使用されます;

3. アンダースコアの規則に関しては、名前の先頭と末尾でのアンダースコアの使用は避けてください。は、さまざまな特別なメソッドや変数を定義するために、このような名前を多数使用します。場合によっては、1 つまたは 2 つのアンダースコアで始まり 2 つのアンダースコアで終わらない名前を特別に扱う必要があります。


>>> math=2
>>> math2

上記のステートメントは正当ですが、数学データ型にバインドされたオブジェクト参照を int データ型オブジェクトに再バインドします。の場合、数学データ型の属性は通常は使用されません。

>>> int=2
>>> int2

上記と同様、合法ですが推奨されません。

#合法
a123_=2   
_a123=2
我=2        #中文
α=2         #希腊字母
#不合法的标识符名
a-b=2        #因为包含了减法操作符,'-'不是一个Unicode字母、数字、下划线,不能将2赋值给操作符
2miles=2     #不能数字开头
I'm=2        #单引号不是一个Unicode字母、数字或下划线

アンダースコアについてもう 1 つ説明があります:

単一のアンダースコアは識別子として使用できます。対話型インタプリタまたは Python シェル内では、アンダースコアは実際に最後に評価された文字を格納します。式の結果。通常実行中のプログラムでは、他の通常の識別子と同様、アンダースコアの使用はユーザー自身が事前に定義する必要があり、システムが所有するものではありません。

反復のデータ項目を気にしない場合、一部のプログラマは、次のように _ in for...in... を使用することを好みます。

#没有使用到迭代的数据项
for _ in (0,1,2,3,4,5):
    print("Hello")

また、一部のプログラミングには注意してください。国際化されたプログラムのプログラマは、通常、変換関数の名前として _ を使用します。これらのプログラマは通常、gettext("translate me") を使用せず、_("translate me") を使用します。

変数がプライベートである場合、変数を表すために _xxx を使用することをお勧めします。

クラスでは、「単一のアンダースコア」で始まるメンバー変数は保護変数と呼ばれます。これは、クラス オブジェクトとサブクラス オブジェクト自体のみがこれらの変数にアクセスできることを意味します。これらの変数には、クラスにアクセスできず、「 from xxx import *」でインポートすることはできません。「二重アンダースコア」はクラスのプライベート メンバーで始まります。これは、クラス オブジェクト自体のみがこのデータにアクセスでき、サブクラス オブジェクトもこのデータにアクセスできないことを意味します。データ。二重アンダースコアで開始および終了する (__foo__) は、クラスのコンストラクターを表す __init__() など、Python の特別なメソッド固有の識別子を表します。

以上がPython 識別子の命名規則は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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