1. 程式人生 > >1.2 Python基本程式設計解析(上)

1.2 Python基本程式設計解析(上)

1. 程式的格式框架

“冒號+縮排”:Python語法功能的一部分,表達程式碼的所屬關係

  • 分支語句:if-elif-else
  • 迴圈語句:for, while
  • 異常處理:try-except-else-finally
  • 函式定義:def
  • 類定義:class
    • 冒號+縮排是語法的一部分,縮排不正確程式執行錯誤
    • 冒號+縮排是表達程式碼間包含和層次關係的唯一方式
    • 只需要所有縮排長度一致即可,可採用N個空格或Tab,建議4個空格

註釋:程式中的輔助性說明資訊

  • 單行註釋:#開始
  • 多行註釋:一對’’’

續行符:Python程式跨行書寫的表示符號

  • 續行符後不能存在空格
  • 續行符後必須直接換行

2. 命名和保留字

變數:程式中用於儲存和表示資料的站位符號

  • 變數的使用無需定義,可以直接使用
  • 變數的賦值:使用等號為變數賦值
s = 0
for i in range(10):
    s += i
print(s)

命名:設定標示符的過程,用於變數、函式、類名等

  • Python3使用Unicode編碼,因此,可以支援中文等非西文符號
  • 命名採用大小寫字母、數字、下劃線和中文等字元組成
  • 大小寫敏感、首字元不能是數字、不與保留字相同
  • 注意:
    • 部分_*__*形式的名字被留作系統功能使用,建議不這樣命名

保留字:被程式語言內部定義並保留使用的標示符,共33+2個

3. 資料型別

Python語言包括9種基本資料型別

  • 數字型別:整數、浮點數、複數
  • 位元組型別:字串、位元組串
  • 組合型別:集合、元組、列表、字典

3.1 數字型別

整數型別

  • 與數學中整數含義相同,無取值範圍
  • 整數包括二進位制、八進位制、十進位制、十六進位制等4種形式
  • 如:0b1010 = 0o12 = 10 = 0xa

浮點數型別

  • 與數學中的實數含義相同,帶有小數及小數的數字,存在取值範圍
  • 浮點數包括常規方法和科學計數法2種方法表示
  • 如:0.0043 = 4.3e-3

複數型別

  • 與數學中的複數含義相同
  • z = a + bj, a是實部,b是虛部,a和b都是浮點數
  • z.real獲得z的實部,z.imag獲得z的虛部

3.2 位元組型別

字串型別

  • 由0個或多個字元組成的有序字元序列
  • 字串由一對單引號或一對雙引號表示,如"字串"或’字串’
  • 字串是字元的有序序列,可以用序號訪問,如"字串"[1] = “符”
  • 索引:s[N]通過序號獲取單個字元
  • 切片:s[N:M]獲取N到M(不含)子串

位元組串

  • 由0個或多個位元組組成的有序序列,每位元組對應值為0-255
  • 位元組串由前導符b或B與一對單引號或雙引號表示,如:b"a\xf6"
  • 0-255間非可列印字元用\xNN方式表示,N是一個十六進位制字元

3.3 組合型別

集合型別

  • 多個元素的無序組合
  • 集合使用大括號{}表示,元素間用逗號分隔,建立非集合使用{}或set()函式
  • 如:A = {“python”,123,“Java”,(“language”,6)}

元組型別

  • 序列型別的一種,元素間的有序組合,一旦建立不能被修改
  • 元組使用小括號()表示,元素間使用逗號分隔,小括號可以省略
  • 如:rgbcolor = 211,11,125

列表型別

  • 序列型別的一種,元素間的有序組合,型別不限,建立後可以隨時被修改
  • 列表使用中括號[]表示,元素間用逗號分隔,括號不可省略
  • 如:ls = [“my”,“dictionary”,500]

字典型別

  • 字典型別是鍵值對的集合,反映了資料之間的對映關係
  • 字典使用大括號{}表示,鍵值間用冒號分隔,鍵值對間用逗號分隔
  • 如:d = {“中國”:“北京”,“美國”:“華盛頓”,“法國”:“巴黎”}

4. 賦值與分支語句

4.1 賦值語句:給變數賦予新資料值的過程

  • 賦值語句以等號(=)為標誌,運算=右側值賦予左側,同時賦值資料型別
  • 如:C = (100-32)/ 1.8, 運算後C的值為37.7777777777777778

同步賦值語句:同時給多個變數賦值的過程

<變數1>,<變數2>,…,<變數N>=<表示式1>,<表示式2>,…,<表示式N>

  • 同時賦值,可用於交換變數值
x = 99
y = 11
x,y = y,x
print(x,y)

輸出結果為:
11 99

4.2 分支語句:單分支、二分分支、多分支

  • 分支語句使用保留字:if,elif,else

單分支:僅適用if的分支語句

if <條件>:
    <語句塊>
guess = eval(input())
if guess == 99:
    print("猜對了")
99
猜對了

二分支:使用if-else的分支語句

if <條件>:
    <語句塊1>
else:
    <語句塊2>
guess = eval(input())
if guess == 99:
    print("猜對了")
else:
    print("猜錯了")
87
猜錯了

多分支:使用if-elif-else的分支語句

if <條件1>:
    <語句塊1>
elif <條件2>:
    <語句塊2>
    ...
else:
    <語句塊N>

5. Python程式的輸入輸出

5.1 輸入

輸入函式input():從控制檯獲得使用者輸入

<變數> = input(<提示性資訊>)
  • <變數>為字串型別
  • <提示性資訊>為字串資訊,可省略

5.2 輸出

輸出函式print():以字元形式向控制檯輸出結果

print(<擬輸出字串或字串變數>)
# print()用法1:將單一字串或變數直接輸出
echo = "這是一個字串"
print(echo)
print("這是一個字串")
這是一個字串
這是一個字串
# print()用法2:將多個字串或變數直接輸出
echo1 = "字串A"
echo2 = "字串B"
print(echo1, echo2)
字串A 字串B
# print()用法3:字串和變數混合輸出
echo = "A"
print("這是變數{}的輸出".format(echo))
這是變數A的輸出
# 回聲程式:最短的輸入輸出程式
print(input())
Hello!
Hello!