不管你是待業(yè)還是失業(yè),在這個被互聯(lián)網(wǎng)圍繞的時代里,選擇python做web開發(fā),就多了一項技能,還怕找不到工作?,還怕不好找工作?小編就來告訴你這個專業(yè)的優(yōu)勢到底體現(xiàn)在哪里:python做web開發(fā)有哪些好處和不足?,關于python開發(fā)web程序,python小白求助?,如何用純 Python 寫交互式 Web 應用???。
1.python做web開發(fā)有哪些好處和不足?
python有很好的web framework,比如django,所以開發(fā)很迅速。不足貌似是用于大型網(wǎng)站開發(fā)仍然比較少,沒有太多實戰(zhàn)檢驗。
2.關于python開發(fā)web程序,python小白求助?
這個問題就比較復雜了,有本書,叫《python網(wǎng)絡編程》,里面有比較詳細的講解,從服務器端和客戶端最簡單的網(wǎng)絡交互開始講起,一直到各種網(wǎng)絡協(xié)議,請求隊列等等。你自己去找吧。
3.如何用純 Python 寫交互式 Web 應用?
不用學前端編程,你就能用 Python 簡單高效寫出漂亮的交互式 Web 應用,將你的數(shù)據(jù)分析成果立即展示給團隊和客戶。痛點從我開始折騰數(shù)據(jù)分析工具的那一天,就沒有想明白一件事兒 —— 我打算把數(shù)據(jù)分析的成果做成一個 Web 應用,為什么這么難?我需要的核心功能,無非是在網(wǎng)頁上接收用戶輸入,然后做分析處理,把分析結果反饋給用戶,完事兒。可是這談何容易?很多人都會微笑著告訴你,想做 Web 應用?這得學前端編程, HTML + 了解一下吧!什么?你還需要在后臺做數(shù)據(jù)分析?那你就得學 Web 框架了。你說喜歡 Python ?那就學個 Django 或者 Flask 好了。我也不是沒有看過 Django 和 Flask 的教程,還曾經(jīng)付費學習過。光是 Django 配置環(huán)境,就夠?qū)懸徽鲁鰜?。作為學習的中間成果,我還寫了這篇《如何用 Python 做 Web 開發(fā)?——Django 環(huán)境配置》分享給你。真正讓我痛苦的,不是 Web 框架的操作有多么瑣碎,而是教程里的案例,為什么都那么奇怪?幾乎所有的教程,都指向一個目標: 來,我教你做一個 blog 出來! 我用你教?!我要是想用 blog ,可以直接注冊一個免費的??!為什么我要自己開發(fā)個 blog 出來?為什么你就不能告訴我,該怎么把我目前的數(shù)據(jù)分析結果,迅速挪到 Web 頁面上,跟用戶實時交互?雖然二者的結果,都是做一個 Web 應用出來。但是,它們關注的焦點,需要的功能,能一樣嗎?但是人家寫書和做教程的人,就是不疾不徐,堅持一定要教會你,如何做一個 blog 出來……你不學,又能怎么辦呢?你難道想只憑 Python 腳本,就做一個 Web 應用出來?還真別說,最近,這個事兒從幻想,變成了現(xiàn)實。樣例這不,我就用純 Python 腳本寫了個 Web 應用。我編寫的代碼里,沒有一絲半毫的 Web 框架,,甚至是 HTML 。這玩意兒能用嗎?你自己來試試看。請你打開瀏覽器,輸入以下鏈接: Python 和循環(huán)神經(jīng)網(wǎng)絡預測嚴重交通擁堵?》,應該對這個數(shù)據(jù)集很熟悉。只不過,當時我們更注重的,是用循環(huán)神經(jīng)網(wǎng)絡搭建了一個嚴重擁堵事件預測模型。而今天,我們是要進行探索性數(shù)據(jù)分析,也就是根據(jù)我們感興趣的目標,對數(shù)據(jù)進行整理操作,然后可視化顯示。選定之后,你會看到右側提示兩個信息:你篩選之后,數(shù)據(jù)框包含行數(shù);在層疊地圖上的可視化結果。怎么樣?麻雀雖小,五臟俱全。雖然咱們這個 Web 應用很簡單,不過交互分析該有的功能和流程,基本上都涵蓋了。你可能會問: 王老師,編這么一個應用出來,不簡單吧? 讓我?guī)愕侥缓?,看看是不是很復雜。幕后我把這個應用的全部源代碼,都為你存儲到了 Github 上。請你訪問這個網(wǎng)址獲取??梢钥吹剑还舶?4 個文件。有意思的是,其中 3 個,包括:..txt都只是部署到遠程服務器時,需要用到的配置文件而已。也就是說,只有*一個 .py 是主角,它包含了實現(xiàn)咱們?nèi)拷换ナ綌?shù)據(jù)分析功能的 Python 腳本文件。這代碼,少說也得有幾百行吧?別擔心,打開來看看:上面這張截圖,就已經(jīng)包含了實現(xiàn)交互數(shù)據(jù)分析功能的全部代碼。神奇吧?解讀這么短的代碼,為什么能有如此強大的功能?這是因為它背后使用的一個軟件包,叫做 streamlit 。它是干什么用的?一言以蔽之,給你賦能,讓你能夠不去操心什么前端后端。只寫 Python ,只關注功能,你就能寫出一個交互式 Web 應用出來。當然,既然*是 Web 應用,那么實際上前后端的功能都是齊備的。只不過,這些交由 Streamlit 來幫你費心操辦。你根本不用管。爆發(fā)為什么會有人做了這么一款神器出來?原因很簡單,咱們前面提到的痛點,是大伙兒都有的。咱們這些麻瓜(Muggle),遇到痛點只能忍著。但是真正的魔法師(優(yōu)秀程序員),是忍不了的。在這段來自 PyData LA 2021 的視頻里,Streamlit 的 CEO Adrien Treuille 談及了他在數(shù)據(jù)智能企業(yè)中,長期遭遇的痛點。*的痛點,就是數(shù)據(jù)科學家訓練好機器學習模型后,需要驗證效果,和用戶反饋溝通。但是,做機器學習的工程師本身,并不掌握這一整套的工具棧。所以,就得在把全部的數(shù)據(jù)分析和模型訓練工作完成后,把這東西移交給一個工具制作團隊。人家做完以后,就告訴數(shù)據(jù)科學團隊說,做好了。但是注意,現(xiàn)在處于需求凍結階段。這個應用你們可以隨便用,只是別亂改。改壞了我們管不了。因為最近兩個月,我們還得給其他若干數(shù)據(jù)分析團隊做 app 。大概幾個月以后,我們又能回來幫助你們了……Adrien Treuille 很敏銳地捕捉到了這個長期痛點,于是在 2021 年, 創(chuàng)立了 streamlit 。目標很簡單,給數(shù)據(jù)科學團隊提供簡單的工具,讓他們使用已經(jīng)掌握的 Python 編程技能,就能直接做 Web 應用。什么 “等上兩三個月不許改”?!你們自己慢慢兒玩兒去吧,我們想怎么改,就怎么改!至于做出來的東西嘛,可以是這樣的:資源看到這里,是不是心動了?也打算學習一下 Streamlit ?沒問題,我前面給你提供的樣例,就在 github 上,你可以直接查看源碼。注意因為數(shù)據(jù)比較大,有接近 300 MB,github 免費空間放不下,所以我為你存到了云盤上,請從這個鏈接下載,提取碼為 ddpp 。如果你希望重現(xiàn)這個小應用,并且一步步學習掌握 Streamlit 的基礎知識和技能,我也已經(jīng)為你寫好了一份手把手的教程。地址在這里。它不僅教你如何設置環(huán)境,安裝工具,寫作代碼,甚至連如何免費部署到 heroku 平臺,讓用戶使用,都毫無保留地教給了你。那篇文章,我用于參加少數(shù)派年度征文活動,所以就不能全文展示在這里了。讀完以后,如果你覺得有收獲,歡迎在少數(shù)派平臺上幫我點個贊。謝謝支持!思考嘗試過之后,你應該不難發(fā)現(xiàn),Streamlit 給你帶來了什么。如果你學過 和 Flask, Django 等 Web 應用開發(fā)技術,Streamlit 可以加快你的 Web 應用開發(fā)與測試進程。如果你還沒有學過上述技術, Streamlit 可以給你賦能,讓你一下子有了把數(shù)據(jù)分析結果變成產(chǎn)品的能力。給你講點兒更激進的。有人已經(jīng)希望能用它替代掉 Flask 用于產(chǎn)品發(fā)布了。還有人說,將來寫技術文檔,也應該充分使用 Streamlit 。甚至,還把它比作了數(shù)據(jù)科學界的 iPhone 。這里,它是借喻 iPhone 開啟智能手機時代,說明 Streamlit 的劃時代性。我不希望你也變得如此激進。因為這里提到的每一種功用,現(xiàn)在還都有非常專業(yè)的工具做的更好,而且新的工具也在不斷涌現(xiàn)。例如說,我們在多個教程中一直使用 Jupyter Notebook ?,F(xiàn)在憑借 Voila 擴展的加持,你也可以很輕松地把 Jupyter Notebook 變成 Web app ,而且可以免費運行在 mybinder 上面。但是,你可以看到,一個新的工具,以一種簡單,而不是更繁復的辦法,解決一個功能痛點,是一件多么令人欣喜的事兒??戳诉@篇文章,可能會給你一種誤解,似乎 為代表的前端編程技術,再也不需要學了。其實不是這樣的。可以想象,開發(fā)門檻降低以后,將來會有更多的人使用 Python 來做 Web 應用。用 Streamlit 這樣的方法,他們只是開發(fā)出了一個原型。要是想打造精品,就必須精細調(diào)控很多細節(jié)。這時候, 如果你精通 ,那你潛在的合作對象一下子就多了起來,你掌握的這門技術,也就有了更大的價值。還記得嗎?我不止一次給你強調(diào)過,比起一個工具自身的能力來,協(xié)作網(wǎng)絡更重要。忘了的話,記得復習《學 Python ,能提升你的競爭力嗎?》。這就好像印刷術的發(fā)明,不是讓會寫字這件事兒變得失去價值,而是全社會都增大了對好作品的渴求。深刻的思考,加上有效的文字表達,會讓你生存得更好。當然,如果你不希望精通寫作技藝,只是想做一個抄書匠糊口。那么印刷術就可能會替代你的工作,結果就不那么美妙了。小結這篇文章,我為你介紹了 Streamlit 這款有趣的工具。希望你讀過之后,掌握了以下知識點:借助 Streamlit ,你可以用純 Python 編制 Web 應用;學 Web 設計依然很有前途,因為你的潛在合作群體正在迅速擴大;不要惹魔法師(優(yōu)秀程序員)。他們的痛點需求會轉(zhuǎn)化成無盡的戰(zhàn)斗力,興許會直接替掉你的日常工作。喜歡別忘了點贊,并及時寫下你的感受與評論。也歡迎你轉(zhuǎn)發(fā)給親朋好友,讓他們也加入咱們的討論中來。別忘了關注我的專欄 “玉樹芝蘭”,以免錯過更多的更新推送。延伸閱讀你可能也會對以下話題感興趣。點擊鏈接就可以查看。如何高效學 Python ?如何用 iPad 運行 Python 代碼?論文讀不懂怎么辦?如何不寫 SQL ,探索和分析數(shù)據(jù)庫?題圖:Photo by Luke Chesser on Unsplash
就拿大數(shù)據(jù)說話,優(yōu)勢一目了然,從事IT行業(yè),打開IT行業(yè)的新大門,找到適合自己的培訓機構,進行專業(yè)和系統(tǒng)的學習。