python 內建常量

2022-09-18 06:00:09 字數 3920 閱讀 8139

python的內建常量不多,只有6個,分別是true、false、none、notimplemented、ellipsis、__debug__

一.true

1.true是bool型別用來表示的真值常量

>>>true

true

>>>type(true)

'bool

'>

2.對常量true進行任何賦值操作都會丟擲語法錯誤

>>> true = 1file 

"", line 1syntaxerror: can

't assign to keyword

二.false

1.false是bool型別表示假值的常量

>>>false

false

>>>type(false)

'bool

'>

2.對常量false進行任何賦值操作都會丟擲語法錯誤

>>> false =0

file

"", 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

>>> def

sayhello(): #定義函式

...

print('

hello world')

...

>>>

>>>sayhello()

hello world

>>> ret =sayhello()

hello world

>>> print

(ret)

none

>>>

四.notimplemented

1.notimplemented是notimplementedtype型別的常量

>>>notimplemented

notimplemented

>>>type(notimplemented)

'notimplementedtype

'>

2.使用bool()函式進行測試可以發現,notimplemented是乙個真值

>>>bool(notimplemented)

true

3.notimplemented並不是乙個絕對意義上的常量,因為他可以被賦值而不丟擲語法錯誤,我們也不應該對其進行賦值,否則會影響程式的執行效果

>>>bool(notimplemented)

true

>>> notimplemented = false

4.notimplemented多用於對一些二元特殊方法(比如:__eq__,__it__等)中作為返回值,表明沒有實現方法,而python在結果返回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 #

判斷兩個物件的value值是否相等

a1 = a('

tome

',1)

a2 = a('

jim',1)

print(a1 ==a2)#輸出

#self: tome 1

#other: jim 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('

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型別的常量,它和...是等價的

>>>ellipsis

ellipsis

>>>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__ =false

file

"", 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 等 應返回的特殊值,用於表示運算沒有針對其他...