首页 > 编程语言 >python海象运算符

python海象运算符

时间:2023-02-15 20:47:04浏览次数:37  
标签:fp 海象 python 运算符 while print line

简介

Python 海象运算符是在 PEP 572 中提出,并在 Python3.8 版本并入发布。

海象运算符的英文原名叫 Assignment Expresions ,即 赋值表达式。海象表达式由一个 : 和 一个 = 组成,即::= 。我们一般称作 walrus operator(海象运算符),因为它看起来就是一个海象旋转 90° 而成。
语法
海象运算符的语法格式是:

(variable_name := expression or value)
即一个变量名后跟一个表达式或者一个值,这个和赋值运算符 = 类似,可以看作是一种新的赋值运算符。

用法
1.用于 if-else 条件表达式:
常规写法:

a = 15
if a > 10:
    print('hello word!')
	
海象运算符:

if a := 15 > 10:
    print('hello word!')

2. 用于 while 循环:

常规写法:

n = 6
while n:
    print('hello word!')
    n -= 1

海象运算符:

n = 6
while (n := n - 1) + 1: # 需要加1是因为执行输出前n就减1了
    print('hello word!')

3.读取文件:

常规写法:

fp = open("test.txt", "r")
while True:
    line = fp.readline()
    if not line:
        break
    print(line.strip())
fp.close()

海象运算符:

fp = open("test.txt", "r")
while line := fp.readline():
    print(line.strip())

总结

在合适的场景中使用海象运算符可以降低程序复杂性,简化代码。一方面,可以写出优雅而简洁的 Python 代码;另一方面,可以看懂他人的代码。在一些实例中,甚至可以提高程序的性能。

标签:fp,海象,python,运算符,while,print,line
From: https://www.cnblogs.com/ddsuifeng/p/17124564.html

相关文章

  • python70 前端框架之vue js的集中循环方式、key值的解释、input事件、v-model双向数
    js的几种循环方式v-for可以循环的变量可以循环的:数组、数组带索引对象、对象带key、value字符串字符串带索引数字、数字带索引<!DOCTYPEhtml......
  • python 树形结构生成
    生成数据list_data=[{'id':1,'name':'体育0','pid':0},{'id':2,'name':'体育1','pid':1},{'id':3,'name':'体育2','pid......
  • 【保姆级】Python最新版3.11.1开发环境搭建,看这一篇就够了
    工欲善其事必先利其器,在使用Python开发程序之前,在计算机上搭建Python开发环境是必不可少的环节,目前Python最新稳定版本是3.11.1,且支持到2027年,如下图所示本文手把手带你......
  • python - 选择排序
    前言选择排序(Selectionsort)是一种基本的排序算法。原理:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置。然后再从剩余的未排序元素中寻找......
  • Python黑客编程之权限提升
    描述登录目标机器后,需要获取system权限,可选择方式有攻击驱动程序或者系统内核,较难且容易导致系统奔溃,考虑到某些高权限任务所依赖的文件或者程序可以被低权限用户修改,如......
  • colab上更换python版本或者换成tensorflow1.x版本
    2023-02-15目前colab已经不支持使用:%tensorflow_version1.x来切换使用tensorflow1.x版本了。解决方法如下:cd/content/drive/MyDrive/#安装python,可选择自己需要的......
  • Python黑客编程之数据渗漏
    描述入侵到目标主机后,发现有趣的文件,将其加密后,通过ftp文件\邮件\第三方网站的方式将密文传输到自己的机子上,在本地还原数据文件利用邮件传输#smtpsmtp_server='s......
  • Python+Django(4):创建其他网页(模板继承)
    模板继承:1,修改主页父模板:抽取通用元素,在index.html同级目录下新建base.html<p><ahref="{%url'learning_logs:index'%}">LearningLog</a></p>{%blockcont......
  • Python黑客编程之数据加解密
    描述利用非对称密钥RSA和对称密钥AES算法对传输数据进行加密分析发送方本地保存有RSA公钥,发送数据前,利用AES算法对传输数据明文进行加密,利用RSA算法对AES的密钥进行......
  • python的学习之路Day4
    2023.2.15Day42023.2.15Day4今日内容概要主题:数据类型(先熟悉)字符串列表字典布尔元组集合与用户交互基本运算符今日内容详细字符串str#用来记录描述性......