背景
根据公司业务的需求,需要做一个对于mysql数据库的大批量更新。脚本嘛也是干干单单。使用了redis的队列做缓存,可以异步并发的多任务进行更新。
有点难受的地方在于,请求访问时,因为一些网速,速率之内的原因,导致正常的数据会请求失败。处理的方法呢,就是多请求几次。
不过,麻烦的地方在于,每次重新请求,都要讲原来get,和put的key转换。手动更换起来麻烦的一批。
所以就想做一个自动的转换小demo。
成熟的代码应该学会自己照顾自己。
自动转换的机制是: 每一次请求,判断bool值,依据bool值分别赋值,每次请求之前或者请求完成之后,需要修改Bool值。
这就涉及到今天的重点了,bool值的取反。
b = True
a = bool(1-b)
bool()函数中的1-bool值 就是取bool值的反值了。
实验的代码如下:
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值的取反操作,可以用来做一些有规律行的修改变量操作。例如代码启动的指示变量,代码中关键的值等等。
我们的原则就是,能自动的绝不手动,能一键启动的,绝不会做多余的操作。
补充: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。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
更新日志
- 群星《戏梦》[FLAC/分轨][308.4MB]
- 魔兽世界永久60级什么时间开 永久60级开启时间介绍
- 魔兽世界奥卡兹岛血藻刷新点一览 wlk奥卡兹岛血藻刷新位置介绍
- 英雄联盟s14中国队种子怎么排名 s14中国队种子队伍排名一览
- 柏菲·梁玉嵘《知音梁品》限量开盘母带ORMCD[低速原抓WAV+CUE]
- [东升唱片]孙露《寂寞诱惑AQCD》高码率[FLAC]
- 群星-第8届2012十大发烧唱片精选HQ2CD[WAV+CUE]
- 九号公司两轮电动安全季行动圆满收官:为行业树立安全管理新标杆
- 创新驱动未来 中国移动5G云游戏深化智能运维应用推动行业发展
- 大型手游“帧数拉满” 骁龙8至尊版游戏表现强悍
- 谢金燕.2002-YOYO姊妹【华特】【WAV+CUE】
- 群星.1994-摇滚列车【音乐家】【WAV+CUE】
- 陈艾湄.1996-牵绊【巨翼】【WAV+CUE】
- 群星《无法抗拒的谎言 电视剧原声带》[320K/MP3][69.98MB]
- 群星《无法抗拒的谎言 电视剧原声带》[FLAC/分轨][372.04MB]