老男孩第十四期Python學習班之Day05
阿新 • • 發佈:2020-10-09
一、小雞湯
推薦各種電影 — —!大概有20幾部。
二、ATM作業分析
設計思想 —— 解耦
三、定義
模組的定義:用來從邏輯上組織python程式碼(變數、函式、類、邏輯:實現一個功能)。本質就是一個*.py檔案。
包的定義:用邏輯上組織模組,本質是一個目錄(必須帶有一個__init__.py的檔案)
四、模組的匯入
- import module_name # 呼叫時,module_name.func()
- import module_name1, module_name2
- from module_name import * # 匯入模組下所有程式碼,呼叫時不再用module_name.func()
- from module_name import say_hello # 匯入模組中的say_hello方法。呼叫時say_hello()
- from module_name import func1, func2, func3 # 多個匯入
- module_name import say_hello as m1_sayhello # 呼叫時m1_sayhello()。 as 別名。
五、import的本質(路徑搜尋,搜尋路徑)
本質:就是把python檔案解釋一遍。
匯入包的本質:就是執行包裡面的 __init__.py 檔案
六、優化
儘量使用from xx import xxx的方式,這樣不會多次查詢。
七、模組的分類
- 標準庫
- 第三方模組
- 自定義模組
八、標準庫
1、time與datetime:表示是時間的方式:1、時間戳;2、格式化;3、元祖(struct_time)九個元素。
2、random
3、os
4、sys
5、shutil
6、json與pickle
用於序列化的兩個模組
- json,用於字串 和 python資料型別間進行轉換
- pickle,用於python特有的型別 和 python的資料型別間進行轉換
Json模組提供了四個功能:dumps、dump、loads、load
pickle模組提供了四個功能:dumps、dump、loads、load
7、shelve
8、XML
9、ConfigParser
10、hashlib
11、re
作業:
開發一個簡單的python計算器
- 實現加減乘除及拓號優先順序解析
- 使用者輸入1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )等類似公式後,必須自己解析裡面的(),+,-,*,/符號和公式(不能呼叫eval等類似功能偷懶實現),運算後得出結果,結果必須與真實的計算器所得出的結果一致
轉載於:https://my.oschina.net/asktao/blog/820589