網站首頁 編程語言 正文
1、在判斷條件下允許操作。在一定程度上簡化了代碼,但降低了可讀性。
i = len((l := [1, 2, 3])) # 先對l進行賦值,在對i賦值 while (i := i - 1) >= 0: # 允許在表達式中運算 print(l[i], end=' ')
2、python中的海象操作符較少使用,允許在判斷中進行簡單的賦值操作,沒有其他特殊意義,只需了解其存在即可。
l = [1, 2, 3] i = len(l) - 1 while i >= 0: print(l[i], end=' ') i -= 1
知識點擴充
語法
海象運算符的語法格式是:
(variable_name := expression)
這是一個新的賦值運算符,跟我們常見的?=
?類似,一個變量名后面跟一個表達式。
用于 if-else 條件表達式
常規寫法:
a = 5 if a > 1: print('do sth!')
升級寫法:
if a := 5 > 1: print('do sth!')
用于 while 循環
常規寫法:
n = 3 while n: print('do sth!') n -= 1
升級寫法:
n = 3 while (n := n - 1) + 1: print('do sth!')
這里加1是因為執行輸出前n就減1了。
讀取文件
常規寫法:
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())
在合適的場景中使用海象運算符可以降低程序復雜性,簡化代碼,甚至可以提高程序的性能。
原文鏈接:https://www.py.cn/jishu/jichu/34608.html
相關推薦
- 2022-10-21 C#中匿名方法與委托的關系介紹_C#教程
- 2022-05-23 Android利用Palette實現提取圖片顏色_Android
- 2022-04-21 詳解Golang?Map中的key為什么是無序的_Golang
- 2022-04-12 pandas讀取csv格式數據時header參數設置方法_python
- 2022-03-21 Android中Binder?IPC機制介紹_Android
- 2022-03-24 Android使用Span打造豐富多彩的文本詳解_Android
- 2023-02-01 C語言中聯合體與共用體和枚舉使用語法示例_C 語言
- 2022-07-30 一文掌握Python正則表達式_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支