在python中對(duì)于bool布爾值的取反操作
背景
根據(jù)公司業(yè)務(wù)的需求,需要做一個(gè)對(duì)于mysql數(shù)據(jù)庫(kù)的大批量更新。腳本嘛也是干干單單。使用了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 bdef up(b): if b is True: unique1 = 'map_url' unique2 = 'map2_url' else: unique1 = 'map2_url' unique2 = 'map_url' return unique1, unique2b = Truenum = 5for 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è)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. Python編寫nmap掃描工具2. PHP設(shè)計(jì)模式(四)原型模式Prototype實(shí)例詳解【創(chuàng)建型】3. python 爬取嗶哩嗶哩up主信息和投稿視頻4. PHP擴(kuò)展之APC——Alternative PHP Cache(可選PHP緩存)5. ASP.NET MVC前臺(tái)動(dòng)態(tài)添加文本框并在后臺(tái)使用FormCollection接收值6. 如何基于python3和Vue實(shí)現(xiàn)AES數(shù)據(jù)加密7. 10個(gè)提供免費(fèi)PHP腳本下載的網(wǎng)站8. Java向Runnable線程傳遞參數(shù)方法實(shí)例解析9. Java 基于UDP協(xié)議實(shí)現(xiàn)消息發(fā)送10. php5.6不能擴(kuò)展redis.so的解決方法
