《python程式設計從入門到實踐》讀書實踐筆記
阿新 • • 發佈:2021-11-27
1 起步
1.1 搭建環境
1.1.1 Python 版本選擇
建議選3.6以上,python2的編碼非常混亂
1.1.2 安裝包下載
建議直接在官網下載,比如,2021/11/27最新的版本是3.10.0, https://www.python.org/downloads/release/python-3100/ 網頁下的 Windows installer (64-bit) 連結
特別說明的,有很多管理python和其依賴庫的平臺,如anaconda,不過對於初學者,其實不需要一步到位,很多時候用一個穩定的官方版本足夠應付大多數情況。
1.1.3 一些可能用的上的相關軟體
- Sublime Text
一款文字編輯器,可以執行程式,適合初學者 - PyCharm 社群版
不需要用專業版,社群辦能應對大部分任務
1.2 在不同作業系統上安裝環境
1.2.1 windows
- 檢查一下系統是否已經安裝了python
開啟cmd,輸入python - 安裝Sublime Text
1.2.2 macOS
1.2.3 Linux
1.3 執行helloworld程式
主要是使用sublime text,還比較輕量級,但是編譯貌似有點慢
2 變數和簡單資料型別
2.1 執行
2.2 變數
2.2.1 變數的命名和使用
2.3字串
2.3.1 str的方法來改變大小寫
2.3.2 字串能量
有另外一種格式化方式 f"{a} {b} {c}" ,等價於"{} {} {}".format(a, b, c) 等價於"%d %d %d" % (a, b, c)
2.3.3 製表符
2.3.4 刪除空白
str.lstrip()
str.rstrip()
str.strip()
2.4 數
x = 2 ** 5 # 乘方為**
x = 1000_0000 # 可以通過下劃線將數字分組, 等價於x = 10000000
x, y, z = 0, 0, 0 #可以同時給多個變數賦值比如
2.5 python之禪
3 列表
3.1 列表是什麼
3.1.1 訪問列表元素
3.1.2 索引從0開始, -1代表逆序第一個
3.1.3 使用列表中的各個值
3.2 列表元素的增刪改
3.2.1 修改
list[idx] = new_value
3.2.2 增加
list.append(value) # 末尾增加一個value list.insert(idx, value) 在索引idx處增加value,新value的索引為idx,原>=idx的value,idx++ list.expend(list) # 增加列表
3.2.3 刪除
del list[idx]
last_value = list.pop() # 一般用於取並刪除最後一個元素
idx_value = list.pop(idx) # 取並刪除索引為idx的元素
list.remove(value) # 刪除特定值的元素,注意,這隻會刪除第一個該值的元素
3.3 組織列表
3.3.1 永久排序
list.sort(reverse=False) # list將被永久排序
3.3.2 臨時排序
list_sorted = sorted(list)
3.3.3 逆序
list.reverse()
3.3.4 列表長度
len(list)
4 操作列表
4.1遍歷和for迴圈
for item in item_list:
print(item)
4.2 縮排
4.3 建立數值列表
4.3.1 range
for i in range(1,6): # range的右側是<,而非<=, 本例中不包含6
print(i)
4.3.2 用range產生list
start = 1
end = 11
step = 2
lst = list(range(start, end, step)) # 等價於for(i=start; i<end; i+=step)
print(lst)
4.3.3 列表統計
lst = [0, 1, 2, 3, 5, 5, 5, 9, 9]
max_num = max(lst) # 列表中的最大值
min_num = min(lst) # 列表中的最小值
sum_num = sum(lst) # 列表求和
value_count = lst.count(5) # 列表中數字5出現的次數,返回3
value_idx = lst.index(5) # 列表中數字5第一次出現的位置,返回4
value_count = lst.count(7) # 列表中數字7出現的次數,返回0
value_idx = lst.index(7) # 列表中數字7第一次出現的位置,報錯
4.4 使用列表的一部分
4.4.1 切片
stars = ['yangchaoyue', 'liuyifei', 'tongliya', 'zhouxingchi', 'wujing']
print(stars[0:3]) #同 idx = 0; idx < 3; idx++
print(stars[:3]) #同 idx = 0; idx < 3; idx++
print(stars[2:]) #同 idx = 2; idx < len(lst); idx++
print(stars[-2:]) #最後2個, idx=len(lst)-2; idx<len(lst); idx++
4.4.2 遍歷切片
4.4.3 複製列表
stars = ['yangchaoyue', 'liuyifei', 'tongliya', 'zhouxingchi', 'wujing']
stars_ptr = stars # 引用
stars_copy = stars[:] # 複製
stars.append('shenteng') # 修改了stars的內容
print(stars)
print(stars_ptr) # 引用
print(stars_copy) # 複製
4.5 元組
可以理解成不可寫的列表
dimensions = (720, 480, 3)
print(dimensions)
print(dimensions[2])
for dim in dimensions:
print(dim)
4.6 設定程式碼格式
PIP8指南
易於閱讀>易於編寫
縮排用空格替代
行長小於80字元,註釋行小於72字元