Python 全棧 191 問(附答案)
- 2020 年 4 月 3 日
- 筆記
作為程式設計師,你的電腦里、書架上,一定少不了 Python 的資料和課程。免費的電子書,花錢買的課,實體書籍…
現在想一下,你真正從中學到多少:
- 正則會用了嗎?
__getitem__
用過嗎?callable
對象怎麼實現的?- 還在覺得
yield
可有可無嗎? - 還覺得
裝飾器
與你沒有毛關係嗎? NumPy
的多維數組reshape 成這個形、那個形,怎麼做到的啊?Pandas
的isin
,set_index
,reindex
使用過嗎?EDA
搞幾張花哨的圖形就完事了嗎?如何思考、如何分析、思維方法呢?pivot_table
,crosstab
是擺設嗎?- 離散、連續事件的期望等於求和、求積分,體會到重要性了嗎?
- 機器學習調調包,越來越心虛,可是演算法那些數學公式看到就頭大,怎麼辦?放棄它?跳過它?改行?
- 神經網路能擬合任意函數,奧妙在哪裡?這有多神秘?
- …
影響事物發展的機理永遠都在裡面,在表層靠下一點,比別多人多想一點。有沒有能完整回答上面問題,教人以漁的教材。我推薦好朋友例子君寫的:
《Python 全棧 60 天精通之路》
這個專欄 Day1~ Day38 就已經完整解決下面的 191 個問題,Day39~Day61 精彩繼續… 而現在訂閱它只需七折,49 元.
- 什麼是動態語言?
- Python 常用的兩個命名規則?
- 說說 Python 的縮進原則
- 說出幾個 Python 關鍵字
- 運算符 //,運算符 ** ,運算符 := 完成何操作?
- 十六進位的整數前綴?
- 列舉幾個容器對象
- join 方法使用舉例
- 正則表達式 [da-zA-Z]表示什麼含義?
- dir() 的含義
- 列舉幾個魔法方法
- @property 使用舉例
- 什麼是可變 (mutable) 容器? 舉三個例子
- list 的 append 和 insert 有何區別?
- list 的 pop 方法作用?
- list 的 copy() 方法功能
- Python 中如何實現深拷貝?
- 列表 a,切片 a[:-1] 實現什麼功能?,a[::-1] 又實現什麼功能?
- 列表 a, 切片 a[1:5:2] 實現什麼功能?
- (1) 是元組嗎?(1,) 是什麼類型?
- 元組能增刪元素嗎?
- 怎麼判斷 list 內有無重複元素?
- 列表如何反轉?
- 如何找出列表中的所有重複元素?
- 如何使用列表創建出斐波那契數列?使用 yield 又怎麼創建 ?
- 找出列表中出鏡最多的元素,可能有多個
- a = [1,2,3,4,5],如何一行程式碼返回:[(1,2),(2,3),(3,4),(4,5)]
- sample 函數實現何功能?
- shuffle 函數實現什麼功能?
- uniform 函數實現什麼功能?
- 說說你知道的創建字典的幾種方法?
- 字典視圖是什麼?
- 所有對象都能作為字典的鍵嗎?
- 集合內的元素可以為任意類型嗎?
- 什麼是可哈希類型?舉幾個例子
- 求集合的並集、差集、交集、子集的方法?
- 怎麼找出字典的最大鍵?
- 如何求出字典的最大值?
- 如何快速判斷一個字元串中所有字元是否唯一?
- 給定 n 個集合,如何使用 max 函數求出包含元素最多的集合?
- 找出字典前 n 個最大值對應的鍵
- 怎麼一行程式碼合併兩個字典?
- 怎麼理解函數原型 max(iterable,*[, key, default]) ?
- max 函數的 key 參數怎麼使用,舉例說明
- divmod 函數返回值?
- id 函數返回什麼類型的對象?
- all, any 函數各自實現何功能?
- 十進位轉二進位,轉十六進位的函數各叫什麼?
- 什麼是函數作用域的 LEGB 規則 ?
- range(1,10,3) 返回一個什麼樣的迭代器?
- zip 函數能實現功能?
- 如何動態地刪除類上的某個屬性?
- 又如何判斷類上是否有某個屬性?
- super 函數使用舉例
- callable 函數實現功能,舉個例子
- 字元串I_love_python 使用哪個函數返回 ['I', 'love', 'python'] ?
- strip() 方法實現什麼功能?
- 正則方法 match 與 search 有何不同?
- 如何使用正則表達式,匹配浮點數?
- 使用正則表達式,如何匹配出正整數?
- re.sub(r'd+', '666',"hello 12345, hello 456321"),返回的字元串
- 說說貪心捕獲和非貪心捕獲的區別?
- 文件讀寫操作,常見的亂碼問題,怎麼解決?
- 文件讀寫模式 r, w, a 分別指什麼?
- os.path.split('./data/py/test.py'),返回值是什麼?
- 如何優雅地提取文件後綴?
- 使用 Python ,如何重命名某個文件?
- 關於文件壓縮、加密,在專欄會涉及到。
- time 模組,time.local_time() 返回值是什麼?對象的類型是?
- 如何格式化時間字元串?'2020-02-22 11:19:19' 對應的時間格式串是 '%Y-%M-%d %H:%m:%S' ,正確嗎?
- 列舉 datetime 模組中的四個類?
- 使用 datetime 模組,列印出當前時間,顯示格式:yyyy年-mm月-dd日 HH:mm:ss
- datetime.strptime('2020-02-22 15:12:33','%Y-%m-%d %H:%M:%S') 實現什麼功能?
- 如何計算出還有幾天是女朋友生日?
- 如何繪製出年、月的日曆圖?
- 如何使用 Python 提供的函數快速判斷是否為閏年?
- 如何獲取月的第一天、最後一天、月有幾天?
- 介紹 Python 四種常用的開發環境
- 說說Python 包安裝常見問題及總結
- 說說Web, 爬蟲,打包的常用工具包
- 聊聊數據分析、機器學習和深度學習的常用框架
- PyInstaller 打包的完整過程
- 使用列表生成式,如何得到12 個隨機數
- for , if 和列表生成式結合,碰撞出哪些火花?
- zip 和列表生成式
- 列表生成式實現篩選分組,函數分組等更多實用案例
- 關鍵字 is 的功能是什麼?
- 對於自定義類型,判斷成員是否位於序列類型中,怎麼做?
- 使用 == 判斷對象的相等性,需要區分哪些情況?編碼實現:對象的 user_id 相等,則認為對象相等
- yield 理解從哪四個方面入手?
- 函數帶有 yield 便是生成器,那麼它還是迭代器嗎?
- yield 和 send 碰撞出哪些火花?
- yield 使用舉例
- 關鍵詞 nonlocal常用於函數嵌套中,實現什麼作用?
- global 關鍵字在哪些場景發揮重要作用
- Python 函數的五類參數都指哪些?
- 如何區分參數是位置參數還是關鍵字參數?
- f(*a,**b) 可變位置參數,可變關鍵字參數怎麼傳參?
- 參數傳遞常見的以下 3 個異常,怎麼理解?
- SyntaxError: positional argument follows keyword argument
- TypeError: f() got an unexpected keyword argument 'a'
- TypeError: f() takes 0 positional arguments but 1 was given
- 函數參數傳遞的 6 個規則都在專欄中做了詳細總結
- sorted 函數用法解析
- filter 函數用法舉例
- map 函數使用技巧
- reduce 函數用法及注意事項
- 迭代器協議之 iter 和 next 方法
- Python 的枚舉對象
- 如何感性認識多執行緒?
- Python 中如何創建執行緒,以及多執行緒中的資源競爭及暴露出的問題
- 多執行緒雞肋和高效的協程機制的相關案例
- 列表和迭代器有何區別?
- 如何拼接多個迭代器,形成一個更大的可迭代對象?
- 通過累積迭代器、漏斗迭代器、克隆迭代器,徹底弄明白迭代器和生成器
- 如何遍歷整個目錄與子目錄,抓取 .py 文件
- 單機 4 G 記憶體,如何處理 10 G 文件?
- lambda 函數的形參和返回值使用案例
- 多用 NamedTuple ,讓程式碼更可讀
- Counter 計數的功能非常好用
- 使用 DefaultDict 自動創建一個被初始化的字典
- 使用裝飾器太魔幻,始終不知道怎麼使用,該怎麼淺顯易懂的攻破?
- 裝飾器都用在哪裡,可否舉幾個例子?
- wraps 裝飾器確保函數被裝飾後名稱不改變
- 寫個裝飾器統計出某個異常重複出現到指定次數時,歷經的時長。
- Python 的列表與快速實現元素之坑
- 刪除列表的元素,O(1) 空間複雜度如何做到?
- 函數的參數默認為 [], 會出現哪些奇特的問題?
- {} 和 () 創建對象之坑
- Python 解包帶來哪些方便?
- OOP 編程,魔術方法 getattr 和 setattr 怎麼使用?注意事項有哪些?
- OOP 編程,對象的中括弧訪問機制,怎麼實現的?魔術方法 __getitem__幫助實現
- Python 的 API 文檔中,經常看到 array-like 之類的辭彙,這背後是 Python 的鴨子類型,該如何理解?
- Python 界的領袖 Tim Peters 說過:「元類就是深度的魔法,99%的用戶應該根本不必為此操心。」 作為程式設計師,相信還是很好奇元類,那麼元類的必知知識都有哪些?
- 開放的服務或 API, 被其他系統調用,怎能不掌握 Python 對象的序列化知識呢!
- 除了 print, print, 我們還應該掌握 logging 模組,它的設計理念又是怎樣的。換位思考,日誌管理模組設計者會考慮哪些日誌管理問題?
- 作為程式設計師,使用什麼工具和方法繪製出框架目錄結構圖?
- Flask 模板引擎 jinja2 基本使用介紹
- Flask 註冊藍本、路由處理函數、前端 html + css + javascript 必知知識介紹
- 實戰 Flask 前後端項目:帶自動提升優先順序的計算器
- Python 已經提供了很多豐富的內置包,我們為什麼還要學習 NumPy 呢?NumPy 數值計算:更快,案例解讀
- 5 種創建 NumPy 數組的常用方法
- arange, linspace, logspace, diag, zeros, ones, np.random 一體化介紹
- NumPy 索引和選擇功能強大,不僅支援切片操作,還支援布爾型按條件篩選操作。
- 使用 NumPy 創建一個 [3,5] 所有元素為 True 的數組
- 數組所有奇數替換為 -1; 提取出數組中所有奇數
- 求 2 個 NumPy 數組的交集、差集
- NumPy 二維數組交換 2 列,反轉行,如何實現?
- NumPy 的靈魂:shape 與 reshape,提供直觀的 6 幅圖理解,其中一幅:
- 線性代數中,矩陣的乘法操作在 NumPy 中怎麼實現?
- NumPy 實現統計學的描述性變數:求平均值、標準差、方差、最大值、求和、累乘、累和。
- 總結 NumPy 常用的方法:flatten, newaxis, repeat, tile, vstack, hstack, concatenate, c_, argmax, argmin
- NumPy 使用方便的訣竅:廣播規則,那麼廣播規則的規律如何總結?
- 手動實現案例:實踐廣播規則,加深印象
- 藉助 NumPy 的 vectorize 實現 Python 的向量化操作例子
- 使用 NumPy, 求神經網路的 softmax 層的概率得分值
- 使用 NumPy 求兩個特徵的相關係數
- 如何找出 NumPy 中的缺失值、以及缺失值的默認填充
- Pandas 的 read_csv 30 個常用參數總結,從基本參數、通用解析參數、空值處理、時間處理、分塊讀入、格式和壓縮等 5 個方面總結
- Pandas 兩大核心數據結構:Series 和 DataFrame 的增加、刪除、修改和訪問
- Pandas 更加強大的索引訪問機制總結
- Pandas 的 iterrows, itertuples 性能比較
- set_index, reset_index, reindex 使用總結
- 數據預覽操作:info 和 describe 使用總結
- Pandas 數據 null 值檢查
- 空值補全,使用列的平均值、中位數、眾數填充。
- Pandas 做特徵工程之 刪除列
- Pandas 增加特徵列的方法
- Pandas 使用 cut, qcut, ChiMerge 演算法做分項總結
- LabelEncoder 編碼和 get_dummies 方法總結
- Pandas 的 melt 將寬 DataFrame 透視為長 DataFrame 例子
- Pandas 的 pivot 和 pivot_table 透視使用案例
- Pandas 的 crosstab 頻次透視函數使用例子
- 給定兩個 DataFrame,它們至少存在一個名稱相同的列,如何連接兩個表?使用merge 函數連接兩個 DataFrame,連接方式共有 4 種,分別為:left, right, inner,outer. 如何區分這 4 種連接關係
- Kaggle 數據集 EDA 實戰,總結單變數分析的思維模式
- Kaggle 數據集 EDA 實戰,雙變數分析的思維模式,使用 pivot_table, groupby, matplotlib, seaborn 繪製 barplot圖, catplot 圖,pairplot 圖
- 分類型變數處理技巧總結
- 讀取時抽樣 1% 樣本的處理技巧
- 與時間序列相關的問題,平時挺常見。如何用 Pandas 快速生成時間序列數據?
- Pandas 使用 apply(type) 做類型檢查
- Pandas 使用標籤和位置選擇數據的技巧
- 一個快速清洗數據的小技巧,在某列上使用 replace 方法和正則,快速完成值的清洗。
- 分類中出現次數較少的值,如何統一歸為 others,該怎麼做到?
- 某些場景需要重新排序 DataFrame 的列,該如何做到?
- 步長為小時的時間序列數據,有沒有小技巧,快速完成下取樣,採集成按天的數據呢?
- DataFrame 上快速對某些列展開特徵工程,使用 map 如何做到?
- Pandas 結合使用 where 和 isin 搞點事情,加快處理效率
- Matplotlib 的幾大繪圖相關的核心對象,對象間的邏輯關係總結
- Matplotlib 繪圖分為這 18 步:導入;數據;折線圖;線條顏色;線型;標題;x、y軸 label;文本;註解;顯示中文;雙 data;legend;網格;數據範圍;x 軸日期格式自適應;雙軸;雙圖或多圖排布;嵌入圖
- Pyecharts 快速入門第 1例
- Pyecharts 萬物皆 options,參數配置方法總結
- Pyecharts 中 y 軸靠右參數配置之道
- 14 步配置一個完美的柱狀圖
- Pyecharts 繪製的 10 類圖總結:儀錶盤;漏斗圖;日曆圖;圖;水球圖;餅圖;極坐標圖;詞雲圖;系列柱狀圖;熱力圖