python3中的比較函式

2022-04-11 09:38:06 字數 1229 閱讀 3648

在py2中,比較函式是cmp,而在py3,cmp已經不存在了,py3啟用了新的比較方法

原來在py2中,a>b就會呼叫a物件中的__cmp__函式,而現在a>b會呼叫a物件中的__lt__函式。

import

oprater

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

'''

class

aa:

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 物件 轉化為有效的表示式參與求值運算返回計算結果 語...