- Python完全自學教程
- 明日科技編著
- 8字
- 2023-10-09 15:50:39
第2章 Python語言基礎
2.1 注釋
注釋,是指在代碼中對代碼功能進行解釋說明的標注性文字,可以提高代碼的可讀性,讓代碼更容易理解和維護。程序運行時,注釋的內容將被Python解釋器忽略,并且不會在執行結果中體現出來。
編寫程序時,及時添加注釋不但可以記錄程序的作用和功能,還可以通過注釋對程序進行調試,這是一些有經驗的編程人員經常使用的調試手段。
Python通常包括3種類型的注釋,分別是單行注釋、多行注釋和中文編碼聲明注釋。
2.1.1 單行注釋
在Python中,可使用“#”作為單行注釋的符號。從“#”開始直到換行為止,其中的所有內容都作為注釋而被Python解釋器忽略。語法格式如下。
# 注釋內容
單行注釋可以放在要注釋代碼的前一行,也可以放在要注釋代碼的右側。例如,下面的兩種注釋形式都是正確的。
當行注釋(注釋直接占一行) :
# 數字競猜小游戲程序 # 預設競猜數字給變量instr instr = input("請輸入預設的競猜數字:")
行末注釋(在代碼的右側添加注釋):
guess = -1 # 設置默認輸入的競猜數字為-1 print("======數字猜謎小游戲======") # 輸出游戲名稱 while guess != number: # 如果競猜錯誤,重新競猜
使用當行注釋還是行末注釋,需要根據編寫程序的實際情況進行選擇,當需要解釋、說明的內容較多時,推薦使用當行注釋。當行注釋和行末注釋的綜合應用代碼如下。
# 用戶登錄判斷程序 # 只要輸入user列表中的用戶,就可以模擬登錄系統 user=['like','ming','sun','xiaobei','star'] # 用戶名稱列表 while True: # 要求重復輸入,直到輸入正確的用戶名稱 instr = input('用戶名稱:') # 要求輸入用戶名稱 if instr in user: # 如果輸入的用戶在列表中 print('正在進入系統,請稍后!') break # 退出程序 else: print('密碼不正確,請重新輸入!') continue # 繼續執行程序
注意
在任何代碼行前面加上“#”符號,該行代碼就可以變成注釋。利用這個方法,在遇到程序中暫時無法調試的代碼時,可以先將其變成注釋的形式,進行部分程序的優先調試。
2.1.2 多行注釋
在Python中,并沒有單獨的多行注釋標記,而是將包含在一對三引號(' ' '……' ' ')或者(" " "……" " ")之間的內容都稱為多行注釋。這樣的內容將被解釋器忽略。由于這樣的內容可以分為多行編寫,所以也作為多行注釋。語法格式如下。
''' 注釋內容1 注釋內容2 …… '''
或者
""" 注釋內容1 注釋內容2 …… """
多行注釋通常用來為Python文件、模塊、類或者函數等添加版權、功能等信息,例如,下面的代碼將使用多行注釋為程序添加功能、開發者、版權所有、開發日期等信息。
''' 信息加密模塊 開發者:天星 版權所有:明日科技 2018年9月 '''
多行注釋也經常被用來解釋代碼中重要的函數、參數等信息,便于后續開發者維護代碼,例如:
''' 庫存類主要的函數 update改/更新 find查找 delete刪除 create添加 '''
多行注釋其實可以采用單行注釋多行書寫的方式實現,如上面的多行注釋可以寫成如下形式。
# 庫存類主要的函數 # update改/更新 # find查找 # delete刪除 # create添加
2.1.3 中文編碼聲明注釋
在Python中編寫代碼的時候,如果用到指定字符編碼類型的中文編碼,需要在文件開頭加上中文編碼聲明注釋,這樣可以在程序中指定字符編碼類型的中文編碼,不至于出現代碼錯誤。所以說,中文編碼聲明注釋很重要。Python 3.x提供的中文編碼聲明注釋語法格式如下。
# -*- coding:編碼 -*-
或者
# coding=編碼
例如,保存文件編碼格式為UTF-8,可以使用下面的中文編碼聲明注釋。
# -*- coding:utf-8 -*-
為代碼添加注釋,是一個優秀的程序員必須要做的工作。但要確保注釋的內容都是重要的,看一眼就知道代碼的作用,而有些代碼是不需要加注釋的。
說明
在上面的代碼中,“-*-”沒有特殊的作用,只是為了美觀才加上的,所以上面的代碼也可以使用“# coding:utf-8”代替。
為了便于讀者理解程序中的代碼,本書對大多數代碼都進行了注釋。在實際開發中,讀者只要對關鍵代碼進行注釋就可以了,不必像本書一樣。
2.1.4 注釋程序進行調試
在編碼時,有些代碼可能會出現編碼錯誤,無法編譯;或者我們不希望編譯、運行程序中的某些代碼,這時可以將這些代碼注釋掉。這種調試方式簡單、實用,有經驗的程序員經常采用這種方式進行程序調試。下面以計算長方形的對角線長、周長和面積為例來演示如何通過注釋調試程序。計算長方形的對角線長、周長和面積的代碼如下。
a,b=map(float,input('請輸入長方形兩個邊的邊長,用英文逗號間隔:').split(',')) s=a*b l=(a+b)*2 d=(a**2+b**2)**(1/2) print('長方形的對角線長為:',d) # 輸出長方形的對角線長 print('長方形周長為:',l) # 輸出長方形周長 print('長方形面積為:',s) # 輸出長方形面積
在上面的代碼中,如果只想計算長方形面積,但要保留計算對角線長和周長的代碼,則只需將計算對角線長和周長的代碼注釋即可,代碼如下。
a,b=map(float,input('請輸入長方形兩個邊的邊長,用英文逗號間隔:').split(',')) s=a*b # l=(a+b)*2 # d=(a**2+b**2)**(1/2) # print('長方形的對角線長為:',d) # 輸出長方形的對角線長 # print('長方形周長為:',l) # 輸出長方形周長 print('長方形面積為:',s) # 輸出長方形面積
在上面的代碼中,如果想計算長方形的面積和周長,則只需將計算周長的代碼恢復即可,代碼如下。
a,b=map(float,input('請輸入長方形兩個邊的邊長,用英文逗號間隔:').split(',')) s=a*b l=(a+b)*2 # d=(a**2+b**2)**(1/2) # print('長方形的對角線長為:',d) # 輸出長方形的對角線長 print('長方形周長為:',l) # 輸出長方形周長 print('長方形面積為:',s) # 輸出長方形面積