我想創建一個函數,只有當十六進制值表示大寫或小寫字母,即十六進制代碼介於20和7A之間時,才執行某個任務。有沒有一種方法可以在Python中進行邏輯上等同的聲明:使用比較運算符的十六進制值
if a >= 20 and a <= 7A: perform stuff
?我只是在它前面拋出一個0x併發生魔法?
我想創建一個函數,只有當十六進制值表示大寫或小寫字母,即十六進制代碼介於20和7A之間時,才執行某個任務。有沒有一種方法可以在Python中進行邏輯上等同的聲明:使用比較運算符的十六進制值
if a >= 20 and a <= 7A: perform stuff
?我只是在它前面拋出一個0x併發生魔法?
是...你只是拋出一個0X併成爲數字....
或int("7A",16) == 0x7A
0x20 <= a <= 0x7A
你也可以比較連鎖經營這樣的(這大致解釋爲「是VAL1之間的和val2「)
+1! –
,甚至更好,你可以做'ord('A')<= a <= ord('z')'而不必記住ASCII值(這不僅僅是一個微不足道的勝利,因爲OP得到了'A'的ASCII值錯誤)。 – abarnert
是」a「整數還是像」「0x2A」'這樣的字符串? –
你不想要'a> = 0x41'嗎? - 'chr(0x41)'==''A'' – mgilson
事實上,即使你做了'a> = 0x41和a <= 0x7a'(或者更可讀的'ord('A')<= a <='ord('Z')',它仍然是錯誤的,因爲在該範圍內有6個非字母字符。爲什麼不用鏈接比較的'chr(a).isalpha()'? – abarnert