python的內建常量不多,只有6個,分別是true、false、none、notimplemented、ellipsis、__debug__
一.true
1.true是bool型別用來表示的真值常量
>>>truetrue
>>>type(true)
'bool
'>
2.對常量true進行任何賦值操作都會丟擲語法錯誤
>>> true = 1file"", line 1syntaxerror: can
't assign to keyword
二.false
1.false是bool型別表示假值的常量
>>>falsefalse
>>>type(false)
'bool
'>
2.對常量false進行任何賦值操作都會丟擲語法錯誤
>>> false =0file
"", line 1syntaxerror: can
't assign to keyword
三.none
1.none表示無,他是nonetype的唯一值
>>>none>>>type(none)
'nonetype
'>
2.對常量none進行任何賦值操作都會丟擲語法錯誤
>>> none = 1file"", line 1syntaxerror: can
't assign to keyword
3.對於函式,如果沒有return語句,即相當於返回none
>>> defsayhello(): #定義函式
...
print('
hello world')
...
>>>
>>>sayhello()
hello world
>>> ret =sayhello()
hello world
(ret)
none
>>>
四.notimplemented
1.notimplemented是notimplementedtype型別的常量
>>>notimplementednotimplemented
>>>type(notimplemented)
'notimplementedtype
'>
2.使用bool()函式進行測試可以發現,notimplemented是乙個真值
>>>bool(notimplemented)true
3.notimplemented並不是乙個絕對意義上的常量,因為他可以被賦值而不丟擲語法錯誤,我們也不應該對其進行賦值,否則會影響程式的執行效果
>>>bool(notimplemented)true
>>> notimplemented = false
4.notimplemented多用於對一些二元特殊方法(比如:__eq__,__it__等)中作為返回值,表明沒有實現方法,而python在結果返回notimplemented時會聰明的互動兩個引數進行另外的嘗試
classa(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 #
判斷兩個物件的value值是否相等
a1 = a('
tome
',1)
a2 = a('
jim',1)
print(a1 ==a2)#輸出
#self: tome 1
#other: jim 1
#true
classa(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('
tome
',1)
a2 = a('
jim',1)
print(a1 ==a2)#輸出
#self: tome 1
#other: jim 1
#self: jim 1
#other: tome 1
#false
當執行a1 == a2時(即呼叫__eq__(a1,a2)),返回notimplemented時,python會自動交換引數再次呼叫__eq__(a2,a1)
五.ellipsis
1.ellipsis是ellipsistype型別的常量,它和...是等價的
>>>ellipsisellipsis
>>>type(ellipsis)
'ellipsis
'>
>>>...
ellipsis
>>> ... ==ellipsis
true
2.使用bool()函式進行測試可以發現,ellipsis是乙個真值
>>>bool(ellipsis)true
3. ellipsis不是乙個絕對意義上的常量,因為他可以被賦值卻不會丟擲語法錯誤,我們也不應該去對其賦值,否則會影響程式的執行結果。
>>>bool(ellipsis)true
>>> ellipsis =false
>>>bool(ellipsis)
false
4.ellipsis多用於表示迴圈的資料結構
>>> a = [1,2,3,4]>>>a
[1, 2, 3, 4, [...]]
>>>len(a)
5>>> a[4]
[1, 2, 3, 4, [...]]
>>> a[4][4]
[1, 2, 3, 4, [...]]
六.__debug__
1.__debug__是乙個bool型別的常量
>>> __debug__true
>>> type(__debug__
)'bool
'>
2.對常量__debug__進行任何賦值操作,都會丟擲語法錯誤
>>> __debug__ =falsefile
"", line 1syntaxerror: assignment to keyword
3.如果python沒有使用-o選項啟動,此常量是真值,否則是假值。
Python 內建常量
1.true 2.false 3.none 4.notimplemented 被二元特殊方法返回 比如eq lt add rsub 等 表明某個型別沒有像其他型別那樣實現這些操作 1 能被重新賦值,甚至改變屬性名稱,並且不會產生 syntaxerror,所以它不是乙個真正的 真 常數。當然,我們應該...
python合法常量 python內建常量是什麼?
摘要 學習python的過程中,我們會從變數常量開始學習,那麼python內建的常量你知道嗎?乙個新產品,想熟悉它,最好的辦法就是檢視說明書!沒錯,python也給我們準備了這樣的說明書 python官方文件。想知道python內建常量其實很簡單,在官方文件就可找到。這裡我們來依次熟悉一下,看看這些...
Python標準庫學習 2 內建常量
內建常量 有少數的常量存在於內建命名空間中。它們是 1 false bool 型別的假值。2 true bool 型別的假值。3 none nonetype 型別的唯一值。4 notimplemented 雙目運算特殊方法 如eq lt add rsub 等 應返回的特殊值,用於表示運算沒有針對其他...