1.2 Python基本程式設計解析(上)
阿新 • • 發佈:2019-01-07
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!