海象运算符定义:
一个变量名跟一个表达式或者一个值,这个是一种新的 赋值运算符。
下面看看它的三种用法:

一、用于if else 条件表达式

基础写法:

x=5
if x<10:print("hello fancy!")

海象运算符写法:

if (x:=5) < 10:print("hello fancy!")

运行结果:

二、用于while循环

基础写法:

num=3
while num:print(f"{num}")num-=1

运行结果:

海象运算符写法:

num=3
while (num:=num-1)+1:print(f"{num}")

运行结果:

三、用于推导式

基础写法:

num1=[1,2,3,4,5]
count=1
def f(x):global countprint(f"f(x)函数运行了{count}次") count+=1return x**2
num2 = [f(x) for x in num1 if f(x) > 10 ]
print(num2)

运行结果:

海象运算符写法:

num1=[1,2,3,4,5]
count=1
def f(x):global countprint(f"f(x)函数运行了{count}次")count+=1return x**2
num2 = [n for x in num1 if ( n:= f(x) ) > 10 ]
print(num2)

运行结果:

可以看到,使用海象运算符可以节省函数调用,起到提升性能的作用。

这里 f"f(x)函数运行了{count}次" 是格式转换,如果不加 f 就会出现这样的情况:

Python 海象运算符 详细介绍相关推荐

  1. python中easygui有几种_一、Python 模块EasyGui详细介绍

    Python 模块EasyGui详细介绍 EasyGui 官网: -http://easygui.sourceforge.net 官方的教学文档: -easygui-docs-0.96\tutoria ...

  2. c语言中左移右移有什么作用,C语言中左移和右移运算符详细介绍

    搜索热词 C语言中左移和右移运算符详细介绍 左移运算符(< 左移运算符是用来将一个数的各二进制位左移若干位,移动的位数由右操作数指定(右操作数必须是非负值),其右边空出的位用0填补,高位左移溢出 ...

  3. python中类的详细介绍及使用

    python中类的详细介绍及使用 前面我们介绍了类的创建及面向对象的三大特性.本篇将详细介绍Python 类的成员.成员修饰符.类的特殊成员. 一.类的成员 类的成员包括:属性和方法. 属性可以分为: ...

  4. Python 海象运算符,威力无穷!

    文 | 闲欢 来源:Python 技术「ID: pythonall」 大家好,我是闲欢,你们的老相识呀! 海象可谓是最大的哺乳动物了,有人称它是北半球的"土著"居民.它圆头,短而阔 ...

  5. python海象运算符

    简介 Python 海象运算符是在 PEP 572 中提出,并在 Python3.8 版本并入发布. 海象运算符的英文原名叫 Assignment Expresions ,即 赋值表达式.海象表达式由 ...

  6. Python海象运算符的使用

    1.在判断条件下允许操作.在一定程度上简化了代码,但降低了可读性. i = len((l := [1, 2, 3])) # 先对l进行赋值,在对i赋值 while (i := i - 1) >= ...

  7. python海象运算符_浅析PEP572: 海象运算符

    现在已经是Python 3.8的最后一个alpha版本,接着就是本月底要发布的的3.8.0 beta 1了.按规定,3.8已经不会再添加(修改)功能了,之前非常有争议的PEP 572的实现已经算是很固 ...

  8. python 海象运算符,Python3.8新特性-- 海象操作符

    "理论联系实惠,密切联系领导,表扬和自我表扬"--我就是老司机,曾经写文章教各位怎么打拼职场的老司机. 不记得没关系,只需要知道:有这么一位老司机, 穿上西装带大家打拼职场! 操起 ...

  9. Python :=海象运算符最简单的解释

    背景:python 3.8正式版最近更新了,其中PEP572中的海象运算符获得正式python版本的支持.我看了官网的文档还有其它大神写的这个东西,我感觉在将来的python语句中是非常实用的一个东西 ...

最新文章

  1. Javascript学习7 - 脚本化浏览器窗口
  2. 高频面试题:秒杀场景设计
  3. 线性规划的原始对偶算法
  4. Java中是否可以继承String类,为什么
  5. 计算机系统的发展史、基本组成、工作原理
  6. Element-UI分页组件使用——点第几页查第几页
  7. LZW压缩算法原理解析与实现【转载】
  8. mds算法python函数_分享python mds,sha256加密算法,c#对应sha256加密算法
  9. luogu P2680 运输计划 (二分答案+树上差分)
  10. 【2016-2017 ACM-ICPC, Egyptian Collegiate Programming Contest (ECPC 16) A】The game of Osho【SG函数+找规律】
  11. [GIS教程] 6.1空间数据采集与处理具体步骤
  12. excel文件损坏修复绝招_修复数据工具大盘点,让你快速掌握电脑数据恢复的秘密武器...
  13. theano中scan简明理解
  14. js校验 身份证号18位
  15. 项目管理——软件文档分类简介
  16. CANVAS drawImage 绘图图片模糊已解决
  17. 专门替中国人写的英语语法
  18. 技术、产品、交流、思考 - 微软技术暨生态大会 2018
  19. 面试题-list集合删除操作,可能会出现什么问题?
  20. 疫情此起彼伏,招聘直播或许是企业和求职者的最好选择

热门文章

  1. 怎么在eclipse里复制项目
  2. python基础 输入圆的半径,求圆的周长
  3. [分布式][高并发]热点缓存的架构优化
  4. MonoPort翻译解读 ECCV2020
  5. Java中浮点数的表示方法
  6. Android模拟器参数详解
  7. 数据库数据定期同步实现
  8. Visitor 访问者
  9. zynq 7000 SDK下的流水灯实验
  10. Microsoft.CppCommon.targets: error MSB3073 怎么解决?