Python 海象运算符 ( =) 的三种用法_python =

我发现了我将要继续采用海象运算符的三个方面,且每个方面除了能省一行代码之外都还能带来其他好处。

While 循环

虽然循环似乎是最常见的使用海象运算符的情况。 在此处使用海象运算符的好处是可以在while语句中合并表达式和修饰符。 我已经写过无数次无限循环了,因为我总是忘记在循环末尾写修改语句。

line = f.readLine()
while line:
   print(line)
   line = f.readLine()

# 转换为海象运算符时
while line := f.readLine():
   print(line)

不过要注意, 使用海象运算符更适合用于传统的do/while 循环,因为赋值在循环表达式之前。 请参见下面的差异:

n = 0
while n < 3:
   print(n) # 0,1,2
   n += 1
   
# 当转换为海象运算符时

w = 0
while (w := w + 1) < 3:
   print(w) # 1,2

根据我有限的经验,我发现它在替换无限while循环中最有用:

while True:
   p = input("Enter the password: ")
   if p == "the password":
      break 

# 当转换为海象运算符时

while (p := input("Enter the password: ")) != "the password":
   continue

能够将while循环转换为一个语句实在太棒啦。

列表理解

我发现海象运算符对优化某些列表理解语句很有帮助。 有两个标准1)需要过滤数据,2)存储taxing function的结果。让我们看一下传统的列表理解语句:

scores = [22,54,75,89]
valid_scores = [
   longFunction(n)
   for n in scores
   if longFunction(n)
]

注意条件语句longFunction(n)了吗? 注意longFunction()被调用了两次吗? 这是海象运算符的候选。

scores = [22,54,75,89]
valid_scores = [
   result for n in scores
   result := longFunction(n)
]

在优化了的代码中,longFunction()仅被调用一次,隐含的降低了调用次数。

处理返回的数据

接下来是我认为海象运算符的最有用的实现。 我经常使用称为iFormBuilder的移动数据收集软件。 具体来说,请求记录(数据行)后,查询返回数据时,需要对其进行处理。 这是我每天编写的代码块:

最后

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值