自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python 為什么不用分號(hào)作終止符?

開發(fā) 后端
單純看“分隔符”與“終止符”,它們都是必須的,然而是否都要用分號(hào)來表示呢?這個(gè)問題沒有達(dá)成一致的標(biāo)準(zhǔn)。

一般而言,編程語言中使用分號(hào)“;”來實(shí)現(xiàn)兩種目的:

  • 作為語句分隔符:使用分號(hào)來分隔語句(statement),這樣就能在一行代碼中書寫多條語句(一行多句)
  • 作為語句終止符:使用分號(hào)來終止語句,這樣就能把多行代碼識(shí)別為一條語句(一句多行)

單純看“分隔符”與“終止符”,它們都是必須的,然而是否都要用分號(hào)來表示呢?這個(gè)問題沒有達(dá)成一致的標(biāo)準(zhǔn)。

Python 中使用了分號(hào)作為語句分隔符,但是不用分號(hào)作為終止符, 而是用了換行作為終止符。

若在一句完整的語句末尾加了分號(hào),然后換行,那么 IDE 一般會(huì)提示“Trailing semicolon in the statement”,提示著這個(gè)“尾隨分號(hào)”是多余的。

按我粗淺的理解,尾隨分號(hào)實(shí)際會(huì)被當(dāng)成分隔符,只不過它后面是“空語句”,然后是換行(即終止符)。分隔空語句是無必要的,所以尾隨分號(hào)就成了多余的。

Python 不用分號(hào)作為終止符,大概有如下的原因:

  • 它把縮進(jìn)和換行當(dāng)成文法的有效部分,可以表達(dá)出完整的語義,不會(huì)導(dǎo)致編譯時(shí)的歧義。這是最主要的原因,是跟“分號(hào)黨”的根本區(qū)別
  • 不用分號(hào)與花括號(hào),但是使用縮進(jìn)和冒號(hào),這是一脈相承的思路,總體上形成了更高的可讀性、簡(jiǎn)潔性和標(biāo)準(zhǔn)化。這體現(xiàn)了局部語法與整體規(guī)則的關(guān)系,1 + 1 > 2
  • 可以少寫字符,也避免了在某些鍵盤上要敲“shift”鍵的麻煩
  • 分號(hào)主要是給機(jī)器看的,但 Python 更注重于人性化。早期硬件有所限制,加分號(hào)可以提升解析/編譯的速度,但如今障礙已除,某些分號(hào)黨語言只是在延續(xù) B/C 語言的老傳統(tǒng)
  • 對(duì)于需要換行的語句,Python 中使用反斜杠(\)來連接,可以理解成它把換行給轉(zhuǎn)義了,能夠解決一句多行的問題

 

責(zé)任編輯:趙寧寧 來源: Python貓
相關(guān)推薦

2020-07-20 14:09:36

Python編程語言注釋符

2019-03-11 08:36:11

Python代碼Flask

2020-09-25 08:10:55

Rust系統(tǒng)編程

2023-06-06 09:03:06

InnodbMySQL

2020-06-19 14:55:11

Kubernetes容器技術(shù)

2021-05-06 06:53:39

DockerGoogleFacebook

2019-05-15 08:29:56

Web面板運(yùn)維

2009-12-14 18:27:21

Linux操作系統(tǒng)

2015-01-08 15:18:43

DockerDockerFile創(chuàng)建鏡像

2020-11-12 18:53:34

代碼Transformer編程

2025-03-25 07:10:00

開發(fā)前端JavaScript

2020-08-07 14:24:34

諾基亞安卓塞班系統(tǒng)

2009-07-07 17:18:57

Facelets介紹JSP與Facelet

2024-11-04 09:26:42

RESTJavaAPI

2022-08-15 12:31:59

PythonRuby編程語言

2018-10-11 15:51:32

ChromeGoogle瀏覽器

2024-07-19 10:03:29

2024-01-31 08:15:40

Git服務(wù)器GitLab

2022-06-17 18:49:25

pythonexcel

2021-08-02 12:33:26

Swift修飾符視圖
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)