您好,登錄后才能下訂單哦!
這篇文章主要介紹“為什么不在Python中使用無用分號”,在日常操作中,相信很多人在為什么不在Python中使用無用分號問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”為什么不在Python中使用無用分號”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
我常在C / C ++語言中看到很多分號。在代碼中,分號表示語句終止。Python并未強制使用分號來分隔語句,但因為分號導致Python亂碼的情況可不少。
最近,筆者正在學習Python的數據科學課程。講師講解了條件語句并編寫了以下代碼:
temp =10;if temp <12: print('It is cold'); cold = True;
筆者當時的反應是:這太可怕了!分號僅在Python中的非典型情況下使用。筆者準備了一篇小指南,解釋為什么不應該在Python中使用分號,并列出了少數特殊情況。
語句終止符
在許多大眾的編程語言中,需要在每個語句的末尾添加分號。例如,在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程序員都不會在其代碼中使用它。
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)')
評估表達式的副作用
在Jupyter Notebook之類的交互式環境中工作時,最后一個表達式返回的值將以字符串形式輸出。評估某個函數的副作用真的會很煩人,在matplotlib中查看這個問題會產生贅余。
筆者將在JupyterNotebook中創建一個簡單的直方圖。如下圖所示,運行此腳本會在輸出時添加多余的一行:Text(0.5,1.0,'Histogram')。
這實際上是調用.set_title(...)函數的返回值。為了抑制輸出,可以在最后一條語句的末尾添加一個分號:
axis.set_title('Histogram',size=10);
到此,關于“為什么不在Python中使用無用分號”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。