我們用程序整理出了一份Python英語高頻辭彙表,拿走不謝!
來自專欄 Crossin的編程教室
有不少編程初學者會問這樣一個問題:我英語不好,還能不能學編程?會不會有影響?
我的回答是:能,會。
能學,是因為雖然編程用的都是英語,但翻來覆去就那麼一些關鍵字,寫一陣子就都記住了。中文的學習資料也不少,足夠學會。
但肯定會有影響,主要有幾點:
- 看不懂報錯信息
- 看不懂官方文檔,只能看別人翻譯的二手貨。翻譯版本不能準確傳達意思不說,很多前沿技術的版本更新速度也比翻譯的速度快多了。你看 Django 就從來沒有一個中文版本能跟上的。
- 看不懂 StackOverflow 上的問答
- 無法使用參與 Github 上的項目
- 沒法好好用 Google(當然這不僅是英語問題)
總結下來就是:可以學,但會吃力,尤其在更進一步提升時會有限制。而如果英語好,則事半功倍。
而英語本身的作用也不僅僅是對編程幫助。多花點時間學英語,哪怕僅僅多背一些單詞也是有用的。
於是,為了讓編程小白+英語苦手在開始時能有些方向,我們嘗試用程序整理了一份Python 高頻辭彙表,供參考。
網頁演示地址:Crossin的編程教室-Python必背單詞整理
扇貝單詞本(可導入你的扇貝單詞使用)和項目完整代碼及說明文檔、單詞列表,請在公眾號(Crossin的編程教室)回復 背單詞,獲取地址。
【關於這份辭彙表的說明】
內容來源包括
- 《Head First Python》、《Learn Python The Hard Way》、《Python for Data Analysis》等20多本Python書籍;
- Python 官方文檔、pandas、requests、django 等10份文檔;
- Github awesome-python 項目下近400個項目的 readme 說明;
- stackoverflow 下 Python 及常用庫的問答 topics 400+ 回答等資源。
通過程序從中採集了詞頻最高的單詞,再加上人工篩選,最終整理出近 2000 個單詞。
需要指出的是,單詞的中文釋義我們使用了金山的翻譯介面。但某些辭彙在計算機和編程領域有特殊的含義,翻譯介面未必能夠給出,所以會存在一定的問題。對此,我們在自建的網頁版工具上提供了「用戶自定義解釋」的介面,供大家修正和補充解釋。如果遇到解釋不到位的單詞,歡迎各位提交補充。(但扇貝上已提交的單詞本暫無法修改釋義)
【程序的實現方法 】
1. 文檔抓取
4 個不同渠道來源,通過 requests + BeautifulSoup 實現。
2. 詞頻統計
用到了之前提過的 Counter 類。可參考 【編程課堂】計數器 Counter
import refrom collections import Counter# 打開文件,讀取數據with open(filename, r, encoding=utf-8) as f: raw_words = f.read()# 正則匹配所有單詞words = re.findall([a-z]+, raw_words.lower())# 統計單詞c = Counter(words)# 提取出前詞頻前 100 的單詞c.most_common(100)
3. 翻譯介面
使用了金山的API。
import requests# 請求APIurl = http://www.iciba.com/index.php?a=getWordMean&c=search&word= + wordreq = requests.get(url)# 處理返回的JSON數據info = req.json()data = info[baesInfo][symbols][0]means = data[parts][0][means]
4. 網站展示
網站基於 django 搭建。數據的導入使用了 peewee 庫,直接與 django 的 ORM 對接。
網頁演示地址:Crossin的編程教室-Python必背單詞整理
完整的代碼和更詳細說明可在 Github 的項目中查看。
在公眾號回復 背單詞,可獲取扇貝單詞本地址和項目完整代碼、單詞表及說明文檔。
════
其他文章及回答:如何自學Python | 新手引導 | 精選Python問答
歡迎關註:Crossin的編程教室
推薦閱讀: