第2章: Python語言基本語法元素
目錄
考綱考點
- 程式的基本語法元素:程式的格式框架、縮排、註釋、變數、命名、保留字、資料型別、賦值語句、引用
- 基本輸入輸出函式:input()、eval()、print()
- 源程式的書寫風格
知識導圖
1、程式的格式框架
縮排
- Python語言採用嚴格的“縮排”來表明程式的格式框架。縮排指每一行程式碼開始前的空白區域,用來表示程式碼之間的包含和層次關係。
- 1個縮排 = 4個空格
- 縮排是Python語言中表明程式框架的唯一手段
- 當表達分支、迴圈、函式、類等程式含義時,在if、while、for、def、class等保留字所在完整語句後通過英文冒號(:)結尾並在之後進行縮排,表明後續程式碼與緊鄰無縮排語句的所屬關係。
註釋
- 註釋是程式碼中的輔助性文字,會被編譯或直譯器略去,不被計算機執行,一般用於程式設計師對程式碼的說明。Python語言採用#表示一行註釋的開始,多行註釋需要在每行開始都使用#。
- #註釋的第一行
- #註釋的第二行
- #註釋的第三行
- Python程式中的非註釋語句將按順序執行,註釋語句將被直譯器過濾掉,不被執行。註釋一般用於在程式碼中標明作者和版權資訊,或解釋程式碼原理及用途,或通過註釋單行程式碼輔助程式除錯。
2、語法元素的名稱
變數
- 變數是儲存和表示資料值的一種語法元素,在程式中十分常見。顧名思義,變數的值是可以改變的,能夠通過賦值(使用等號=表達)方式被修改,例如:
>>> a = 99 >>> a = a + 1 >>> print(a) 100
命名
- Python語言允許採用大寫字母、小寫字母、數字、下劃線(_)和漢字等字元及其組合給變數命名,但名字的首字元不能是數字,中間不能出現空格,長度沒有限制
- 注意:識別符號對大小寫敏感,python和Python是兩個不同的名字
保留字
- 保留字,也稱為關鍵字,指被程式語言內部定義並保留使用的識別符號。
- 程式設計師編寫程式不能定義與保留字相同的識別符號。
- 每種程式設計語言都有一套保留字,保留字一般用來構成程式整體框架、表達關鍵值和具有結構性的複雜語義等。
- 掌握一門程式語言首先要熟記其所對應的保留字。
Python 3.x保留字列表 (33個)
and |
elif |
import |
raise |
as |
else |
in |
return |
assert |
except |
is |
try |
break |
finally |
lambda |
while |
class |
for |
nonlocal |
with |
continue |
from |
not |
yield |
def |
global |
or |
True |
del |
if |
pass |
False |
|
|
|
None |
3、資料型別
資料型別概述
- Python語言支援多種資料型別,最簡單的包括數字型別、字串型別,略微複雜的包括元組型別、集合型別、列表型別、字典型別等。
數字型別
- 表示數字或數值的資料型別稱為數字型別,Python語言提供3種數字型別:整數、浮點數和複數,分別對應數學中的整數、實數和複數。
- 一個整數值可以表示為十進位制、十六進位制、八進位制和二進位制等不同進位制形式。
十進位制: 1010
十六進位制:0x3F2
八進位制: 0o1762
二進位制: 0b001111110010
- 一個浮點數可以表示為帶有小數點的一般形式,也可以採用科學計數法表示。例如:浮點數123.456,兩種表示方式如下:
一般形式: 123.456
科學計數法: 1.23456e2
- 複數型別與數學中的複數相一致,採用a+bj的形式表示,存在實部和虛部。
字串
- Python語言中,字串是用兩個雙引號“ ”或者單引號‘ ’括起來的一個或多個字元。
- Python字串的兩種序號體系
- 如果字串長度為L,正向遞增需要以最左側字元序號為0,向右依次遞增,最右側字元序號為L-1;反向遞減序號以最右側字元序號為-1,向左依次遞減,最左側字元序號為-L。
>>> "對酒當歌,人生幾何?"[1]
'酒'
>>> "對酒當歌,人生幾何?"[-1]
'?'
- 可以採用[N: M]格式獲取字串的子串,這個操作被形象地稱為切片。[N: M]獲取字串中從N到M(但不包含M)間連續的子字串。
>>> "對酒當歌,人生幾何?"[2:4]
'當歌'
>>> "對酒當歌,人生幾何?"[5:-2]
'人生幾'
- 可以通過Python預設提供的len()函式獲取字串的長度,一箇中文字元和西文字元的長度都記為1。
>>> len("對酒當歌,人生幾何?")
10
>>> len("Hello World")
4、程式的語句元素
表示式
- 產生或計算新資料值的程式碼片段稱為表示式。表示式類似數學中的計算公式,以表達單一功能為目的,運算後產生運算結果,運算結果的型別由操作符或運算子決定。
- 表示式一般由資料和操作符等構成,這是構成Python語句的重要部分。
賦值語句
- Python語言中,= 表示“賦值”,即將等號右側的值計算後將結果值賦給左側變數,包含等號(=)的語句稱為“賦值語句”
<變數> = <表示式>
- 同步賦值語句:同時給多個變數賦值
<變數1>, …, <變數N> = <表示式1>, …, <表示式N>
- 例:將變數x和y交換
- 採用單個賦值,需要3行語句:
- 即通過一個臨時變數t快取x的原始值,然後將y值賦給x,再將x的原始值通過t賦值給y。
- 採用同步賦值語句,僅需要一行程式碼:
- 引用
- Python程式會經常使用當前程式之外已有的功能程式碼,這個過程叫“引用”。Python語言使用import保留字引用當前程式以外的功能庫,使用方式如下:
import <功能庫名稱>
- 引用功能庫之後,採用<功能庫名稱>.<函式名稱>()方式呼叫具體功能。
# 呼叫turtle庫進行繪圖操作
import turtle
>>> turtle.fd(-200) #fd()是turtle庫中函式
>>> turtle.right(90) #right()是turtle庫中函式
>>> turtle.circle(200) #circle()是turtle庫中函式
其他語句
- 除了賦值語句外,Python程式還包括一些其他的語句型別,例如,分支語句和迴圈語句等。更多的分支和迴圈內容將在第4章介紹。這裡僅簡要介紹這兩類語句的基本使用。
分支語句
- 分支語句是控制程式執行的一種語句,它的作用是根據判斷條件選擇程式執行路徑。分支語句包括:單分支、二分支和多分支。
- 單分支語句是最簡單的分支語句,使用方式如下:
if <條件>:
<語句塊>
# 判斷輸入整數是否在[0,100]之間
num = eval(input("請輸入一個整數:"))
if 0 <= num <= 100: # 判斷[0,100]
print("輸入整數在0到100之間(含)")
迴圈語句
- 迴圈語句是控制程式執行的一類重要語句,與分支語句控制程式執行類似,它的作用是根據判斷條件確定一段程式是否再次執行一次或者多次。迴圈語句包括遍歷迴圈和條件迴圈。
while (<條件>):
<語句塊1>
<語句塊2>
# 輸出10到100步長為3的全部整數
n = 10
while n < 100:
print(n, end=" ")
n = n + 3
5、基本輸入輸出函式
input()函式
- 獲得使用者輸入之前,input()函式可以包含一些提示性文字
<變數> = input(<提示性文字>)
>>>a = input("請輸入一個小數: ")
請輸入一個小數: 123.456
>>>print(a) # 此時a是字串"123.456"
123.456
eval() 函式
- eval(<字串>)函式是Python語言中一個十分重要的函式,它能夠以Python表示式的方式解析並執行字串,將返回結果輸出
>>>a = eval("1.2 + 3.4")
>>>print(a)
4.6
- eval()函式經常和input()函式一起使用,用來獲取使用者輸入的數字,使用方式如下:
<變數> = eval(input(<提示性文字>))
>>>value = eval(input("請輸入要計算的數值: ")) 請輸入要計算的數值: 1024.256 >>>print(value*2)
2047.512
print()函式
- print()函式用於輸出運算結果,根據輸出內容的不同,有三種用法。
- 第一種,僅用於輸出字串,使用方式如下:
print(<待輸出字串>)
>>> print("你好,來自江南的你")
你好,來自江南的你
- 第二種,僅用於輸出一個或多個變數,使用方式如下:
print(<變數1>, <變數2>,…, <變數n>)
>>>value = 123.456
>>>print(value, value, value)
123.456 123.456 123.456
- 第三種,用於混合輸出字串與變數值,使用方式如下:
print(<輸出字串模板>.format(<變數1>, <變數2>,…, <變數n>))
>>>a, b = 123.456, 1024
>>>print("數字{}和數字{}的乘積是{}".format(a, b, a*b))
數字123.456和數字1024的乘積是126417.944
- 對print()函式的end引數進行賦值
print(<待輸出內容>, end="<增加的輸出結尾>")
>>>a = 24
>>>print(a, end=".")
24.
>>>print(a, end="%")
24%
6、例項解析:倒背如流
例項解析
- 計算機程式是機械記憶的高手,下面將編寫一段程式,獲得使用者輸入,採用倒敘方式將輸入內容輸出出來。該程式的輸入和輸出例項如下:
- 輸入:To be or not to be, that’s a question. ——莎士比亞
- 輸出:亞比士莎—— .noitseuq a s’taht ,eb ot tonro eb oT
- 以下給出了一種實現,採用正向遞增序號,利用len()函式將i設為最後一個字元的索引序號,然後逐次輸出至第一個字元。
s = input("請輸入一段文字:")
i = len(s) - 1
while i >= 0 :
print(s[i], end="")
i = i - 1
- 給出另一種實現,採用反向遞減序號,將i首先設定為-1,直接索引最後一個字元,然後逐次輸出至第一個字元。
s = input("請輸入一段文字:")
i = -1
while i >= -1 * len(s):
print(s[i], end="")
i = i - 1
本章小結
本章具體講解了初學Python需要知道的一些基本概念,初步介紹了Python基本語法元素,講解了程式的格式框架、語法元素的名稱、資料型別、程式的語句元素、基本輸入輸出函式等內容,進一步給出了Python源程式書寫風格的思考和建議,幫助讀者初步建立編寫優美程式
的基本觀念。最後,講解了“倒背如流”例項,通過完成將一段輸入文字倒序輸出的功能理解並實踐Python基本語法元素。
Python程式說它可以倒背如流,人類的你要不要默寫一下保留字來試試?