我們用程序整理出了一份Python英語高頻辭彙表,拿走不謝!

我們用程序整理出了一份Python英語高頻辭彙表,拿走不謝!

來自專欄 Crossin的編程教室

有不少編程初學者會問這樣一個問題:我英語不好,還能不能學編程?會不會有影響?

我的回答是:能,會。

能學,是因為雖然編程用的都是英語,但翻來覆去就那麼一些關鍵字,寫一陣子就都記住了。中文的學習資料也不少,足夠學會。

但肯定會有影響,主要有幾點:

  1. 看不懂報錯信息
  2. 看不懂官方文檔,只能看別人翻譯的二手貨。翻譯版本不能準確傳達意思不說,很多前沿技術的版本更新速度也比翻譯的速度快多了。你看 Django 就從來沒有一個中文版本能跟上的。
  3. 看不懂 StackOverflow 上的問答
  4. 無法使用參與 Github 上的項目
  5. 沒法好好用 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的編程教室


推薦閱讀:

TAG:Python | 背單詞 | 扇貝網 |