成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

我常用到的python庫(kù)

Yangyang / 1223人閱讀

摘要:的一大特色是其豐富的模塊,基本上只要你能想到的常見(jiàn)開(kāi)發(fā)需求,都能找到別人已經(jīng)實(shí)現(xiàn)的庫(kù)直接使用,或者相關(guān)的工具框架來(lái)輔助實(shí)現(xiàn)。我們編程教室在過(guò)去發(fā)表過(guò)數(shù)十個(gè)開(kāi)發(fā)案例,這些案例主要用到哪些庫(kù)呢今天就來(lái)統(tǒng)計(jì)一下,順便給大家整理及推薦常用的一些庫(kù)。

Python 的一大特色是其豐富的模塊,基本上只要你能想到的常見(jiàn)開(kāi)發(fā)需求,都能找到別人已經(jīng)實(shí)現(xiàn)的庫(kù)直接使用,或者相關(guān)的工具/框架來(lái)輔助實(shí)現(xiàn)。但這對(duì)于新手來(lái)說(shuō)也是一個(gè)問(wèn)題: 這么多庫(kù),我要從哪里學(xué)起?怎么才能記住這么多庫(kù)的用法?

對(duì)此我的建議:

不要把學(xué)習(xí)庫(kù)作為目標(biāo)。正確的學(xué)習(xí)邏輯是,去發(fā)掘可編程解決的需求,以實(shí)現(xiàn)功能為目標(biāo), 在開(kāi)發(fā)過(guò)程中去搜索去學(xué)習(xí)相關(guān)的庫(kù) 。否則你會(huì)陷在茫茫模塊之中失去方向。

不用去死記庫(kù)的用法,你也不可能記下來(lái)。 你需要了解的是查找和閱讀文檔的方法,以及常見(jiàn)的開(kāi)發(fā)模式 。所謂開(kāi)發(fā)經(jīng)驗(yàn),并不是你記住的內(nèi)容,而是你掌握的方法。

我們編程教室在過(guò)去發(fā)表過(guò)數(shù)十個(gè)開(kāi)發(fā)案例,這些案例主要用到哪些庫(kù)呢?今天就來(lái)統(tǒng)計(jì)一下,順便給大家整理及推薦常用的一些庫(kù)。

之前有下載過(guò)文章相關(guān)代碼的同學(xué)應(yīng)該知道我們這個(gè) snippet 的代碼倉(cāng)庫(kù),我們大部分的案例項(xiàng)目都在其中。下面就以這個(gè)庫(kù)中的代碼為參考進(jìn)行統(tǒng)計(jì)。

統(tǒng)計(jì)代碼:


import os
from collections import Counter

modules = set()
all_modules = {}
for root, dirs, files in os.walk("..", topdown=False):
    for name in files:
        if name.endswith(".py"):
            with open(root + os.path.sep + name) as f:
                for line in f:
                    line = line.lstrip()
                    if line.startswith("from") or line.startswith("import"):
                        module = line.split()[1]
                        module = module.split(".")[0]                        if module:
                            modules.add(module)
    if root.count(os.path.sep) <= 1:
        for m in modules:
            all_modules[m] = all_modules.get(m, 0) + 1
        modules = set()
print(Counter(all_modules).most_common())

代碼很簡(jiǎn)單,4個(gè)步驟:

遍歷文件夾,找出所有 .py 結(jié)尾的代碼文件

對(duì)代碼文件中的每一行,判斷是否以 fromimport 開(kāi)頭,是的話,就把它后面的模塊名記下來(lái)

為了避免有的項(xiàng)目中重復(fù)導(dǎo)入一個(gè)模塊影響數(shù)據(jù),對(duì)于同一個(gè)項(xiàng)目子目錄下,我們用 set 記錄保證不重復(fù),然后再添加到總的記錄字典中

使用 Counter 對(duì)字典進(jìn)行排序,找到使用次數(shù)最多的模塊

最后的結(jié)果以及模塊說(shuō)明(名稱后是使用次數(shù)):

random - 10,隨機(jī)數(shù)
requests - 8,網(wǎng)絡(luò)請(qǐng)求
numpy - 8,高性能計(jì)算
matplotlib - 7,圖表繪制
time - 7,時(shí)間
cv2 - 6,計(jì)算機(jī)視覺(jué)
math - 6,數(shù)學(xué)
os - 6,系統(tǒng)
collections - 5,集合
pyecharts - 4,圖表繪制
urllib - 4,網(wǎng)絡(luò)請(qǐng)求
datetime - 4,日期與時(shí)間
bs4 - 4,HTML文本解析
tkinter - 3,圖形界面GUI
sys - 3,系統(tǒng)
jieba - 3,中文分詞
pandas - 2,數(shù)據(jù)統(tǒng)計(jì)分析
scipy - 2,科學(xué)計(jì)算
re - 2,正則表達(dá)式
argparse - 2,命令行參數(shù)
pygame - 2,游戲
json - 2,JSON格式處理
email - 2,郵件
smtplib - 2,郵件
urllib2 - 2,網(wǎng)絡(luò)請(qǐng)求
pyaudio - 2,聲音
PIL - 2,圖像處理

除了 random、time、math 這類 python 自帶的基礎(chǔ)庫(kù)外,從以上統(tǒng)計(jì)可以間接看出,我們的案例比較多的會(huì)涉及 網(wǎng)絡(luò)數(shù)據(jù)的抓取 (requests、urllib、bs4)、 數(shù)據(jù)分析及可視化 (numpy、matplotlib、pyecharts、pandas)、 計(jì)算機(jī)視覺(jué)及圖像處理 (cv2、PIL)等方向。

對(duì)于已經(jīng)學(xué)完 python 基本語(yǔ)法,想要進(jìn)一步深入學(xué)習(xí)的同學(xué),可根據(jù)方向重點(diǎn)關(guān)注以下庫(kù):

Web 開(kāi)發(fā):django / flask
網(wǎng)絡(luò)爬蟲(chóng):requests、bs4
數(shù)據(jù)分析:numpy、pandas、matplotlib
視覺(jué)及圖像處理:cv2、PIL(pillow)
圖形界面開(kāi)發(fā):tkinter / PyQT
游戲開(kāi)發(fā):pygame / cocos-python

不用貪多,找個(gè)自己感興趣的方向,選一些可行的案例進(jìn)行開(kāi)發(fā),把基本的幾個(gè)庫(kù)用熟了,這個(gè)過(guò)程你得到成長(zhǎng)就會(huì)很多。 寫(xiě)代碼的目的是解決問(wèn)題,調(diào)用庫(kù)只是實(shí)現(xiàn)的手段,千萬(wàn)不要本末倒置了。

統(tǒng)計(jì)的代碼也上傳了倉(cāng)庫(kù),需要的話可在 公眾號(hào)(Crossin的編程教室) 回復(fù)關(guān)鍵字 模塊

════

其他文章及回答:

如何自學(xué)Python | 新手引導(dǎo) | 一圖學(xué)Python | 智能防擋彈幕 | 紅包提醒 | 流浪地球

歡迎搜索及關(guān)注: Crossin的編程教室

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/43226.html

相關(guān)文章

  • 讓前端攻城師獨(dú)立于后端進(jìn)行開(kāi)發(fā): Mock.js

    摘要:一是什么目前的大部分公司的項(xiàng)目都是采用的前后端分離后端接口的開(kāi)發(fā)和前端人員是同時(shí)進(jìn)行的那么這個(gè)時(shí)候就會(huì)存在一個(gè)問(wèn)題在頁(yè)面需要使用大量數(shù)據(jù)進(jìn)行渲染生成前后端開(kāi)發(fā)人員的接口也許并沒(méi)有寫(xiě)完作為前端的我們也就沒(méi)有辦法獲取數(shù)據(jù)所以前端工程師就需要自己 showImg(https://segmentfault.com/img/remote/1460000013022563); 一.Mock.js是...

    Fundebug 評(píng)論0 收藏0
  • Python3 CookBook | 數(shù)據(jù)結(jié)構(gòu)和算法(二)

    摘要:以下測(cè)試代碼全部基于查找最大或最小的個(gè)元素工作中有時(shí)會(huì)遇到這樣的需求,取出數(shù)據(jù)中前面的值,或者最后的值。大家如果對(duì)堆數(shù)據(jù)結(jié)構(gòu)感興趣的話,可以繼續(xù)進(jìn)行深入研究,由于我了解的并不深,也沒(méi)辦法再展開(kāi)了。 文章首發(fā)于知乎專欄,歡迎關(guān)注。https://zhuanlan.zhihu.com/py... 以下測(cè)試代碼全部基于 Python3 1、查找最大或最小的 N 個(gè)元素 工作中有時(shí)會(huì)遇到這樣的...

    geekidentity 評(píng)論0 收藏0
  • Goutte基本用法

    摘要:基本用法最近工作上用到爬蟲(chóng)框架號(hào)稱是上最好用的爬蟲(chóng)框架。這里記下自己用到過(guò)的使用技巧,免得下次使用的時(shí)候再摸索。 Goutte基本用法 最近工作上用到PHP爬蟲(chóng)框架Goutte(號(hào)稱是PHP上最好用的爬蟲(chóng)框架)。這里記下自己用到過(guò)的使用技巧,免得下次使用的時(shí)候再摸索。 table相關(guān) html: 國(guó)內(nèi)高匿代理IP 更多 國(guó)家 代...

    supernavy 評(píng)論0 收藏0
  • Goutte基本用法

    摘要:基本用法最近工作上用到爬蟲(chóng)框架號(hào)稱是上最好用的爬蟲(chóng)框架。這里記下自己用到過(guò)的使用技巧,免得下次使用的時(shí)候再摸索。 Goutte基本用法 最近工作上用到PHP爬蟲(chóng)框架Goutte(號(hào)稱是PHP上最好用的爬蟲(chóng)框架)。這里記下自己用到過(guò)的使用技巧,免得下次使用的時(shí)候再摸索。 table相關(guān) html: 國(guó)內(nèi)高匿代理IP 更多 國(guó)家 代...

    ?xiaoxiao, 評(píng)論0 收藏0
  • 50 個(gè)加速包都搶不到車票,還不如這個(gè) Python 搶票神器

    摘要:但今年各種搶票軟件的橫行,還有官方出的加速包,導(dǎo)致連黃牛都不敢保證能買(mǎi)到票。今天我就給大家介紹一個(gè)開(kāi)源的搶票程序,親測(cè)有效我身邊已經(jīng)有很多好友,通過(guò)這個(gè)程序搶到車票了。這個(gè)庫(kù)是用來(lái)在上同步校準(zhǔn)當(dāng)?shù)貢r(shí)間的。 showImg(https://segmentfault.com/img/remote/1460000017814865); 閱讀文本大概需要 6.6 分鐘。 又到了一年一度的搶票大...

    qianfeng 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<