背景

根据公司业务的需求,需要做一个对于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)

在python中对于bool布尔值的取反操作

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

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布尔值,取反

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“在python中对于bool布尔值的取反操作”
暂无“在python中对于bool布尔值的取反操作”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。