在python中對於bool布林值的取反操作

2021-10-11 21:26:04 字數 1461 閱讀 6776

背景

根據公司業務的需求,需要做乙個對於mysql資料庫的大批量更新。指令碼嘛也是幹幹單單。使用了redis的佇列做快取,可以非同步併發的多工進行更新。

有點難受的地方在於,請求訪問時,因為一些網速,速率之內的原因,導致正常的資料會請求失敗。處理的方法呢,就是多請求幾次。

不過,麻煩的地方在於,每次重新請求,都要講原來get,和put的key轉換。手動更換起來麻煩的一批。

所以就想做乙個自動的轉換小demo。

成熟的**應該學會自己照顧自己。

自動轉換的機制是: 每一次請求,判斷bool值,依據bool值分別賦值,每次請求之前或者請求完成之後,需要修改bool值。

這就涉及到今天的重點了,bool值的取反。

b = true

a = bool(1-b)

bool()函式中的1-bool值 就是取bool值的反值了。

實驗的**如下:12

3456

78910

1112

1314

1516

1718

1920

21def negation_bool(b):

b = bool(1 - b)

return b

def up(b):

if b is true:

unique1 = "map_url"

unique2 = "map2_url"

else:

unique1 = "map2_url"

unique2 = "map_url"

return unique1, unique2

b = true

num = 5

for i in range(num * 2):

b = negation_bool(b)

unique1, unique2 = up(b)

print(unique1, unique2)

print("+" * 50)

可以看到每次的值都是相反的。

bool值的取反操作,可以用來做一些有規律行的修改變數操作。例如**啟動的指示變數,**中關鍵的值等等。

我們的原則就是,能自動的絕不手動,能一鍵啟動的,絕不會做多餘的操作。

補充:python中bool型別轉換

在python中,以下數值會被認為是false:

1、為0的數字,包括0,0.0

2、空字串,包括」,」「

3、表示空值的none

4、空集合,包括(),,{}

其他的值都認為是true。

none是python中的乙個特殊值,表示什麼都沒有,它和0、空字元、false、空集合都不一樣。

bool(『false')的結果是true,因為『false'是乙個不為空的字串,當被轉換成bool型別之後,就得到true。

bool(' 『)的結果是true,乙個空格也不能算作空字串。

bool(」)才是false。

在python中bool函式的取值方法

bool是boolean的縮寫,只有真 true 和假 false 兩種取值 bool函式只有乙個引數,並根據這個引數的值返回真或者假。1.當對數字使用bool函式時,0返回假 false 任何其他值都返回真。bool 0 false bool 1 true bool 1 true bool 213...

在python中bool函式的取值方法

bool是boolean的縮寫,只有真 true 和假 false 兩種取值 bool函式只有乙個引數,並根據這個引數的值返回真或者假。1.當對數字使用bool函式時,0返回假 false 任何其他值都返回真。1 2345 678 bool 0 false bool 1 true bool 1 tr...

在python中bool函式的取值方法

bool是boolean的縮寫,只有真 true 和假 false 兩種取值 bool函式只有乙個引數,並根據這個引數的值返回真或者假。1.當對數字使用bool函式時,0返回假 false 任何其他值都返回真。bool 0 false bool 1 true bool 1 true程式設計客棧 bo...