1. 程式人生 > >全國計算機等級考試二級教程--python語言程式設計(2018年版)第二章:PYthon語言基本語法元素

全國計算機等級考試二級教程--python語言程式設計(2018年版)第二章:PYthon語言基本語法元素

宣告:本篇文章只是個人知識盲區、知識弱點、重點部分的歸納總結,望各位大佬不喜勿噴。梳理順序是按照書籍的實際順序梳理,轉載請註明出處。

作者:sumjess

 

一、程式的格式框架:

1、縮排

     縮排指每行語句開始前的空白區域,用來表示python程式間的縮排關係。一般程式碼不需要縮排,直接頂行編寫即可且不留空白。當表示分支、迴圈、函式、類等程式含義時,在if、while、for、def、class等保留字所在完整語句後通過英文冒號(:)結尾並在之後進行縮排,表明後續程式碼與緊鄰無縮排語句的所屬關係

     程式碼編寫中,縮排可以用Tab鍵實現,也可以用多個空格(一般是4個空格)實現,但不建議混用。建議採用4個空格方式書寫程式碼

☆如果python執行程式時產生“unexpected indent”錯誤,則代表出現縮排不匹配現象。

2、註釋

     python語言採用“#”表示一行註釋的開始。

     多行註釋是用三個單引號'''   '''或者三個雙引號"""   """

     註釋語句將被直譯器過濾掉,不被執行。

二、語法元素的名稱:

1、變數:Python語言中,變數可以隨時命名、隨時賦值、隨時使用

2、命名:

      給變數或其他程式元素關聯名稱或識別符號的過程稱為命名。

      python採用的是大寫字母、小寫字母、數字、下劃線、漢字等字元及其組合進行命名,但名字的首字元不能是數字,識別符號中間不能出現空格,長度沒有限制。

      注意:python對大小寫字母敏感。一般來說,不建議使用中文等非英文語言字元對變數命名。識別符號名字不能與python保留字相同標點符號也要使用英文標號。

3、保留字:

     保留字也稱關鍵字,指被程式語言內部定義並保留使用的識別符號。編寫程式不能命名與保留字相同的識別符號

 

三、資料型別:

1、資料型別概述:

      python語言支援多種資料型別,最簡單的包括:數字型別、字串型別,複雜點的包括:元組型別、集合型別、列表型別、字典型別等。

2、數字型別:

     (1)表示數字或數值的資料型別成為數字型別。

     (2)python語言提供三種數字型別:整數、浮點數、複數

     (3)一個整數值可以表示為十進位制、八進位制、四進位制、十六進位制等。

3、字串型別:

    (1) 在python語言中採用一對雙引號“”或單引號‘’括起來一個或多個字元來表示。其中,雙引號、單引號作用相同

    (2) 作為字元序列,字串可以對其中單個字元或字元片段進行索引。字串包括兩種序列體系:正向遞增序號和反向遞減序號

    (3) 如果字串長度為L正向遞增需要以最左側字元序號為0向右依次遞增最右側字元序號為,L-1反向遞減序號以最右側字元序號為-1向左依次遞減最左側字元序號為-L。這兩種索引可以同時使用。

    (4) 可以採用[N:M]格式獲取字串的子串,這個操作被形象的稱為“切片”。[N:M]獲取字串中從N到M(但不包括M)間連續的子字串,其中,N和M為字串的索引序號,可以混合使用正向遞增序號和反向遞減序號。

  (5) 可以通過python預設提供的len()函式獲取字串長度一箇中文字元和一個西文字元的長度都記為1

四、程式的語句元素:

1、表示式:

   (1)運算結果的型別由操作符或運算子決定。

   (2)例子:

2、賦值語句:

   (1)基礎部分:略

   (2)同步賦值語句:同時給多個變數賦值

最常用的應用:互換變數的值。

3、引用:

 python程式會經常使用當前程式之外已有的功能程式碼,這個過程叫做引用。使用方式如下:

import<功能庫名稱>

引用功能庫之後,採用<功能庫名稱>.<函式名稱>()方式呼叫具體功能。

eg:

import turtle
turtle.fd(-200)
turtle.right(90)
turtle.circle(200)

4、其他語句:

   (1)分支語句:包括:單分支、二分支、多分支(if elif else)

           EG:

 

執行發現出錯:

格式不對

更改後:

num=eval(input("請輸入一個數字:"))
if num>100:
    print("大於100")
elif num>50:
    print("50-100之間")
elif num>20:
    print("20-50之間")
else :
    print("小於20")
    

   (2)迴圈語句:包括:遍歷迴圈和條件迴圈(for while)

           EG:

五、基本輸入輸出函式:

1、input函式:

   (1)input()函式是從控制檯獲得使用者的一行輸入,無論使用者輸入什麼內容input()函式都以字元型別返回結果

   (2)input()函式可以包含一些提示性文字,用來提示使用者,使用方式如下:    

            <變數>=input(<提示性文字>)

   (3)需要注意:無論使用者輸入的是字元或是數字,input()函式統一按照字串型別輸出。為了後續能夠操作使用者的輸入資訊,需要將輸入指定一個變數。

a=input("請輸入一個小數:")
print(a)

2、eval函式:

    (1)eval函式將去掉字串最外側的引號,並按照python語句方式執行去掉引號後的字元內容,使用方式如下:

             <變數>=eval(<字串>)   其中變數用來儲存對字串內容進行運算的結果。

    (2)當eval()函式處理字串“pybook”時,字串去掉兩個引號後,python語句將其解釋為一個變數,由於之前沒有定義過變數pybook,因此編譯器報錯。

             當eval()函式處理字串“’pybook’”時,字串去掉兩個引號後,內部還有一個引號,‘pybook’被解釋為字串

    (3)eval()函式經常和input()函式一起使用,用來獲取使用者的數字使用方式如下:

             <變數>=eval(input(<提示性文字>))

               EG:

3、print函式:

第一種:僅用於輸出字串:

第二種:僅用於輸出一個或多個變數:(注意:輸出後各變數之間都用一個空格分隔。)

第三種:用於混合輸出字串與變數值:

(1)輸出字串模板中採用{}表示一個槽的位置,每個槽位置對應.format()中的一個變數.(2)print()函式輸出文字時預設會在最後增加一個換行,如果不希望在最後增加這個換行,可以對print()函式的end引數進行賦值

使用方式:print(<待輸出內容>,end="<增加的輸出結尾>")

eg

六、例項:倒背如流:

s=input("請輸入一短文字")
i=-1
while i>=-1*len(s):
    print(s[i],end="")
    i=i-1

六、練習題答案:

1、

2、

3、

4、

總結:


f = 1.6
print("1.6直接整型輸出是           %d"%f,end="\n")
print("1.6利用浮點數的精度範圍輸出%.0f"%f)

#輸出

#1.6直接整型輸出是        1
#1.6利用浮點數的精度範圍輸出2
#結論

#直接變成整數輸出,尾數直接捨棄,

#而精度顯示是四捨五入的。

5、

 

補充一個函式range:

函式語法

range(start, stop[, step])

引數說明:

  • start: 計數從 start 開始。預設是從 0 開始。例如range(5)等價於range(0, 5);

  • stop: 計數到 stop 結束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5

  • step:步長,預設為1。例如:range(0, 5) 等價於 range(0, 5, 1)

例項

>>>range(10) # 從 0 開始到 10 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> range(1, 11) # 從 1 開始到 11 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> range(0, 30, 5) # 步長為 5 [0, 5, 10, 15, 20, 25]

>>> range(0, 10, 3) # 步長為 3 [0, 3, 6, 9]

>>> range(0, -10, -1) # 負數 [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

>>> range(0) []

>>> range(1, 0) []

6、注意:

(1)true不是python語言的保留字。True、False、None保留字中只有他們是大寫.

(2)x=y=1;賦值合法。

(3)python語言中用於輸入、轉換和輸出的函式分別是input()、eval()和print()

(4)分支語句包括三種:if、elif、else

 

歡迎大家指正批評!