不管你是待業(yè)還是失業(yè),在這個被互聯(lián)網(wǎng)圍繞的時代里,選擇python軟件開發(fā),就多了一項(xiàng)技能,還怕找不到工作?,還怕不好找工作?小編就來告訴你這個專業(yè)的優(yōu)勢到底體現(xiàn)在哪里:Python如何開發(fā)桌面應(yīng)用程序?Python基礎(chǔ)教程,第十三講,圖形界面,為什么不建議普通人學(xué)習(xí)Python開發(fā),學(xué)python用什么開發(fā)軟件???。
當(dāng)使用桌面應(yīng)用程序的時候,有沒有那么一瞬間,想學(xué)習(xí)一下桌面應(yīng)用程序開發(fā)?行業(yè)內(nèi)專業(yè)的桌面應(yīng)用程序開發(fā)一般是C++,C#來做,Java開發(fā)的也有,但是比較少。本節(jié)課會介紹Python的GUI(圖形用戶界面)編程,用Python也可以寫出漂亮的桌面程序,建議此次課程大家稍作了解不要浪費(fèi)太多時間,因?yàn)闆]有哪家公司會招聘以為Python程序員開發(fā)桌面程序吧?學(xué)完此次課程,我能做什么?學(xué)完本次課程,大家可以完成一個簡易的記事本編輯器。學(xué)習(xí)此次課程,需要多久?15-20分鐘課程內(nèi)容首先看一下目前有哪些主流的GUI平臺。Tkinter:使用Tk平臺,支持大多數(shù)的Unix系統(tǒng),同時可以在Windows和Mac下運(yùn)行,是Python的標(biāo)準(zhǔn)界面庫,但是由于界面丑陋,文檔極差而被開發(fā)者吐槽。wxpython:擁有成熟和豐富的包,跨平臺,可在Unix,Windows,Mac下運(yùn)行,入門簡單,文檔寫的很詳細(xì),再加上官方的Demo大全,確實(shí)給初學(xué)者降低難度,可以作為入門學(xué)習(xí)的*庫。PythonWin:只能在Windows上使用,調(diào)用windows的GUI,如果要做跨平臺的應(yīng)用程序,顯然不會選擇它。PyGTK:使用GTK平臺,Linux系統(tǒng)上使用較多,跨平臺。PyQt:優(yōu)點(diǎn)界面美觀,多個平臺,文檔和教程豐富。但是商業(yè)化使用有版權(quán)的問題,需要授權(quán),體積相對較大。由于wxpython比較受歡迎,今天我們一起來學(xué)習(xí)一下這個GUI平臺。1.安裝 install -U wxPython其他版本的請到wxPython官網(wǎng)下載,百度wxpython直達(dá)。2.入門程序 Hello World。運(yùn)行結(jié)果如下,彈出了一個窗口,標(biāo)題為Hello World 安裝好界面庫以后,我們先實(shí)現(xiàn)*入門程序,在桌面程序中輸出Hello world。3.代碼分析先創(chuàng)建一個程序app = wx.App()創(chuàng)建完程序,下一步就是創(chuàng)建一個窗口(Frame)win = app.Frame(None)創(chuàng)建完成窗口,我們想要顯示結(jié)果怎么辦?(Show)win.show()*運(yùn)行主程序MainLoop()app.MainLoop()邏輯還是比較清晰的。具體每個方法包含了,哪些參數(shù),大家可以看一下文檔說的很清楚。如何做一個記事本?其實(shí),畫界面真沒有太多要講的,大多就是看文檔,了解每個參數(shù)和方法的含義。上面的代碼語義也很清楚,添加按鈕,添加文本框,設(shè)置位置大小,多行,滾動條。密密麻麻的文檔,對界面庫感興趣的可以仔細(xì)了解一下。界面畫好了,功能如何實(shí)現(xiàn)呢?看上去代碼量很有點(diǎn)多,但是其實(shí)仔細(xì)分析一下很簡單,先定義兩個方法,當(dāng)點(diǎn)擊按鈕時觸發(fā),按鈕布局畫完后,使用Bind()方法,綁定到相應(yīng)的函數(shù)即可。函數(shù)內(nèi)部是我們上節(jié)課學(xué)習(xí)的文件讀寫操作。簡單看一下離線文檔和Demo文檔中詳細(xì)的說明了每個參數(shù)的含義。富文本編輯器200+的Demo,如果把這些都看明白,一定是GUI的大神了。小結(jié)Python寫界面庫,如果沒有特別大的興趣,點(diǎn)到為止,了解一下就可以了。接下來學(xué)習(xí)什么?接下來我們將學(xué)習(xí)大部分編程語言必會技能:操作數(shù)據(jù)庫。關(guān)注公眾號,回復(fù) Python基礎(chǔ) 下載全部代碼+PDF版電子書 同時獲取wxPython的離線文檔和官方Demo。
Python最近無疑被朋友圈玩壞了甚至要好幾頁才能鋪下但從一個資深程序員的視角出發(fā),實(shí)在不建議你將Python作為一種職業(yè),從功利性的角度出發(fā),你學(xué)Python是很找到工作的從圖片中看出需要Python技能崗位需求量約為Java的1/10, Python基本上只有三種職位后端開發(fā),爬蟲,數(shù)據(jù)挖掘/機(jī)器學(xué)習(xí),以及運(yùn)維崗位就拿后端開發(fā)來說,負(fù)責(zé)后端業(yè)務(wù)邏輯的編寫,以及與數(shù)據(jù)庫交互等。但相對于Java,PHP來說,Python并沒有那么好用,其語法效率也比較低,Java是靜態(tài)編譯類型語言,Python為動態(tài)解釋語言,即一個先由編譯器編譯成計(jì)算機(jī)能執(zhí)行的二進(jìn)制代碼,這樣計(jì)算機(jī)直接執(zhí)行就可以了,但Python的解釋性語言,即是運(yùn)行時進(jìn)行編譯,運(yùn)行的,因此效率會比較低。其測試結(jié)果如下1000萬次計(jì)數(shù)效率,Java是Python的100倍此外Java技術(shù)棧經(jīng)過多年的發(fā)展,已經(jīng)積累了海量的技術(shù)棧,比如分布式的各種東西: 控制反轉(zhuǎn),三層架構(gòu),服務(wù)調(diào)度,流量調(diào)度,全棧監(jiān)控,適用于復(fù)雜系統(tǒng)的分布式架構(gòu)。而Python發(fā)展時間尚短,并沒有海量類庫,用來干小一點(diǎn)的網(wǎng)站還OK的,大的網(wǎng)站從速度以及技術(shù)棧的角度來講,都是不太建議的。Java,PHP進(jìn)過長時間發(fā)展,已形成了自己的"技術(shù)旗幟",大量開發(fā)擁簇在同樣旗幟下,發(fā)展成了自己的技術(shù)山頭,從而聚集起越來越多的人。從公司招聘的角度出發(fā),肯定愿意招聘適用面廣的技術(shù)棧,這樣產(chǎn)品維護(hù)起來比較簡單,人員離職了也能更好的找到能替代的人,萬一搞個Python技術(shù)棧,人員離職了萬一招不到人了怎么辦?爬蟲工程是也會經(jīng)常用到Python,Python在數(shù)據(jù)抓取等方面確實(shí)有著一定的優(yōu)勢,但專職做爬蟲的工程師又有多少?市場的需求并不大。如下圖所示,x勾*范圍內(nèi)爬蟲工程師的崗位為207.目前從事爬蟲工程師風(fēng)險(xiǎn)也比較大,各位要謹(jǐn)慎考慮數(shù)據(jù)挖掘/機(jī)器學(xué)習(xí)中會用Python來編寫,這是因?yàn)橄日莆樟死碚摱笥肞ython來實(shí)現(xiàn),而非會Python就能做數(shù)據(jù)挖掘,它只是一個工具而已。而且如果你要從事數(shù)據(jù)挖掘/機(jī)器學(xué)習(xí),*的途徑是上個NB*:*的米國藤校之類,國內(nèi)的都不行,跟個NB導(dǎo)師,發(fā)些NB的Paper,上頭有人才好辦事,特別是在學(xué)術(shù)界,算法這玩意還是跟學(xué)術(shù)界聯(lián)系比較緊密的,否則只能淪為"調(diào)參工程師"。而且隨著人工智能光環(huán)的褪去,業(yè)務(wù)落地變現(xiàn)困難,人工智能/機(jī)器學(xué)習(xí)工程師的崗位趨近于飽和,工作越來越難找。從19年我司的招聘情況來看,10-11月還找不到工作的計(jì)算機(jī)專業(yè)學(xué)生中,很大一部分都是人工智能相關(guān)的。從公司角度來看,國外做這個的也一大堆,為啥我不招留學(xué)生呢?名頭更響不是,我干嘛還要招一個沒什么名氣*里做人工智能的呢?大家選專業(yè)時也要從實(shí)際情況出發(fā),不要只覺得有趣,看起來NB,經(jīng)過外行媒體一鼓吹就選了。就跟娶老婆一樣,不光好看就行了,還得看是否實(shí)用是吧?上面鼓吹人工智能缺口500W的,沒有一個是專業(yè)媒體報(bào)道的: 要么是培訓(xùn)機(jī)構(gòu),要么是外行。要么壞,要么蠢。因?yàn)镻ython可以算是一種腳本語言,因此在運(yùn)維中應(yīng)用也比較廣,但跟上面一樣,這只是運(yùn)維需要掌握的一門技能而已。當(dāng)然,如果你不想以Python為職業(yè),希望以此來入門還是不錯滴。Python畢竟比C要簡單多了,沒有C中亂七八糟指針等偏底層的概念,國外很多課程都是以Python來入門的,因此用來入個門,知道程序是啥還是可以的。但如果你想變得像文案中說的那樣:用Python做自動化表格,一鍵爬取海量論文(不怕被抓么),估計(jì)是難度比較大了,專業(yè)工作者都要經(jīng)過大量調(diào)試才能保證正確性,你這么有自信能比肩專業(yè)碼農(nóng)么?一個每天做行政的小妹,要去學(xué)習(xí)Python的語法,類庫,然后在機(jī)器上裝Python的運(yùn)行環(huán)境,然后敲出代碼寫個程序去處理excel,萬一出錯還得去,csdn,上扒各種帖子找bug...唉,別浪費(fèi)人家雙十一了吧。
Python開發(fā)軟件可根據(jù)其用途不同分為兩種,一種是Python代碼編輯器,一種是Python集成開發(fā)工具,兩者的配合使用可以極大的提高Python開發(fā)人員的編程效率,以下是常用的幾款Python代碼編輯器和Python集成開發(fā)工具。一、Python代碼編輯器1. Sublime Text是一款非常流行的代碼編輯器,支持Python代碼編輯,同時兼容所有平臺,并且豐富的插件擴(kuò)展了語法和編輯功能,迅捷小巧,具有良好的兼容性,很受編程人士的喜愛!2. VimVim和Vi是一種模型編輯器,它將文本查看從文本編輯中分離,VIM在原始VI之上做了諸多改進(jìn),包括可擴(kuò)展模型和就地代碼構(gòu)建,可用于各種Python開發(fā)任務(wù)!3. AtomAtom被稱為“21世紀(jì)可破解的文本編輯器”,可以兼容所有平臺,擁有時尚的界面、文件系統(tǒng)瀏覽器和擴(kuò)展插件市場,使用Electron構(gòu)建,其運(yùn)行時安裝的擴(kuò)展插件可支持Python語言!4. GNU EmacsGNU Emacs是一款終身免費(fèi)且兼容任何平臺的代碼編輯器,使用強(qiáng)大的Lisp編程語言進(jìn)行定制,并為Python開發(fā)提供各種定制腳本,是一款可擴(kuò)展、可定制、自動記錄、實(shí)時顯示的編輯器,一直縈繞在UNIX周圍。5. Visual Studio Studio Code是一款兼容Linux、Mac OS X和Windows 平臺的全功能代碼編輯器,可擴(kuò)展并且可以對幾乎所有任務(wù)進(jìn)行配置,對于Python的支持可以在Visual Studio Code中安裝插件,只需快速點(diǎn)擊按鈕即可成功安裝,且可自動識別Python安裝和庫。二、Python集成開發(fā)環(huán)境1. 是*一款專門面向Python的全功能集成開發(fā)環(huán)境,同樣擁有付費(fèi)版和免費(fèi)開源版,PyCharm不論是在Windows、 Mac OS X系統(tǒng)中,還是在Linux系統(tǒng)中都支持快速安裝和使用。PyCharm直接支持Python開發(fā)環(huán)境,打開一個新的文件然后就可以開始編寫代碼,也可以在PyCharm中直接運(yùn)行和調(diào)試Python程序,它還支持源碼管理和項(xiàng)目,并且其擁有眾多便利和支持社區(qū),能夠快速掌握學(xué)習(xí)使用!2. Eclipse + 是Eclipse集成開發(fā)環(huán)境的一個插件,支持Python調(diào)試、代碼補(bǔ)全和交互式Python控制臺等,在Eclipse中安裝PyDev非常便捷,只需從Eclipse中選擇“Help”點(diǎn)擊“Eclipse ”然后搜索PyDev,點(diǎn)擊安裝,必要的時候重啟Eclipse即可,對于資深Eclipse開發(fā)者來說,PyDev可以很輕松上手!3. Visual Studio是一款全功能集成開發(fā)平臺,提供了免費(fèi)版和付費(fèi)版,可以支持各種平臺的開發(fā),且附帶了自己的擴(kuò)展插件市場。在Visual Studio中可進(jìn)行Python編程,并且支持Python智能感知、調(diào)試和其他工具,值得注意的是Visual Studio不支持Linux平臺!4. 是一款為了數(shù)據(jù)科學(xué)工作流做了優(yōu)化的開源Python集成開發(fā)環(huán)境,它是附在Anaconda軟件包管理器發(fā)行版中的,Spyder擁有大部分集成開發(fā)環(huán)境該具備的功能,如強(qiáng)大語法高亮功能的代碼編輯器、Python代碼補(bǔ)全以及集成文件瀏覽器,其還具有其他Python編輯環(huán)境中所不具備的變量瀏覽器功能,十分適合使用Python的數(shù)據(jù)科學(xué)家們。5. 是針對新手的一款集成開發(fā)環(huán)境,適用于全部主流平臺,默認(rèn)情況下,Thonny會和自帶捆綁的Python版本一起安裝,十分方便新手使用!
就拿大數(shù)據(jù)說話,優(yōu)勢一目了然,從事IT行業(yè),打開IT行業(yè)的新大門,找到適合自己的培訓(xùn)機(jī)構(gòu),進(jìn)行專業(yè)和系統(tǒng)的學(xué)習(xí)。
只要一個電話
我們免費(fèi)為您回電