官术网_书友最值得收藏!

第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)              # 輸出長方形面積
主站蜘蛛池模板: 宽城| 蒙城县| 金山区| 宜宾县| 晋州市| 黑龙江省| 衡南县| 封丘县| 六盘水市| 安图县| 宁海县| 大石桥市| 龙南县| 伊川县| 鹰潭市| 扎鲁特旗| 淮南市| 柳河县| 阿合奇县| 青神县| 江安县| 鸡东县| 惠安县| 福安市| 梓潼县| 双桥区| 静海县| 岢岚县| 佛山市| 阳高县| 调兵山市| 广饶县| 宜兰市| 济阳县| 丽江市| 汝阳县| 贺兰县| 通辽市| 定陶县| 页游| 丽水市|