不管你是待業(yè)還是失業(yè),在這個(gè)被互聯(lián)網(wǎng)圍繞的時(shí)代里,選擇開發(fā)python軟件學(xué)校,就多了一項(xiàng)技能,還怕找不到工作?,還怕不好找工作?小編就來告訴你這個(gè)專業(yè)的優(yōu)勢到底體現(xiàn)在哪里:Python的開發(fā)軟件,Python軟件開發(fā)培訓(xùn)出來能做什么?,為什么我不建議你通過 Python 去找工作?,搭建 Python 高效開發(fā)環(huán)境: Pycharm + Anaconda??。
1.Python的開發(fā)軟件
開發(fā)軟件因?yàn)镴ava一直用的IDEA,在還不清楚各個(gè)軟件的優(yōu)劣的情況下,先選擇了IDEA作為前期使用工具。IDEA集成python插件在Plugins中直接下載插件即可新建python項(xiàng)目重啟后新建項(xiàng)目找到Python并命名新建即可#!/usr/bin/python 或 #!/usr/bin/env python開頭聲明表示用python的解釋器來處理# -*- coding: UTF-8 -*- 或 #coding=utf-8用utf-8編碼
2.Python軟件開發(fā)培訓(xùn)出來能做什么?
近年來,Python語言可以說是快速搶占了人們的眼球。它以其代碼簡短、可讀性強(qiáng)、適合迅速開發(fā)而廣泛應(yīng)用等優(yōu)點(diǎn)讓許多學(xué)員想要學(xué)習(xí),很多人會問,學(xué)習(xí)python軟件開發(fā)能做什么?那么,下面就由為大家介紹一下,學(xué)習(xí)Python之后,能做什么? 發(fā)展前景一:Linux運(yùn)維 python可以滿足Linux運(yùn)維工程師的工作需求提升效率,總而提升自己的能力,運(yùn)維工程師需要自己獨(dú)立開發(fā)一個(gè)完整的自動化系統(tǒng)時(shí),這個(gè)時(shí)候才是真正價(jià)值的體現(xiàn),才能證明自身的能力,讓老板重視?! “l(fā)展前景二:Python Web網(wǎng)站工程師 我們都知道Web一直都是不可忽視的存在,我們離不開網(wǎng)絡(luò),離不開Web,利用Python的框架可以做網(wǎng)站,而且都是一些精美的前端界面,還有我們需要掌握一些數(shù)據(jù)的應(yīng)用。 發(fā)展前景三:Python自動化測試 自動化測試中Python語言的用途很廣,可以說Python太強(qiáng)大,掌握和熟悉自動化的流程,方法和我們總使用的各個(gè)模板,到現(xiàn)在為止,我了解的Python使用最多的應(yīng)該是自動化測試?! “l(fā)展前景四:數(shù)據(jù)分析 我們都知道現(xiàn)在來臨了大數(shù)據(jù)的時(shí)代,數(shù)據(jù)可以說明一切問題的原因,現(xiàn)在很多做數(shù)據(jù)分析的不是原來那么簡單。Python語言成為了做數(shù)據(jù)分析師的選擇,它同時(shí)可以給工作帶來很大的效率?! “l(fā)展前景五:人工智能 我們都知道Python是人工智能時(shí)代*的語言,而且目前我國已經(jīng)把人工智能發(fā)展放在了一個(gè)很重要的位置。?
3.為什么我不建議你通過 Python 去找工作?
二哥,你好,我是一名大專生,學(xué)校把 Python 做為主語言教給我們,但是我也去了解過,其實(shí) Python 門檻挺高的,所以我在自學(xué) Java,但是我現(xiàn)在并不清楚到底要不要全心的去學(xué) Java,學(xué)校里的課程也越來越繁重,而學(xué) Java 又會要投入很多精力,我很糾結(jié)疑惑。希望二哥可以給一點(diǎn)建議。二哥看到的話還望百忙之中抽一點(diǎn)時(shí)間。感謝! 這是讀者“前進(jìn)一點(diǎn)”在微信上問我的一個(gè)問題,我當(dāng)時(shí)給他的回復(fù)是“Python 挺火的,學(xué) Python 就好?!钡?dāng)我在 B 站上看了羊哥的一期視頻后,深感懊悔,覺得自己給出的建議是不負(fù)責(zé)任的。意識到自己的問題之后,我就趕緊給讀者“前進(jìn)一點(diǎn)”發(fā)了一條信息道歉。另外,回想起之前還有一些讀者問過我類似的問題,我的答案都不夠嚴(yán)謹(jǐn),因此打算特意寫一篇文章來反省一下。羊哥視頻里面分享的內(nèi)容還是非常嚴(yán)謹(jǐn)?shù)?,他認(rèn)為,Python 應(yīng)用的方向主要有 5 個(gè)方面:人工智能和機(jī)器學(xué)習(xí)數(shù)據(jù)分析爬蟲Web 開發(fā)自動化測試有理有據(jù),所以我完全認(rèn)同羊哥的觀點(diǎn)。01、人工智能和機(jī)器學(xué)習(xí)人工智能和機(jī)器學(xué)習(xí)是 Python 應(yīng)用的重頭戲,但這方面的崗位對學(xué)歷的要求非常高,高到我自己都應(yīng)聘不上,非常殘酷。在招聘網(wǎng)站上大致瀏覽了一下,我發(fā)現(xiàn),這方面的崗位不算多,但工資挺給力的,在 15K- 30K。不過,招聘信息上直接說了,“我們的程序員小伙伴都畢業(yè)于 211/985 學(xué)校”,就這一條,我就會被拒之門外。學(xué)歷硬傷啊,所以應(yīng)聘“人工智能和機(jī)器學(xué)習(xí)”這方面的崗位很難,扎心,誰叫咱不是學(xué)霸呢??紤]到我的讀者已經(jīng)蔓延到了*生群體,我得鄭重其事地說一句,“如果你喜歡學(xué)習(xí),那就好好學(xué),別在該學(xué)習(xí)的年紀(jì)浪費(fèi)了青春?!卑パ剑胰?,說這句話真有點(diǎn)拿自己做反面教材的感覺。我上*的時(shí)候,一直是*名,因?yàn)閷W(xué)校的招生范圍就我們村那么大,一共也就三四十名學(xué)生。等到上了*,一直保持前四,因?yàn)閷W(xué)校的招生范圍就我們鄉(xiāng)那么大,一共也就三四百名學(xué)生。等到上了高中,一直保持學(xué)校,但在整個(gè)縣城是沒有任何優(yōu)勢的。真的是天外有天,人外有人,大部分人都是平凡的,普通的,所以這方面的崗位競爭真的很難。02、數(shù)據(jù)分析一般的小公司,比如說我就職過的公司,完全就沒有數(shù)據(jù)分析的必要性,因?yàn)橹攸c(diǎn)是在產(chǎn)品上,如何做好產(chǎn)品吸引來用戶才是重點(diǎn)。如果說產(chǎn)品的用戶數(shù)量少,數(shù)據(jù)就完全發(fā)揮不出價(jià)值。那也就意味著,數(shù)據(jù)分析工程師的崗位會相對較少,畢竟有大數(shù)據(jù)的公司屈指可數(shù)。但說實(shí)話,這個(gè)崗位的薪資還是非常給力的,發(fā)展前景也好。如果學(xué)習(xí)能力強(qiáng)的話,硬指標(biāo)過關(guān)的話,可以嘗試。工資高,通常的原因是供不應(yīng)求,也就是說崗位多,但人才少。但實(shí)際情況是,數(shù)據(jù)分析的崗位少,符合要求的人才更少。在公司只是在重復(fù)操作 SQL、Excel 等基礎(chǔ)工具的數(shù)據(jù)分析員很容易被自動化工具替代,又扎心了。大專院校把 Python 作為主語言來教的話,我想肯定不是奔著這兩個(gè)方向(人工智能、機(jī)器學(xué)習(xí)和數(shù)據(jù)分析)來的。*個(gè)原因就是學(xué)歷的問題,第二個(gè)原因就是教師不一定能教得會,更別說學(xué)生能不能學(xué)會了。03、爬蟲關(guān)于爬蟲,不得不提一下羊哥視頻評論區(qū)的一句話,不管是不是段子,我覺得挺值得深思的。 我有個(gè)同學(xué)搞爬蟲被帶走了,還好他不是主犯,就是登記了一下。 爬蟲是近些年非?;馃岬囊粋€(gè)話題,連我都買了一本爬蟲入門的書,準(zhǔn)備學(xué)一學(xué),無奈 Java 方面可寫的素材越來越多,這個(gè)計(jì)劃一直未能成行。什么是爬蟲呢?可能有些不是程序員的讀者不太清楚,我找百科問了問,它說,“爬蟲,又稱網(wǎng)頁蜘蛛,是一種按照一定規(guī)則,自動抓取互聯(lián)網(wǎng)信息的程序或者腳本?!痹谥R付費(fèi)的大環(huán)境下,這種爬蟲就有點(diǎn)麻煩。拿我來說吧,我希望自己的文章只發(fā)表在我希望發(fā)表的平臺下,假如其他平臺在未經(jīng)我的授權(quán)下,就把我的文章爬走,放在自家平臺上,我就覺得知識產(chǎn)權(quán)受到了破壞。文章還好,是我愿意公開的,如果涉及到一些隱私信息被爬取,那就更糟糕了,是吧?現(xiàn)在很多平臺都在做反爬,并且做得越來越好,這就在一定程度上有點(diǎn)“魔高一尺道高一丈”的意味,所以,爬蟲方面的工程師還是蠻不容易的。04、Web 開發(fā)用 Python 做 Web 開發(fā)的大型互聯(lián)網(wǎng)公司我聽說的不多,羊哥說豆瓣以前用的是 Python,現(xiàn)在也不用了。不管怎么說,如果拿 Java 來和 Python 相比的話,顯然在 Web 開發(fā)方面的優(yōu)勢巨大。不管是從技術(shù)框架上,還是性能上,以及應(yīng)用的規(guī)模上,同等條件下,Java 工程師顯然更吃香啊。很多培訓(xùn)機(jī)構(gòu)夸贊 Python 在 Web 開發(fā)方面有著巨大的優(yōu)勢,開發(fā)效率高,速度快。嗯,其實(shí)我覺得應(yīng)該是因?yàn)?Python 的語法簡單,容易教——這恐怕是主要原因啊,我這樣說會不會被社會毒打?這樣吧,我給小伙伴推薦一個(gè)網(wǎng)址: Django 的,一個(gè)廣受歡迎且功能完整的服務(wù)器端網(wǎng)站框架,Python 寫的,并且是 MDN 出品,最重要的是,免費(fèi)的。05、自動化測試說句實(shí)在話,Python 的自動化測試還是應(yīng)用非常廣泛的,考慮到框架的腳本質(zhì)量,測試用例的簡單性,以及運(yùn)行模塊可能存在的技術(shù)弱點(diǎn),我給大家推薦五款 Python 的測試框架。1)Robot Framework,主要用于測試驅(qū)動類型的開發(fā)與驗(yàn)收中。2)Pytest,特點(diǎn)是開源、易學(xué)。3)PyUnit,針對單元測試的 Python 類自動化測試框架,收到 Junit 的啟發(fā)。4)Behave,允許團(tuán)隊(duì)執(zhí)行 BDD(行為驅(qū)動開發(fā),behavior-driven ) 測試。5)Lettuce,專注于具有行為驅(qū)動開發(fā)特征的普通任務(wù)。06、*以上觀點(diǎn)都是我個(gè)人主觀給出的,不一定正確哈,僅做參考。如果說,有些讀者的學(xué)歷非常牛逼,然后學(xué)習(xí)能力也非常強(qiáng),那么選擇人工智能、機(jī)器學(xué)習(xí)、數(shù)據(jù)分析,我覺得前途是光明的,既能賺錢,待遇又好,還不可替代,不學(xué) Python 絕對虧。如果說,有些讀者學(xué)歷一般,做程序員僅僅是為了糊口飯吃,那么我覺得可以把 Python 作為第二語言來學(xué),不要當(dāng)做主語言。搞點(diǎn)范圍許可內(nèi)的爬蟲,自動化測試,我就覺得挺好的。況且 Python 這門語言本身是非常優(yōu)秀的,不然怎么搞人工智能,海量數(shù)據(jù)分析,對吧?如果覺得文章對你有點(diǎn)幫助,請微信搜索「 沉默王二 」*時(shí)間閱讀。 本文已收錄 GitHub,傳送門~ ,里面更有大廠面試完整考點(diǎn),歡迎 Star。 我是沉默王二,一枚有顏值卻靠才華茍且的程序員。關(guān)注即可提升學(xué)習(xí)效率,別忘了三連啊,點(diǎn)贊、收藏、留言,我不挑,嘻嘻。
4.搭建 Python 高效開發(fā)環(huán)境: Pycharm + Anaconda
介紹先來介紹下兩位主角:Pycharm:目前一款主流的 Python 集成開發(fā)環(huán)境,它帶有一整套幫助我們在Python開發(fā)時(shí)提高效率的工具,比如調(diào)試、語法高亮、Project管理、代碼跳轉(zhuǎn)、智能提示、自動完成、單元測試、版本控制??偟膩碚f,Pycharm 會極大地提高我們 Python 開發(fā)的效率和體驗(yàn),用過都說好。Anaconda:主要針對 Python 的數(shù)據(jù)科學(xué)整合包,包括有 Numpy,Pandas,Sklearn等。重要的是,自帶管理軟件 conda,它擁有安裝,更新,刪除,解決包依賴關(guān)系的包管理功能。同時(shí),conda擁有環(huán)境管理功能,能創(chuàng)建獨(dú)立運(yùn)行環(huán)境, 使各項(xiàng)目間包環(huán)境和版本互不沖突和影響。另外,Conda 還可以管理包括 Bowtie2,F(xiàn)astQC 等軟件環(huán)境,甚至 R 包環(huán)境??傊珹naconda 就是我們在編程時(shí)的管家,一切麻煩事扔給他,我們只要關(guān)注項(xiàng)目本身就行。安裝 Pycharm1.網(wǎng)址: Pycharm 放進(jìn)去,這樣會極大的減少項(xiàng)目構(gòu)建索引,載入導(dǎo)入時(shí)間。4.可以根據(jù)需要來選擇配置,建議全選5.安裝6.安裝完成后,點(diǎn)擊剛剛在桌面上的快捷方式7.同意協(xié)議8.數(shù)據(jù)是否分享,根據(jù)情況來看9.選擇主題,我這里選擇淺色10.根據(jù)需要安裝插件IdeaVim:vim是Linux系統(tǒng)常用的編輯器,如果之前已經(jīng)習(xí)慣用vim,可以安裝R:統(tǒng)計(jì)學(xué)編程語言,因?yàn)閷W(xué)習(xí)生物信息的原因,這里選擇安裝AWS Tookit:是亞馬遜云服務(wù)的擴(kuò)增11.激活因?yàn)檫@里安裝的是專業(yè)版,可以先選擇試用。點(diǎn)擊Evaluate 安裝 Anaconda 1.根據(jù)系統(tǒng)選擇合適的安裝包,這里建議選擇 Python 3.7 版本下載 Anaconda 的項(xiàng)目1.*次進(jìn)入Pycharm,先新建項(xiàng)目,進(jìn)入配置界面2.配置 Python 解釋器為了方便管理,這里 Location 配置項(xiàng)目存放目錄,該目錄與 Anaconda 在同一目錄下。當(dāng)然,不按照這樣的目錄結(jié)構(gòu)也可以。3.切換到 Conda ,找到我們剛剛安裝 Anaconda 的目錄并設(shè)置,同時(shí)勾選為所有項(xiàng)目應(yīng)用該配置4.配置完成后,解釋器被 Pycharm 識別,點(diǎn)擊創(chuàng)建5.*次創(chuàng)建項(xiàng)目,Pycharm 有初始化工作要做,耐心等待即可Anaconda 環(huán)境的使用示例0.工作區(qū)介紹1.右鍵項(xiàng)目名,新建 Python 腳本2.輸入名字,注意這里不需要添加 .py后綴,回車后創(chuàng)建3.編寫腳本import pandas as pd import numpy as np ? dates = pd.date_range('20210501', periods=6) df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))4.右鍵腳本名,運(yùn)行,測試配置是否成功5.運(yùn)行這個(gè)腳本,會自動激活 Mode,界面就像這樣:在左下輸入df.head(),可以直接在控制臺查看數(shù)據(jù)框內(nèi)容,也可以在右邊點(diǎn)擊查看。Conda 環(huán)境的使用示例有了 Anaconda 的支持,為什么還要 Conda 環(huán)境?前面新建的 Anaconda 環(huán)境包含各種數(shù)據(jù)分析,機(jī)器學(xué)習(xí)等包,可以直接拿來用,并不需要再安裝一遍,方便實(shí)用。但是,有時(shí)候,我們并不需要這么多的包,而是需要特定版本的 Python 或者 Python 包,或是依賴沖突等問題,這就要求有一個(gè)獨(dú)立運(yùn)行的環(huán)境。而 Conda 建立的環(huán)境正好滿足了這個(gè)需求。1.新建包含有 Conda 環(huán)境的項(xiàng)目2.查看啟用的環(huán)境點(diǎn)擊 Pycharm 下面的 Termianl 可以直接控制 Windows 的 CMD 命令行(這里不得不吐槽微軟的 CMD 和 界面丑還超難用)。如果你的 Pycharm 運(yùn)行在 Linux 下,這個(gè)工具會接管 Shell。可以看到在最前面多了一個(gè) (example) ,這個(gè)代表激活的 conda 環(huán)境3.查看 conda 環(huán)境里有哪些包輸入命令 conda list,可以查看我們建立的環(huán)境里包含哪些包。學(xué)習(xí)更多 conda 的包管理,環(huán)境管理和渠道管理等技巧可以參考: Anaconda 整合了數(shù)以百記的包不同,這里只有幾個(gè)最基礎(chǔ)的 Python 包,之后按需添加即可。4.切換環(huán)境點(diǎn)擊右下角的 conda 環(huán)境名,可以切換環(huán)境。這里切換后,代表我們項(xiàng)目目錄中所有的腳本都要依賴于這個(gè)環(huán)境。但是,需要注意,一些老鳥已經(jīng)會熟練操作 Conda 了,比如像下面這樣來切換環(huán)境:不幸的是,雖然命令行conda activate base 可以將當(dāng)前環(huán)境 example 切換為 base,但是這里只是將命令行的環(huán)境切換了,我們 Pycharm 項(xiàng)目的 conda 環(huán)境紋絲不動。所以想切換當(dāng)前項(xiàng)目的環(huán)境,*點(diǎn)擊右下角圖標(biāo)5.使用 Conda 環(huán)境這里以繪制一張熱圖為例來簡單使用下配置好的環(huán)境安裝包寫代碼import random from import pyplot as plt ? # 準(zhǔn)備數(shù)據(jù) # 定義橫縱坐標(biāo) xLabel = ['geneA', 'geneB', 'geneC', 'geneD', 'geneE'] yLabel = ['sample1', 'sample2', 'sample3', 'sample4', 'sample5'] # 定義填充數(shù)據(jù) data = [] for i in range(5): temp = [] for j in range(5): k = random.randint(0, 100) temp.append(k) data.append(temp) ? # 開始作圖 fig = plt.figure() # 畫布 ax = fig.add_subplot(111) # 坐標(biāo)刻度 ax.set_yticks(range(len(yLabel))) ax.set_xticks(range(len(xLabel))) ax.set_(xLabel) ax.set_(yLabel) # 作圖 im = ax.imshow(data) # 圖例 plt.colorbar(im) plt.show()出圖這里同樣也可以激活 Mode,可以這么來設(shè)置效果是這樣的:如果想在 Pycharm 中使用 R 語言,可以參考這篇:在Pycharm 中使用 R 時(shí),效果是這樣的:接下來,享受搭建好的環(huán)境吧其他使用技巧Pycharm 中安裝及使用 Jupyter (圖文詳解)如何在 Pycharm 中高效使用 R 語言 (圖文詳解)
就拿大數(shù)據(jù)說話,優(yōu)勢一目了然,從事IT行業(yè),打開IT行業(yè)的新大門,找到適合自己的培訓(xùn)機(jī)構(gòu),進(jìn)行專業(yè)和系統(tǒng)的學(xué)習(xí)。