在python中對(duì)于bool布爾值的取反操作
背景
根據(jù)公司業(yè)務(wù)的需求,需要做一個(gè)對(duì)于mysql數(shù)據(jù)庫(kù)的大批量更新。腳本嘛也是干干單單。使用了redis的隊(duì)列做緩存,可以異步并發(fā)的多任務(wù)進(jìn)行更新。
有點(diǎn)難受的地方在于,請(qǐng)求訪問(wèn)時(shí),因?yàn)橐恍┚W(wǎng)速,速率之內(nèi)的原因,導(dǎo)致正常的數(shù)據(jù)會(huì)請(qǐng)求失敗。處理的方法呢,就是多請(qǐng)求幾次。
不過(guò),麻煩的地方在于,每次重新請(qǐng)求,都要講原來(lái)get,和put的key轉(zhuǎn)換。手動(dòng)更換起來(lái)麻煩的一批。
所以就想做一個(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值的取反操作,可以用來(lái)做一些有規(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è)特殊值,表示什么都沒(méi)有,它和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)文章
使用PySpider進(jìn)行IP代理爬蟲的技巧與實(shí)踐分享
PySpider是一個(gè)基于Python的強(qiáng)大的開源網(wǎng)絡(luò)爬蟲框架,它使用簡(jiǎn)單、靈活,并且具有良好的擴(kuò)展性,本文將介紹如何使用PySpider進(jìn)行IP代理爬蟲,并提供一些技巧和實(shí)踐經(jīng)驗(yàn),文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2024-03-03
python安裝并使用virtualenv管理包的詳細(xì)過(guò)程
本文主要介紹了Python的安裝過(guò)程和如何使用virtualenv管理包,首先,用戶需要訪問(wèn)Python官網(wǎng)下載安裝包,并運(yùn)行安裝程序,安裝完成后,在命令行輸入Python,顯示安裝的Python版本號(hào),即表示安裝成功,感興趣的朋友一起看看吧2024-10-10
Django nginx配置實(shí)現(xiàn)過(guò)程詳解
這篇文章主要介紹了Django nginx配置實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
Python實(shí)現(xiàn)把多維數(shù)組展開成DataFrame
今天小編就為大家分享一篇Python實(shí)現(xiàn)把多維數(shù)組展開成DataFrame,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
python保留若干位小數(shù)?format與round的使用區(qū)別
這篇文章主要介紹了python保留若干位小數(shù)?format與round的使用區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
python命名空間(namespace)簡(jiǎn)單介紹
這篇文章主要介紹了python命名空間(namespace)簡(jiǎn)單介紹,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
通過(guò)案例解析python鴨子類型相關(guān)原理
這篇文章主要介紹了通過(guò)案例解析python鴨子類型相關(guān)原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10

