在python中對(duì)于bool布爾值的取反操作
背景
根據(jù)公司業(yè)務(wù)的需求,需要做一個(gè)對(duì)于mysql數(shù)據(jù)庫的大批量更新。腳本嘛也是干干單單。使用了redis的隊(duì)列做緩存,可以異步并發(fā)的多任務(wù)進(jìn)行更新。
有點(diǎn)難受的地方在于,請(qǐng)求訪問時(shí),因?yàn)橐恍┚W(wǎng)速,速率之內(nèi)的原因,導(dǎo)致正常的數(shù)據(jù)會(huì)請(qǐng)求失敗。處理的方法呢,就是多請(qǐng)求幾次。
不過,麻煩的地方在于,每次重新請(qǐng)求,都要講原來get,和put的key轉(zhuǎn)換。手動(dòng)更換起來麻煩的一批。
所以就想做一個(gè)自動(dòng)的轉(zhuǎn)換小demo。
成熟的代碼應(yīng)該學(xué)會(huì)自己照顧自己。
自動(dòng)轉(zhuǎn)換的機(jī)制是: 每一次請(qǐng)求,判斷bool值,依據(jù)bool值分別賦值,每次請(qǐng)求之前或者請(qǐng)求完成之后,需要修改Bool值。
這就涉及到今天的重點(diǎn)了,bool值的取反。
b = True
a = bool(1-b)
bool()函數(shù)中的1-bool值 就是取bool值的反值了。
實(shí)驗(yàn)的代碼如下:
def 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值的取反操作,可以用來做一些有規(guī)律行的修改變量操作。例如代碼啟動(dòng)的指示變量,代碼中關(guān)鍵的值等等。
我們的原則就是,能自動(dòng)的絕不手動(dòng),能一鍵啟動(dòng)的,絕不會(huì)做多余的操作。
補(bǔ)充:Python中bool類型轉(zhuǎn)換
在python中,以下數(shù)值會(huì)被認(rèn)為是False:
1、為0的數(shù)字,包括0,0.0
2、空字符串,包括”,”“
3、表示空值的None
4、空集合,包括(),[],{}
其他的值都認(rèn)為是True。
None是python中的一個(gè)特殊值,表示什么都沒有,它和0、空字符、False、空集合都不一樣。
bool(‘False')的結(jié)果是True,因?yàn)椤瓼alse'是一個(gè)不為空的字符串,當(dāng)被轉(zhuǎn)換成bool類型之后,就得到True。
bool(' ‘)的結(jié)果是True,一個(gè)空格也不能算作空字符串。
bool(”)才是False。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Python?實(shí)現(xiàn)一個(gè)全連接的神經(jīng)網(wǎng)絡(luò)
這篇文章主要介紹了Python?實(shí)現(xiàn)一個(gè)全連接的神經(jīng)網(wǎng)絡(luò),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-06-06pytorch中nn.Flatten()函數(shù)詳解及示例
nn.Flatten是一個(gè)類,而torch.flatten()則是一個(gè)函數(shù),下面這篇文章主要給大家介紹了關(guān)于pytorch中nn.Flatten()函數(shù)詳解及示例的相關(guān)資料,需要的朋友可以參考下2023-01-01Python實(shí)現(xiàn)SMTP郵件發(fā)送
這篇文章主要介紹了基于python實(shí)現(xiàn)SMTP發(fā)送郵件教程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06Python實(shí)現(xiàn)查找數(shù)據(jù)庫最接近的數(shù)據(jù)
這篇文章主要介紹了Python實(shí)現(xiàn)查找數(shù)據(jù)庫最接近的數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06淺談pandas用groupby后對(duì)層級(jí)索引levels的處理方法
今天小編就為大家分享一篇淺談pandas用groupby后對(duì)層級(jí)索引levels的處理方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-11-11