Python3.8新特性-- 海象操作符
“理论联系实惠,密切联系领导,表扬和自我表扬”——我就是老司机,曾经写文章教各位怎么打拼职场的老司机。
不记得没关系,只需要知道:有这么一位老司机,
穿上西装带大家打拼职场!
操起键盘带大家打磨技术!
2019年10月中旬,Python 3.8发布了。
英语好的Python爱好者,可以看看官宣:
https://docs.python.org/3.8/whatsnew/3.8.html
今天老司机给大家介绍一个Python3.8中,比较有争议的新运算符,海象运算符(Walrus)。
海象运算符,其实只是冒号和等号在一起,就像这样:“:=”。是不是像海象的一双眼睛和一对獠牙?
这个新运算符(:=)使我们能够将值赋给表达式中的变量。
简单粗暴地讲,将计算结果赋值给某个变量,再判断这个变量。
我们来举个栗子:
本来应该是下面这样一段简单程序。
list1 = [1,2,3,4,5]
b = len(list1)
if b > 3:
print(“larger than 3”)
使用了海象运算符,两行并一行,就变成了这样了:
list1 = [1,2,3,4,5]
if b := len(list1) > 3:
print(“larger than 3”)
## 运行结果:
larger than 3
必须是Python 3.8上才能运行通过的。
再看个例子:
list1 = [1,2,3,4,5]
if c := ( 3 in list1) :
print(“found”)
else:
print(“not found”)
## 运行结果:
found
必须是Python 3.8上才能运行通过的。
有兴趣的可以看看PEP 572,链接:
https://www.python.org/dev/peps/pep-0572/
写得比较高大上 ^_^
一定记住:
海象运算符不向前兼容!
海象运算符不向前兼容!!
海象运算符不向前兼容!!!
也就是说,如果没升级到Python 3.8的小伙伴,还是不要尝试“:=”了。
使用PyCharm的用户,即使已经升级了Python到3.8,而且更新了PyCharm里面的解释器配置,还是会遇到如下语法报错问题:
看看解释器的显示:
直接执行程序是不报错的,或者在Python IDLE里面也是正常的。
但是毕竟红色波浪线看起来很不舒服。
老司机告诉各位一个简单粗暴的办法——升级PyCharm到最新版本。
一切解决!
Python 3.8尝鲜版,体验Walrus运算符,到此结束。
至于是否升级到Python 3.8,老司机建议:
Python不是时尚衣物和饰品,如果用的Python 3.*还好好的,没必要追新。
PS:怎么搞定PyCharm专业版注册,百度一下你就知道了。
作 者:Testfan Arthur
出 处:微信公众号:自动化软件测试平台
版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接
Python3.8新特性-- 海象操作符的更多相关文章
- 字符串格式的方法%s、format和python3.6新特性f-string和类型注解
一.%s msg = '我叫%s,今年%s,性别%s' %('帅哥',18,'男') print(msg) # 我叫帅哥,今年18,性别男 二.format # 三种方式: # 第一种:按顺序接收参数 ...
- python3.8 新特性
https://docs.python.org/3.8/whatsnew/3.8.html python 3.8的新功能本文解释了与3.7相比,python 3.8中的新特性. 有关完整的详细信息,请 ...
- ES2020新特性链操作符 '?.'和'??'
ES2020新特性,js中的可选链操作符?. 概述 回想一下,我们是如何访问可能含有空值(null或undefined)属性的嵌套对象,比如访问web api 返回结果的user详情,可以使用嵌套的三 ...
- Python3.8新特性--PositionalOnly参数
“理论联系实惠,密切联系领导,表扬和自我表扬”——我就是老司机,曾经写文章教各位怎么打拼职场的老司机. 不记得没关系,只需要知道:有这么一位老司机, 穿上西装带大家打拼职场! 操起键盘带大家打磨技术! ...
- python3.8新特性
海象运算符(赋值运算符) #原来 def choice(): s = ' jsadlk '.strip() res = isinstance(s, int) if res: return 'int' ...
- 你不得不了解的Python3.x新特性
从 3.0 到 3.8,Python 3 已经更新了一波又一波,但似乎我们用起来和 2.7 没有太大区别?以前该怎么写 2.7 的代码现在就怎么写,只不过少数表达方式变了而已.在这篇文章中,作者介绍了 ...
- python3.6 新特性学习
#支持类型提示 typing { def greeting(name: str) -> str: return 'Hello ' + name #在函数greeting中,参数名称的类型为str ...
- Python3.X新特性之print和exec
print print 现在是一个函数,不再是一个语句.<语法更为清晰> 实例1 打开文件 log.txt 以便进行写入并将对象指定给 fid.然后利用 print将一个字符串重定向给文件 ...
- python3.6新特性
print(f'{6:^30}') print('\n'.join([' '.join([f'{i}*{j}={i*j:2d}' for j in range(1,i+1)]) for i in ra ...
随机推荐
- 【POJ - 3262】Protecting the Flowers(贪心)
Protecting the Flowers 直接中文 Descriptions FJ去砍树,然后和平时一样留了 N (2 ≤ N ≤ 100,000)头牛吃草.当他回来的时候,他发现奶牛们正在津津有 ...
- Zookeeper白话解释
官方的解释:Zookeeper提供了诸如统一命名空间服务,配置服务和分布式锁等分布式基础服务. 嗯,说上面这个话的人,良心不会痛吗? Zookeeper功能如上边说到的:统一命名空间服务 其他就tm跟 ...
- IDEA 2019.2.2破解激活方法(激活到2089年8月,亲测有效)
本来笔者这边是有个正版激活码可以使用的,但是,2019.9月3号的时候,一些小伙伴反映这个注册码已经失效了,于是拿着自己的 IDEA, 赶快测试了一下,果不其然,已然是不能用了. 好在,笔者又找到了新 ...
- centos7清楚journal日志
1.只保留1天的日志 journalctl --vacuum-time=1d 参考:https://blog.csdn.net/ithomer/article/details/90634579
- python3.7环境下创建app、运行Django1.11版本项目报错Generator expression must be parenthesized
有些同学喜欢追求新鲜感~但追求新鲜感终归是要付出一点点代价的 在编程领域有一句至理名言:用东西不要用最新的! 就像每次苹果系统的升级都会有相当一部分用户的手机成砖一样 下面我们就介绍一个因版本升级带来 ...
- cm api
cm API:https://github.com/cloudera/cm_api/tree/master/python/examples/auto-deploy#看集群有几个clustercurl ...
- 【Python】【demo实验16】【练习实例】【打印所有水仙花数】
题目: 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153= ...
- Resistors in Parallel(找规律+大数)
题意:https://codeforces.com/group/ikIh7rsWAl/contest/254825/problem/E 给你一个n,计算n / Sigma(1~n)的d(是n的只出现一 ...
- 初遇PHP(一)
因为想给自己弄一个微信公众号,顺便提升一下自己,所以有了以下内容,本次学习的最终目标是能用php制作套微信公众号,然后转成Java.为什么要这么麻烦呢,其一是买的资料书是php的,其二是顺水推舟刚好可 ...
- python中全局global和局部nonlocal命名空间
python中全局global和局部nonlocal命名空间 局部名称空间对全局名称空间的变量可以引用,但是无法改变. count = 1 def func1(): count = 2 print(c ...