Python 語句和註釋

Jinku Hu 2023年1月30日 2018年1月29日
  1. Python 語句
  2. Python 縮排
  3. Python 註釋
Python 語句和註釋

我們將在本節中介紹 Python 語句,縮排以及註釋,在本節的最後一部分,還會介紹作為一種特殊型別的 Python 註釋 Docstring

Python 語句

Python 語句是給直譯器執行的指令,一條 Python 語句包含類似於如下的表示式,

result = x + y

你可以將 Python 語句堪稱直譯器解釋表示式並將其結果儲存在變數中的指令。類似於 for, while, print 之類的語句具有特殊的含義,我麼將在在後面的章節中討論。

Python 多行語句

當你在一句語句結束時按回車鍵後,該 Python 語句被終止,我們可稱之為單行語句。Python 中的多行語句可以通過使用行連續字元\來建立,它將 Python 語句擴充套件為多行語句。

比如下面的例子,

x = 100 + 101 + 102 \
    + 103 + 104 \
    + 105

這可以被稱作明確的多行接續。

你還可以使用括號 (),方括號 [] 或大括號 {} 來進行隱式的多行接續。

例如,你可以使用括號來連線多行語句,

x = (100 + 101 + 102 
    + 103 + 104 
    + 105)

Python 縮排

Python 語句塊,例如函式,迴圈或類的主體,以縮排來開頭。對於語句塊內的每個語句,應該保持相同的縮排。當縮排不一致時,你將得到 IndentationError

一般來說,在Python 程式碼樣式指南中建議使用 4 個縮排空格。舉例如下,

x = {1, 2, 3, 4}
for i in x:
    print(i)

我們用縮排來增加程式的可讀性,比如在下面的程式中,我們用兩種方式來完成同一個功能,

x = {1, 2, 3, 4}
for i in x:
    print(i)

for i in x: print(i)

你可以在這裡看到第一個例子比第二個例子有更好的可讀性。

Python 註釋

註釋用於描述程式的目的或工作工程,註釋是在 Python 解釋過程中被忽略的行,它們不會干擾程式的流程。

如果你正在編寫數百行程式碼,肯定需要新增註釋,因為其他人在閱讀你的程式碼的時候,沒有足夠的時間閱讀每一行來理解程式碼的工作。程式的註釋增加了可讀性,並解釋了程式碼的工作原理。

Python 註釋以井號 # 開始

#Single Line comment
#Program to print a string
print("Hello Python Programmer")

Python 多行註釋

Using hash symbol in each line can define a multi-line comment. But there is another way to add a multi-line comment in Python, that is using triple quotation marks. You can use either ''' or """.

"""Multi-line
comments in 
Python Programming language"""

三重引號'''通常可以用來定義多行文件註釋 Docstring,你也可以用它來做為另外一種在 Python 中新增多行註釋的方法。

Python 文件字串 Docstring

Docstring 是文件字串,它通常是 Python 函式,類,模組等的第一條語句。函式,方法和類的描述和註釋位於文件字串(文件字串)內。

舉例如下,

def sum(a, b):
    """This function adds two values"""
    return a+b

一目瞭然,Docstring 介紹了函式的功能。

Author: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn