この記事では、主に Python の組み込み 定数 に関する関連情報を紹介します。記事内の紹介は非常に詳細であり、必要な友人が一緒に読むことができます。
前書き
Python には多くの組み込み定数はなく、True、False、None、NotImplemented、Ellipsis、debug の 6 つしかないことは誰もが知っています。詳細な紹介を見てみましょう:
1. True
1. True は、真の値を表すために使用される bool 型の定数です。
>>> True True >>> type(True) <class 'bool'>
2. 定数 True への代入演算は構文エラーをスローします。
>>> True = 1 SyntaxError: can't assign to keyword
2. False
1. False は、偽の値を表すために使用される bool 型の定数です。
>>> False False >>> type(False) <class 'bool'>
2. 定数 False に代入すると構文エラーがスローされます。
>>> False = 0 SyntaxError: can't assign to keyword
3. None
1. None はなしを意味し、NoneType の唯一の値です。
>>> None #表示无,没有内容输出 >>> type(None) <class 'NoneType'>
2. 定数 None に代入すると構文エラーがスローされます。
>>> None = 2 SyntaxError: can't assign to keyword
3. functionの場合、returnステートメントがない場合、Noneを返すのと同じです。
>>> def sayHello(): #定义函数 print('Hello') >>> sayHello() Hello >>> result = sayHello() Hello >>> result >>> type(result) <class 'NoneType'>
4. NotImplemented
>>> NotImplemented NotImplemented >>> type(NotImplemented) <class 'NotImplementedType'>2. bool() 関数を使用してテストすると、NotImplemented が true 値であることがわかります。
>>> bool(NotImplemented) True3. NotImplemented は、構文エラーをスローせずに代入できるため、絶対的な意味では定数ではありません。そうしないと、プログラムの実行結果に影響します。
>>> bool(NotImplemented) True >>> NotImplemented = False >>> >>> bool(NotImplemented) False4. NotImplemented は、一部のバイナリ特殊メソッド (eq、lt など) の戻り値として主に使用され、メソッドが実装されていないことを示します。Python は、次の試行時に 2 つのパラメーターをスマートに交換します。結果は NotImplemented を返します。
>>> class A(object): def init(self,name,value): self.name = name self.value = value def eq(self,other): print('self:',self.name,self.value) print('other:',other.name,other.value) return self.value == other.value #判断2个对象的value值是否相等 >>> a1 = A('Tom',1) >>> a2 = A('Jay',1) >>> a1 == a2 self: Tom 1 other: Jay 1 True
>>> class A(object): def init(self,name,value): self.name = name self.value = value def eq(self,other): print('self:',self.name,self.value) print('other:',other.name,other.value) return NotImplemented >>> a1 = A('Tom',1) >>> a2 = A('Jay',1) >>> a1 == a2 self: Tom 1 other: Jay 1 self: Jay 1 other: Tom 1 Falsea1==a2 を実行して (つまり、eq(a1,a2) を呼び出して) NotImplemented を返すと、Python は自動的にパラメーターを交換し、再度 eq(a2,a1) を呼び出します。
5. Ellipsis は、... と同等の省略記号型の定数です。 >>> Ellipsis
Ellipsis
>>> type(Ellipsis)
<class 'ellipsis'>
>>> ...
Ellipsis
>>> ... == Ellipsis
True
2. bool() 関数を使用してテストすると、省略記号が true 値であることがわかります。
>>> bool(Ellipsis) True
>>> bool(Ellipsis) True >>> Ellipsis = False >>> bool(Ellipsis) False
4. 省略記号は主に
loopのデータ構造を表すために使用されます。
>>> a = [1,2,3,4] >>> a.append(a) >>> a [1, 2, 3, 4, [...]] >>> a [1, 2, 3, 4, [...]] >>> len(a) >>> a[4] [1, 2, 3, 4, [...]] >>>
1. debug は bool 型定数です。 >>> debug
True
>>> type(debug)
<class 'bool'>
2. 定数デバッグへの代入操作は構文エラーをスローします。
>>> debug = False SyntaxError: assignment to keyword
概要
以上がPython の組み込み定数についての深い理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。