被「嫌棄」的分號的一生:不要在Python中使用無用分號了

2020-12-24 讀芯術

全文共1328字,預計學習時長6分鐘

圖源:unsplash

我常在C / C ++語言中看到很多分號。在代碼中,分號表示語句終止。Python並未強制使用分號來分隔語句,但因為分號導致Python亂碼的情況可不少。

最近,筆者正在學習Python的數據科學課程。講師講解了條件語句並編寫了以下代碼:

temp =10;if temp <12: print('It is cold'); cold = True;

筆者當時的反應是:這太可怕了!分號僅在Python中的非典型情況下使用。筆者準備了一篇小指南,解釋為什麼不應該在Python中使用分號,並列出了少數特殊情況。

語句終止符

圖源:unsplash

在許多大眾的程式語言中,需要在每個語句的末尾添加分號。例如,在C ++中:

int c =10;

int a = 5;printf('In C++, semicolon at the end is must');

但Python並非如此。Python是一種簡潔的程式語言,你不需要添加不必要的字符和語法。在Python中,一條語句結束於一行的結尾(方括號,引號或括號除外)。例如:

c = 10

a = 5print('No semicolons in Python')

語句分隔符

Python中的分號表示分隔,而不是終止。它允許在同一行中編寫多個語句。

print('Statement1'); print('Statement 2'); print('Statement 3')

此語法允許在單個語句的末尾加上分號:

print('WhyGod? WHY?');

該語句表示print('...'),然後在下一句終止。因此它實際上是兩個語句,其中第二個為空。即使該語言允許使用分號分隔語句,但大多數Python程式設計師都不會在其代碼中使用它。

圖源:unsplash

Python應該是清晰可讀的。分號之類的語法字符會導致不必要的混亂。如果將這樣的代碼發送給經驗豐富的Python程式設計師,他可能不會再理你了。

temp =10; cold =False;

if temp<15: print('It is cold'); cold =True; print('Another statement')

print(cold); print('Done');

將多條語句強制放在一行上會使原本簡單的代碼難以閱讀。

何時使用分號?

那麼問題來了,既然分號既不美觀又礙事,為什麼Python中允許使用分號?

筆者認為,這是為了使兩種程式語言之間的轉換變得稍微容易一些。具有Java,C ++和PHP背景的程式設計師習慣性地將(無用的)終止符放在每一行的末尾。

但是,在下列這些情況下,分號也會派上用場:

從Shell運行腳本

最常見的一種情況是使用python-c'<script>'從shell運行一個簡短的腳本。因為不能在此處使用縮進,所以需要鍵入許多用分號分隔的表達式。以下面語句為例:

python-c 'import math; t = math.pi;print(int(t))』

另一個用例是exec語句:

exec('fori in [100,200,300]: print(i);print(i*2)')

評估表達式的副作用

圖源:unsplash

在Jupyter Notebook之類的交互式環境中工作時,最後一個表達式返回的值將以字符串形式輸出。評估某個函數的副作用真的會很煩人,在matplotlib中查看這個問題會產生贅餘。

筆者將在JupyterNotebook中創建一個簡單的直方圖。如下圖所示,運行此腳本會在輸出時添加多餘的一行:Text(0.5,1.0,'Histogram')。

這實際上是調用.set_title(...)函數的返回值。為了抑制輸出,可以在最後一條語句的末尾添加一個分號:

axis.set_title('Histogram',size=10);

簡潔就是偉大,我們在編寫代碼時應避免添加任何多餘的字符。刪掉那些多餘的分號吧,僅在必要時使用即可。

留言點讚關注

我們一起分享AI學習與發展的乾貨

如轉載,請後臺留言,遵守轉載規範

相關焦點

  • 他們身上為何有個分號紋身?分號紋身背後的故事.
    ☜特土人,TATTOO YOURSEL☞每個刺青背後都有一段故事,可能是為了紀念某個有重要意義的人或事物,也有可能是對自己的激勵和提醒。,也有停頓和轉折的意義。無論你遇到什麼挫折和苦難,你可以傷心哭泣和發洩,別把自己逼的太緊,放鬆休息一下再出發,但請別輕易幫自己的人生畫下句號。
  • 小學如何學標點符號之逗號、頓號、分號
    二、頓號頓號表示句子中並列詞語之間的停頓。如:她是那麼美麗、謙虛、善良。三、分號分號所表示的停頓,一般比逗號大,比句號小,因此,分號常用來表示複句的分句之間的較大的停頓。如:天上下雨,地就溼潤;太陽出來,東西就容易曬乾;火會燒東西,水可以滅火。有時分號還可用於分項說明的事物。
  • 英語新詞:分號紋身有什麼特殊含義?
    新東方網>英語>英語學習>語法詞彙>流行語>正文英語新詞:分號紋身有什麼特殊含義?   分號紋身的潮流最初由「分號項目」發起,鼓勵人們在身上畫或是紋上「分號」,藉此向那些正與抑鬱、焦慮、自殺傾向、自殘等精神疾病抗爭的人們傳達希望和關愛的訊息。
  • 重點專項訓練:標點符號(頓號、逗號、分號)
    頓號、逗號、分號的使用頓號是並列的詞語或短語之間的停頓。(但並列性的謂語、補語之間不用頓號,只用逗號。)逗號是句間或短語間的停頓。分號是並列分句之間的停頓。並列性的謂語、補語之間不用頓號,只用逗號。如:① 這個省今年的水利建設,任務重,工程難,規模大。
  • 神秘的「分號紋身」風靡阿根廷 你知道背後的深遠意義嗎?
    為什麼是分號?據Tommy Dorfman在他的Instagram上寫道,分號的意思是:人生新篇章的開始,而不是結束。這個分號的意義源自2013年美國社會活動家Amy Bleuel,他的父親自殺後,悲痛欲絕的Amy Bleuel痛定思痛,創辦了Project Semicolon(分號項目)非盈利公益組織,該組織致力於為那些遭受精神疾病、自殺、毒癮和自殘的人提供幫助和希望。
  • 韓國男團SEVENTEEN新專輯《分號》銷量破百萬
    11月13日消息,昨日根據韓國音樂排行榜GAON數據顯示,韓國男團SEVENTEEN新專輯《分號》截至10月底,銷售量達106萬張,同時該專輯登上日本公信榜專輯周榜位居第二,還登上了全球12個國家和地區iTunes榜。
  • python爬蟲 - 字符串
    python字符串Python中的字符串可以使用單引號、雙引號和三引號(三個單引號或三個雙引號,可以換行的)括起來,使用反斜槓 \ 轉義特殊字符Python3源碼文件默認以UTF-8編碼,所有字符串都是unicode字符串支持字符串拼接、截取等多種運算
  • 2019年新分號中,你最期待哪家?!
    香港瑰麗先有紐約、倫敦、巴黎幾大分號加持,再加之近幾年品牌陸續交出一件件令人滿意的作品(普吉島、琅勃拉邦、金邊等最新分號),Rosewood——可以說已經在奢華酒店江湖圈站穩腳跟。重點6:全新水療Asaya進駐的第一個都市分號
  • 「爆表」小學要建分校 未來3年杭州一批名校「分號」投用
    這所新學校位於採荷單元G1104-A33-17地塊,是荷花塘未來社區九大場景之一,目前招投標己完成,將在近幾年建成使用。而最最關鍵的是,該小學建成後將成為採荷第二小學教育集團的一個校區,由採荷第二小學教育集團牽頭領辦。新校效果圖。
  • 關於英文寫作標點符號使用方法補充
    這個句子中eraser後面的逗號即為牛津逗號。如果不使用牛津逗號,句子則變成:Please bring me a pencil, eraser and notebook.目前人們關於牛津逗號的使用並沒有達成統一意見,比如美式英語中牛津逗號的使用非常廣泛,很多美式英語寫作指南(比如The Elements of Style)也規定要使用牛津逗號。
  • python+ pycharm 環境安裝 + pycharm使用
    位進行下載6.下載完成後開始安裝,打開下載好的安裝包①一定要勾選「Add Python to Path」,要不然要手動添加環境變量②點擊「Customize installation」7.然後就一直點擊下一步,進入選擇安裝路徑,這裡我們最好不要安裝在
  • 今天教你如何用 Python 搶票
    (Cookie 自動收集驗證時)步驟不太行了star目前 已有260+ ,我自己也測試了一下可用,用來搶票的話是沒有問題的,效果如下;下面我將介紹一下這個項目的具體配置步驟1, 下載倉庫到本地該項目的Github 地址:https://github.com/gzldc/12306首先把下載原項目到本地,下載時是建議不要用
  • Python 初學者進階的九大技能
    Aaberge譯者 | 孫薇,責編 | 屠敏頭圖 | CSDN 下載自視覺中國出品 | CSDN(ID:CSDNnews)以下為譯文:Python是一種很棒的語言,語法簡單,無需在代碼中搜索分號右側是摺疊了if/else語句的ATOM另一種辦法是將你的代碼通過 www.pythontutor.com可視化,就可以逐行查看代碼運行的方式了。使用pythontutors執行代碼4.
  • 慢步python,你苦苦找尋的python中文使用手冊在哪裡?這裡有答案
    #學習難度大python對大家來說,應該算是相對新的程式語言。即使這樣,我們學習python的道路依舊困難重重。問題在,相關的學習資料不夠系統。初學者使用手冊像以前剛開始使用電視、手機一樣,都有一本使用說明書,即使用手冊。
  • 使用Python生成藝術二維碼
    今天簡單介紹如何用python製作動態二維碼。    實現是用一個免費的python庫myqr, 在這裡可以看到:https://pypi.org/pypi/MyQR/先要安裝:pip install myqr    安裝完成後,在命令行中輸入 myqr 查看下使用幫助。
  • 如何使用Visual Studio工具創建python項目
    工具Visual Studio 2019python環境技術python一般情況下,我們使用Visual Studio進行C#、C++和C語言項目進行開發。隨著工具不斷完善,現在也可以進行python項目開發了。那麼,如何在Visual Studio 2019工具上創建python項目?
  • 《白銀帝國》的感動:無論走多遠,都不要忘記你最初的樣子
    生命是奇異的,我們都祈求它,給我們平順的生活,不要試探我們,可是只有在遇到艱難的選擇時,我們才面對真實的自己,我們才定義自己。在電影《白銀帝國》中,郭富城飾演的康三爺這樣說。姚樹華導演的電影《白銀帝國》,以昏黃蒼茫的色調,低沉舒緩的語調,仿佛一卷厚重積年、落滿灰塵的畫卷,將百年票號「天成元」的興衰沉浮、及個人命運的跌宕流離,在世人面前徐徐展開,緩緩道來。
  • 正確使用標點符號練習題及答案詳解
    12.下列句子中,標點符號使用有錯誤的一項是( )    A.人的一生,總是在不停地嘗試,嘗試擁有,嘗試放棄;人的一生,又始終在不斷地追求,追求自由,追求幸福。    B.牆上掛著一幅畫,畫的題目取自宋朝臨川(屬江西)詩人謝無逸《千秋歲·詠夏景》中的「人散後,一鉤新月天如水」。
  • 使用Python製作表白小程序
    相信很多人在抖音,皮皮搞笑等小視頻中看過各種各樣的表白小程序。看完之後也是大呼神奇。對於正在學習python的小編來說,更讓我感興趣的還是小程序背後的代碼了。看完之後我就在想,作為萬能的python來說,實現這種功能應該不在話下吧。果不其然,在知乎上看到過一篇文章就是用python來實現一個表白程序。看完之後,小編就驚呆了,原來用python可以這麼簡單的實現這個程序。
  • 2021高考語文語言文字運用之正確使用標點符號
    ★分號分號主要用於並列分句之間的停頓,起分清層次的作用。複句內部並列分句之間、多重複句第一層的前後兩部分之間、分項列舉的各項之間,可使用分號。例如:「牆上蘆葦,頭重腳輕根底淺;山間竹筍,嘴尖皮厚腹中空。」1. 分句中沒有逗號不能直接使用分號。