在py2中,比較函式是cmp,而在py3,cmp已經不存在了,py3啟用了新的比較方法
原來在py2中,a>b就會呼叫a物件中的__cmp__函式,而現在a>b會呼叫a物件中的__lt__函式。
importoprater
a=1b=2operator.lt(a, b)
operator.le(a, b)
operator.eq(a, b)
operator.ne(a, b)
operator.ge(a, b)
operator.gt(a, b)
operator.
__lt__
(a, b)
operator.
__le__
(a, b)
operator.
__eq__
(a, b)
operator.
__ne__
(a, b)
operator.
__ge__
(a, b)
operator.
__gt__
(a, b)
'''簡單說下這幾個函式的意思吧。
lt(a, b) 相當於 a < b
le(a,b) 相當於 a <= b
eq(a,b) 相當於 a == b
ne(a,b) 相當於 a != b
gt(a,b) 相當於 a > b
ge(a, b)相當於 a>= b
'''
classaa:
def__init__
(self,k):
self.k=k
def__gt__
(self,b):
print ('gt'
,self.k)
return self.k>b.k
def__lt__
(self,b):
print ('lt'
,self.k)
return self.kaz=aa(1)
vc=aa(2)
if az>vc:
print ('gt'
)print ('
~~~~~~')
if azprint ('lt'
)'''
gt 1
~~~~~
lt 1
lt
python3 自定義比較函式
python 2 中支援類似 c 中 cmp 的寫法 python 3 放棄了這一用法 官方說明 所以不想寫lambda的話,加一句cmp to key 就行了 def 比較函式 return 原來的方式是 sorted cmp 比較函式 現在的方式是 from functools import c...
python3中的format函式
原文出處 format函式常與print 函式結合使用,具備很強的格式化輸出能力。通過變數,逗號隔開 print 今天 format 我 攔路雨 action 在寫部落格 通過關鍵字使用字典傳入,在字典前加入 grade print 比較無聊,在 format grade 字典前加上 通過位置 pr...
python3 中的 eval 函式
from python eval的妙用和濫用 python eval python eval 函式妙用 python 中 eval 帶來的潛在風險 python之 eval 函式危險性 eval 函式十分強大,官方文件解釋是 將字串 string 物件 轉化為有效的表示式參與求值運算返回計算結果 語...