Python 注釋(Python Comments)用法詳解


1 Python 注釋概述

注釋(Comments)是用來向開發者(用戶)提示或解釋某些代碼的思路、作用和功能等,可以添加到代碼中的任何位置。Python 解釋器(Python Interpreter)在執行程序(代碼)時會忽略注釋部分,不做任何處理,即注釋部分不會被 Python 解釋器執行。

在代碼中添加適當的注釋量很重要,注釋通常占源代碼的 1/3 左右。

Python 支持兩種類型的注釋:單行注釋和多行注釋。

2 Python 注釋的作用

2.1 調試代碼

在調試(Debug)程序的過程中,單行注釋可以用來臨時快速注釋某些代碼,達到縮小錯誤范圍、提高調試程序效率的目的。

具體操作如下:
在不確定具體是哪一行代碼出錯的情況下,我們可以先把覺得可能有問題的代碼注釋起來,然后再運行程序觀察結果。如果程序可以正常執行,則可以說明錯誤就是由這段代碼引起的;反之,如果依然出現相同的錯誤,則可以說明錯誤不是由這段代碼引起的。

2.2 提高程序的可讀性

注釋的最大作用是提高程序的可讀性,沒有注釋的程序是很難讓人看懂的,說是天書也不為過。
更甚至,自己寫的代碼,過了一段時間以后,自己也會忘記思路或者目的。

3 Python 單行注釋

3.1 Python 單行注釋概述

Python 中是使用井號#作為單行注釋的符號,其語法格式如下所示:

# 添加的注釋內容

對以上語法格式的說明:

  • #作為單行注釋的符號。
  • 從井號#開始,直到這行結束為止的所有內容都是注釋。Python 解釋器遇到#時,會忽略它后面的整行內容,即#之后的一行內容都屬於注釋部分。

3.2 單行注釋注釋單行代碼的情況

單行注釋注釋單行代碼時通常會將注釋放在代碼的右側,與代碼之間用兩個空格隔開,如下所示:

print("碼農阿傑")  # 輸出筆者的微信公眾號名稱
print('https://www.cnblogs.com/manongajie/')  # 輸出筆者的博客園博客地址
print('https://blog.csdn.net/manongajie/')  # 輸出筆者的CSDN博客地址

3.3 單行注釋注釋多行代碼的情況

單行注釋注釋多行代碼時通常將注釋放在代碼的上一行,如下所示:

# 使用 print() 內置函數輸出字符串
print("微信公眾號:碼農阿傑")
print("博客園博客地址 https://www.cnblogs.com/manongajie/")
print("CSDN 博客地址 https://blog.csdn.net/manongajie/")

# 使用 print() 內置函數輸出數字
print(520)
print(521)
print(1314)

3.4 單行注釋注意事項

3.4.1 單行注釋符號作為字符串的一部分存在

當單行注釋符號#作為字符串的一部分出現時,就不能再將它當做單行注釋標記,而應該當做是字符串的一部分(字符串的字符),如下所示:

print('# 微信公眾號:碼農阿傑')
print("# 博客園博客地址 https://www.cnblogs.com/manongajie/""")
print("# CSDN 博客地址 https://blog.csdn.net/manongajie/")

運行結果:

# 微信公眾號:碼農阿傑
# 博客園博客地址 https://www.cnblogs.com/manongajie/
# CSDN 博客地址 https://blog.csdn.net/manongajie/

對以上代碼說明:

  • Python 沒有將井號#當做單行注釋標記,而是將它當做字符串的一部分。

4 Python 多行注釋

4.1 Python 多行注釋概述

多行注釋指的是一次性注釋程序中多行代碼,也可以是一行代碼。

Python 中支持使用三個連續的單引號'''分別作為注釋的開頭和結尾,或者三個連續的雙引號"""分別作為注釋的開頭和結尾,一次性注釋多行或單行內容。

多行注釋通常用來為 Python 函數、類、模塊等等添加功能、版本和作者等描述信息。

4.2 三個連續的單引號注釋

三個連續的單引號注釋內容具體格式如下:

'''
使用三個連續的單引號分別作為注釋的開頭和結尾
可以一次性注釋多行內容或單行內容
'''

4.3 三個連續的雙引號注釋

"""
使用三個連續的雙引號分別作為注釋的開頭和結尾
可以一次性注釋多行內容或單行內容
"""

4.4 多行注釋也可以為函數提供說明文檔

在 Python 中可以通過 help()內置函數或者__doc__屬性查看某個函數的說明文檔,如下代碼所示:

# 查看 print() 內置函數的說明文檔
print('--- 用 help()內置函數查看說明文檔 ---')
help(print)
print('--- 用 __doc__ 屬性查看說明文檔 ---')
print(print.__doc__)

運行結果:

--- 用 help()內置函數查看說明文檔 ---
Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.

--- 用 __doc__ 屬性查看說明文檔 ---
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file:  a file-like object (stream); defaults to the current sys.stdout.
sep:   string inserted between values, default a space.
end:   string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.

其實,函數的說明文檔,本質就是一段字符串(跟多行注釋符號一致),都需要程序員自己編寫,只不過作為說明文檔,字符串的放置位置不同而已,函數的說明文檔通常位於函數內部、所有代碼的最前面。

如何為函數設置說明文檔呢?如下所示:

# 定義一個比較數字大小的函數
def num_max(num1, num2):
    """
    比較兩個數字的大小
    :param num1:形參1,數字1
    :param num2:形參2,數字2
    :return:大的數字,max_num = num1 if num1 > num2 else num2
    """
    max_num = num1 if num1 > num2 else num2
    return max_num


result = num_max(1, 2)
print(result)
print('--- 用 help() 內置函數查看 num_max() 的說明文檔 ---')
help(num_max)
print('--- 用 __doc__ 屬性查看 num_max() 的說明文檔 ---')
print(num_max.__doc__)

運行結果:

2
--- 用 help() 內置函數查看 num_max() 的說明文檔 ---
Help on function num_max in module __main__:

num_max(num1, num2)
    比較兩個數字的大小
    :param num1:形參1,數字1
    :param num2:形參2,數字2
    :return:大的數字,max_num = num1 if num1 > num2 else num2

--- 用 __doc__ 屬性查看 num_max() 的說明文檔 ---

    比較兩個數字的大小
    :param num1:形參1,數字1
    :param num2:形參2,數字2
    :return:大的數字,max_num = num1 if num1 > num2 else num2
    

4.5 多行注釋注意事項

4.5.1 多行注釋不支持嵌套

Python 多行注釋不支持嵌套,如下所示為錯誤寫法:

'''
外層注釋
    '''
    內層注釋
    '''
'''

4.5.2 多行注釋符號'''"""作為字符串標記

多行注釋符號'''"""也可以作為字符串的開始和結束標記。

Python 中當多行注釋符號作為字符串的一部分出現時,就不能再將它們當做多行注釋標記,而應該看做是字符串的一部分,如下所示:

str_info1 = '''微信公眾號:碼農阿傑'''
str_info2 = """博客園博客地址 https://www.cnblogs.com/manongajie/"""
str_info3 = "CSDN 博客地址 https://blog.csdn.net/manongajie/"

print(str_info1)
print(str_info2)
print(str_info3)

運行結果:

微信公眾號:碼農阿傑
博客園博客地址 https://www.cnblogs.com/manongajie/
CSDN 博客地址 https://blog.csdn.net/manongajie/

對以上代碼說明:

  • Python 沒有將這里的三個引號當做是多行注釋,而是將它們看作字符串的開始和結束標志。

5 文章其它地址

5.1 微信公眾號:碼農阿傑

5.2 CSDN博客

6 參考資料

6.1 Python 3.8.2 documentation


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM