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