註釋
單行註釋 —— #:
# 這是註釋
print('hello world') # 這也是註釋
多行註釋 —’’’’或""":
'''
多行註釋
'''
print('hello world') # 這也是註釋
"""
這也是多行註釋
"""
冒號和縮進
Python採用冒號 + 縮進的方式來控制代碼的邏輯:
通常縮進使用Tab —— 四個空格鍵來實現,先看一個正確例子:
運行結果:
下面看個錯誤例子(多是C/Java遺留下來的習慣):
- 亂用縮進/縮進不統一
如果不管,硬要運行,報錯:does not match any outer indentation level
即Python使用縮進控制代碼邏輯,所以不能像C/Java那樣亂用縮進(空格),隸屬於一個代碼塊的代碼一定要用統一的縮進。PS:空行是可以“亂用”的。
如果這樣改:
OK,這樣print(“False”)就是if else之外的代碼了(始終要執行的)。
也可以這樣改:
也是OK的,都採用2個空格的縮進,也是可以運行成功的:
也可以這樣改:
當然,無論是全2-space縮進還是前4後2的縮進,Pycharm都有友好提示(print下白色的下劃線):
縮進都不是4的倍數。
所以綜上,隸屬於一個代碼塊,只要縮進一致即可(1-n),但還是建議使用同意的4-space縮進比較好,即Tab鍵,對於Pycharm,一個Tab代表幾個空格鍵是一目瞭然的,Pycharm右下角:
點擊即可設置。
並且,一般的Python編輯器如Pycharm在換行後都會自動進行縮進。
Python的分號哪裏去了
Python其實同樣支持分號的,用在單行多條語句時:
結果:
這在交互模式下很實用:
不過要注意:
- Python不支持單個分號—— ; 語句
很明白:expect 語句而不是分號——換言之,Python不認爲分號是語句。這帶來的一個結果就是: - Python中,除了當個分號語句外,每個語句以分號結尾並不會報錯,但沒必要
結果:
- Python用分號連接的單行多條語句,默認在一個代碼塊中,而下一行就是另外一個代碼塊了,即使用縮進也不行:
結果:
使用縮進:
結果還是不能將print(‘end’)納進if的代碼塊中去。所以分號來實現單行多條語句,適用兩個情況:
- 交互模式下,並且單行能寫完所有語句
- 腳本下,if或者else後只有一條語句
其餘情況下最好不要用,特別是剛纔提到的,if-else這種分號引起的代碼塊分離。
PS:其實知道這個功能就好,除了寫算法題時爲了簡潔:
if(con):count++
其他情況下真沒必要用。