
推導式:一句話構建數據結構推導式是極具特色的“語法糖”用一行代碼創建列表、字典、集合的簡潔語法?它能替代多行循環讓代碼更簡潔高效輸入源range list tuple set dict輸出源list tuple set dict推導式格式表達式 for 變量 in 輸入源 if 條件表達式 for 變量 in 輸入源 if 條件 for 變量 in 輸入源 if 條件嵌套內容拓展列表(list)推導式[表達式 for 變量 in 輸入源 if 條件]集合set推導式{表達式 for 變量 in 輸入源 if 條件}字典(dict)推導式{k_表達式: v_表達式 for 變量 in 輸入源 if 條件}元組tuple推導式表達式 for 變量 in 輸入源 if 條件函數一次定義多次調用定義def function_name(arg1, arg2default,*/**arg3):#位置 默認 不定長元組/字典封裝代碼塊調用function_nameargreturn 返回值 如果函數內部沒有顯示寫return寫返回值 那函數的返回值為Nonereturn 不加返回值 結束當前函數 停止函數 一般會放在一個邏輯結構的最后一行函數參數順序1. 位置參數 默認參數順序位置參數 → 默認參數2. 位置參數不定長參數順序:位置參數 → 不定長位置參數3. 默認參數不定長參數順序位置參數 → 默認參數 → *args不定長位置參數值傳遞與引用傳遞值傳遞: 傳遞的是數值適用于實參類型為不可變類型 (int,float,bool,str,tuple)引用傳遞: 傳遞的是地址適用于實參類型為可變類型 (list,set,dict,class)值傳遞用于保護原始數據不被意外更改引用傳遞原地修改實現高效的數據共享?主函數程序入口if name main: mainenter案例ATM自動提款機文件操作File文件 Output 寫# 安全寫出到文本文件內容with open(d:\\data.txt,modew,encodingutf-8)as f: #af.write(content\n)f.write(content\n)# 自動釋放資源無需手動 f.close()file 文件input讀# 安全讀取文本文件內容with open(d:\\data.txt,moder,encodingutf-8)as f:content f.read()#全文 strreadline str# content f.readlines() #所有行listprint(content)# 自動釋放資源無需手動 f.close()with 語句上下文管理器可自動接管文件資源的生命周期。無論代碼是否正常執行或中途拋出異常系統都會自動調用 close() 方法釋放資源python中的庫分類 標準庫 擴展庫 自定義庫在python中 使用 import 或者 from ...import 來導入相應的庫import csv #其文件以純文本形式存儲表格數據 寫入磁盤后數據會長期保留 具備永久化存儲的物理能力csv.reader(file)逐行讀 list[str]適用于無表頭?csv.writer(file)?:列表形式寫支持 單行 多行writerow(row)單行writerows(rows)多行。?csv.DictReader(file)?字典形式讀鍵為列名(默認首行即字段名支持按列名訪問?csv.DictWriter(file, fieldnames)??字典形式寫需指定 fieldnames支持writeheader()寫表頭writerow() / writerows()(寫行)異常程序崩潰采用 try-except-finally 結構建立“安全網”。將可能引發錯誤的業務代碼放入 try 塊針對性捕獲特定異常并利用 finally 確保關鍵的清理工作如關閉網絡連接總能執行。try:num int(input(請輸入整數: ))error100/numprint(ok)except ValueError:print您輸入的不是數字請再次嘗試輸入)except ZeroDivisionError:print(除數不能為零except Exception as e:print未知錯誤finally:一定執行的代碼自定義異常使用rasie語句拋出異常raise Exception“提示”num1int(input(請輸入整數))if num1 % 100 ! 0 or num10:raise exception(必須是100的倍數 且 必須不能是負數)面向對象面向對象是一種軟件開發方法核心是把現實事物抽象成“對象”通過對象之間的交互來解決問題類是抽象的定義了對象共有的屬性和行為而對象是具體的是類的實例化產物 先有類 才有對象三大核心特征封裝、繼承、多態面向過程采購-備菜-點單-烹飪-上菜-結賬面向對象采購廚師-備菜廚師-點單服務員-烹飪廚師-上菜服務員-結賬服務員類 功能封裝對象功能使用類 功能封裝封裝封裝是一種將數據和操作數據的方法函數結合在一起形成一個獨立的對象的概念。封裝有助于保護數據不被外部代碼直接訪問和修改同時提供了一種方法來控制對這些數據的訪問屬性靜態特征 類似變量存儲數據方法動態特征 類似函數封裝功能構造方法(魔法方法 /魔術方法)創建對象 初始化對象的成員 為屬性賦值如果不顯示聲明構造方法 那么 系統會自動提供一個無參構造 方便用戶創建對象如果顯示的聲明了構造方法 那么系統將不會繼續提供無參構造創建對象格式對象名類名()存值 取值調用屬性對象名.屬性名變量名值對象名.屬性名調用方法 函數對象名.函數名/方法名繼承建立類之間的層級關系子類自動獲取父類的屬性和方法實現代碼復用提高開發效率父類的 給予 子類的 一種獲取繼承格式子類繼承指定繼承父類父類將子類中共有的一些屬性和方法抽取出來放到一個公共的位置多態前提 1.必須要有繼承關系2.必須要子類重寫父類的方法同一操作作用于不同對象產生不同的執行結果。不修改原有代碼即可擴展功能增強了程序的靈活性多態主要通過繼承和函數重載/重寫方法重寫來實現time / datetime 模塊python 中 處理日期和時間的標準庫模塊time 模塊 偏向底層適合簡單的計時、延遲操作以及時間戳與結構化時間的轉換。datetime 模塊面向對象提供更高級的日期計算、格式化和時區處理功能是日常開發中處理業務邏輯的首選。timet1time.localtime() #結構化時間字符串與time 互轉格式化字符串 -時間?strptime (string parse time)#2026-06-10 日期格式轉字符str1time.strptime(str, %Y-%m-%d %H:%M:%S)時間 - 字符串?strftime (string format time)t2time.strftime(%Y-%m-%d,t1)t1datetime.datetime.now() #獲取當前時間datetimenow datetime.now()字符串 -時間?strptime (string parse time)datetime.datetime.strptime(str1, %Y-%m-%d %H:%M:%S)時間 - 字符串?strftime (string format time)datetime.datetime.strftime(dt1, %Y-%m-%d)