A. python主要用於web開發還是桌面開發
python最初主要用於編寫系統維護腳本,但也可以用於web開發和桌面開發。
在web開發方面,有從輕到重量級不同的很多框架,比如web.py, Django, TurboGears, Zope等,其中Zope已經達到了企業級應用的量級。
而python做桌面開發(GUI)個人感覺不是很好,主流應該是用wxPython庫,但是界面設計工具不夠完善。
python開發的web應用理論上來說可以部署在IIS上,但估計沒有人這么做,一般都會選擇apache或者Nginx。
B. python 進行web 開發 怎麼配置環境
Python的目前有兩個版本,Python 2.7.5 和 Python 3.3.2。Python 3.x 與 2.x 不僅僅是版本的新舊的區別那麼簡單,Python3.x 是一個全新的東西。
1、下面的 Python 2.7.5 這個版本是 .msi 格式的,所以直接安裝即可,將 Python 2.7 安裝在了 E:Python 下。
然後就是配置環境變數, 具體不多說,直接附圖:
C. 為什麼Python沒有標準的GUI庫
gui 框架和 web 框架一樣,都是復雜程序很高的軟體,不是說想做一個就很快地從頭做一個的。況且在設計哲學還不統一,要弄個標准談何容易。
如果標准指的是標准庫,那 tkinter 就是了。
據我所知 wxpython 應該是有點事實上的標準的味道,當然 gtk 的 fans 肯定要不同意了。
D. Python Web開發比較流行的框架都有什麼
目前Python流行的Web框架包括:Django、Flask和Tornado。框架把構建Web應用的通用的代碼進行了封裝,把相應的模塊組織起來,使用Web框架可以更輕松、快捷的創建web應用,不用去關注一些底層細節。
1、Django框架
Django是基於Python的免費和開放源代碼Web框架,它遵循模型-模板-視圖(MTV)體系結構模式。它由Django Software Foundation(DSF)維護,這是一個由非營利組織成立的獨立組織。Django對基礎的代碼進行了封裝並提供相應的 API,開發者在使用框架是直接調用封裝好的 API 可以省去很多代碼編寫,從而提高工作效率和開發速度。
Django的設計理念如下:
①松耦合——Django的目標是使堆棧中的每個元素彼此獨立。
②更少的編碼——更少的代碼,因此可以快速開發。
③不重復自己(DRY)——一切都應該只在一個地方開發,而不是一次又一次地重復。
④快速開發——Django的理念是盡一切可能促進超快速開發。
⑤簡潔的設計——Django嚴格按照自己的代碼維護簡潔的設計,並易於遵循最佳的Web開發實踐。
Django的一些優勢如下:
①對象關系映射(ORM)支持——Django在數據模型和資料庫引擎之間建立了橋梁,並支持包括MySQL,Oracle,Postgres等在內的大量資料庫系統。
②多語言支持——Django通過其內置的國際化系統支持多語言網站。因此,您可以開發支持多種語言的網站。
③框架支持——Django內置了對Ajax,RSS,緩存和其他各種框架的支持。
④GUI——Django為管理活動提供了一個很好的即用型用戶界面。
⑤開發環境——Django帶有輕量級的Web伺服器,以促進端到端應用程序的開發和測試。
⑥Django是Python Web框架。和大多數現代框架一樣,Django支持MVC模式。
2、Flask框架
Flask 是 Python 編寫的一種輕量級 ( 微 ) 的 Web 開發框架,只提供 Web 框架的核心功能,較其他類型的框架更為的自由、靈活、更加適合高度定製化的 Web 項目。Flask 在功能上面沒有欠缺,只不過更多的選擇及功能的實現交給了開發者去完成,因此 Flask 對開發人員的水平有了一定的要求。
3、Tornado框架
在之前的學習過程當中,學習過了 Flask 和 Django 這兩個 Python Web 框架,現在來認識一個更加復雜但是高效的 Python Web 框架 : Tornado。
Tornado 是 Python 編寫的一個強大的可擴展的 Web 伺服器,在處理高網路流量的時候表現的足夠強大,但是在創建的時候,和 Flask 類似又足夠輕量,並且可以被用到大量的工具當中。相對於其他的框架,
Tornado 有如下特點:
1、完整的 Web 開發框架,和 Django,Flask 一樣,Tornado 也提供了路由映射,request 上下文,基於模板的頁面渲染這些功能。
2、同樣是一個高效的網路庫,性能可以和 Python 的 Twisted,Gevent 等底層框架媲美,同時提供了非同步IO, 超時事件處理,功能,這樣 twisted 除了做 Web 之外還可以做爬蟲,物聯網關或者游戲伺服器等後台應用。
3、提供了高效的 HTTPClient, 除了伺服器端框架,還提供了基於非同步框架的 HTTP 客戶端
4、提供了高效的內部伺服器,Tornado 的內部伺服器可以直接用於生產環境
5、完備的 WebSocket 支持
關於Python的基礎問題可以看下這個網頁的視頻教程,網頁鏈接,希望我的回答能幫到你。
E. 如何快速使用Python的Web框架如Django 製作GUI
第一步(Model):設計自己的數據模型。
第二步(View):創建網頁模板。Django自己的Html模板語言,非常容易將數據和模板結合起來,創建動態頁面。
第三步(Control):定義URL,提供服務和控制。
F. python3 gui編程 哪個好
Python本身語法優美, 但一旦到了GUI就醜陋得不行.
wxPython PyQT都要用一種不夠優美的方式來描述GUI.
而且你有個很尷尬的問題, 要不要學一個你根本無法掌控的工具?
你花了錢買了本 wxPython in Action, 學熟練了. 這好了. Py3來了. 社區更新不到. 甚至哪天項目作者掛了, 參見web.py, 你怎麼辦? 雖然肯定會有大牛去接手, 但效率呢? 你本質上不是在學習GUI編程, 而是在學習如何使用工具.
就是說, 你學這些GUI, 根本上就是將自己綁定在了上面. Python最為人詬病的地方就是, Python 永遠要依靠別的庫來擴展, 沒有一種完全意義上的獨立性. 如果真能做到Java那種程度, 獨立不獨立也無所謂了.
所以, 我個人建議, 在這個不是桌面為王的時代. 買本HTML5的書, 用Python的WEB框架, 建立一個本地伺服器..雖然說又要學HTML5很麻煩, 但相比於用桌面各種各樣的GUI描述語言, HTML那種標簽化設計已經簡單很多了. 你完全不需要管理內存, 不需要擔心非同步的處理. 為下一步的在線化鋪平道路.
Python是什麼都能做一點, 但什麼都有替代品. 那就要發揮Python的優勢, 整合資源啊! 將GUI的渲染交給瀏覽器. 將邏輯的處理交給Python.
Python+HTML5+JS+Python框架使用經驗, 對未來也有好處.
你需要做的, 就是寫好一個模板, 然後用框架表現出來.
G. 如何學習 Python GUI 編程
初學可以先學習tkinter模塊的用法,
但是很多的書上介紹的太簡短,不方便系統的學習掌握,這樣的話可以好好利用網路資源,網上關於tkinter模塊有很多博客和文章可供參考學習,十分方便的。
找准一個方向一直走到底。因為GUI方案很多。如果均都是淺嘗輒止就什麼也做不好。
QT可以用心做一下。不過雖然界面很好看。功能強大。不過裡面有些坑。這個東東,國外的人也喜歡用。
wxWindows很強大。如果習慣在windows下編程方式的老程序員,可以使用這個。特別是delphi熟悉的人。
TKinter,這個就是玩具。偶爾寫幾句可以,僅限於對話框。IDLE就是它寫的。一些linux的管理工具也是它寫的。比如輸入法,監控什麼的。好在是python內置的。
gtk,這是高性能制圖必須的。如果對性能要求很高的制圖軟體,就一定走這條路。游戲也是。
pygame,這個一直印象不太好,入門級游戲程序GUI。
還有些其它的科學制圖工具,還有graphics之類的。都是偶爾用一下。
建議你用WEB界面做GUI開發。這樣就海闊天空了。
H. python用於web開發的第三方庫有哪些
1. wxPython
wxPython 是一個跨平台的 GUI 工具集,是 Python 語言的一套優秀的 GUI 圖形庫,允許程序員創建完整的、功能鍵全的 GUI 用戶界面。它以wxWidgets為基礎,可以分別在Windows、Mac OS、Linux上調用它們的本地組件,讓 GUI 程序在不同的平台上顯示對應的風格。
2. Kivy
Kivy 是一個開源庫,能夠讓使用相同源代碼創建的程序實現跨平台運行,而且它還可以做創新型用戶界面開發,如果有做創新型用戶界面的可以關注一下。
3. Dabo
Dabo是一個跨平台的應用程序開發框架,它使用Python語言開發,基於wxpython的再封裝庫。作為一個跨平台應用開發框架,它可以用來建立以數據為中心的應用程序,而且還提供資料庫訪問,商業邏輯以及用戶界面。
4. Flexx
Flexx 是一個Python工具包,可以用來創建圖形化界面程序,還支持使用 Web 技術進行界面的渲染,只要有 Python 和瀏覽器就可以運行。
5. Tkinter
這是一個跨平台圖形用戶界面GUI開發工具,是Tk圖形用戶界面工具包標準的Python介面,它很輕量,而且可以運行於絕大多數的Unix平台、Windows和Macintosh系統。
6. PyQt
PyQt 是一個非常全面的庫,是Python編程語言和Qt庫的成功融合。Qt本身是一個擴展的C++ GUI應用開發框架,可以在UNIX、Windows和Mac OS X上運行,而且能跨平台使用,被廣泛應用於許多行業。
7. PyGTK
PyGTK 主要適用於 Linux/UNIX 系統,基於老版本的 GTK+2 的庫提供綁定,藉助於底層 GTK+2 所提供的各種可視化元素和組件,能開發出在 GNOME 桌面系統上運行的軟體。值得一提的是,PyGTK 對 GTK+2 的C語言進行了簡單封裝,提供了面向對象的編程介面。
8. Pywin32
Windows Pywin32 庫允許我們像 VC 一樣的形式使用 Python 開發 win32 應用。Pywin32提供了很多訪問windows的API。較重要的三個模塊就是win32api、win32gui和win32con。
I. python的用途和優點
python的用途:
python也是一門程序語言。能寫各種各樣的程序。
優點:
1.支持OOP編程 從根本
上講Python仍是一種面向對象的語言,支持多態、繼承等高級概念,在Python里使用OOP十分容易 沒有C++、Java那樣復雜,但不必做Python下OOp高手,夠用即可。
2. 免費Python的使用是完全免費的,您可以從網路上免費下載、安裝使用, Python上的其他程序包,也可下載安裝使用。 Python的免費的同時又有很多的的社區對用戶的提問提出快速的技術支持,學習和使用Python技術不再是一個人在戰斗!
3. 可移植性 Python的實現是用ansi c編寫的,可以運行在目前所有主流平台上,手機、pad上均可運行Python程序,其下的程序包也具有可移植性。
4. 功能強大 從特性的觀點上看,Python是一個混合體,他豐富的工具集使得他介於傳統的腳本語言和系統語言之間。
拓展資料:
設計定位
Python的設計哲學是"優雅"、"明確"、"簡單"。因此,Perl語言中"總是有多種方法來做同一件事"的理念在Python開發者中通常是難以忍受的。Python開發者的哲學是"用一種方法,最好是只有一種方法來做一件事"。
在設計Python語言時,如果面臨多種選擇,Python開發者一般會拒絕花俏的語法,而選擇明確的沒有或者很少有歧義的語法。由於這種設計觀念的差異,Python源代碼通常被認為比Perl具備更好的可讀性,並且能夠支撐大規模的軟體開發。這些准則被稱為Python格言。在Python解釋器內運行import this可以獲得完整的列表。
Python開發人員盡量避開不成熟或者不重要的優化。一些針對非重要部位的加快運行速度的補丁通常不會被合並到Python內。所以很多人認為Python很慢。不過,根據二八定律,大多數程序對速度要求不高。在某些對運行速度要求很高的情況,Python設計師傾向於使用JIT技術,或者用使用C/C++語言改寫這部分程序。可用的JIT技術是PyPy。
Python是完全面向對象的語言。函數、模塊、數字、字元串都是對象。並且完全支持繼承、重載、派生、多繼承,有益於增強源代碼的復用性。Python支持重載運算符和動態類型。相對於Lisp這種傳統的函數式編程語言,Python對函數式設計只提供了有限的支持。有兩個標准庫(functools, itertools)提供了Haskell和Standard ML中久經考驗的函數式程序設計工具。
雖然Python可能被粗略地分類為"腳本語言"(script language),但實際上一些大規模軟體開發計劃例如Zope、Mnet及BitTorrent,Google也廣泛地使用它。Python的支持者較喜歡稱它為一種高級動態編程語言,原因是"腳本語言"泛指僅作簡單程序設計任務的語言,如shellscript、VBScript等只能處理簡單任務的編程語言,並不能與Python相提並論。
Python本身被設計為可擴充的。並非所有的特性和功能都集成到語言核心。Python提供了豐富的API和工具,以便程序員能夠輕松地使用C語言、C++、Cython來編寫擴充模塊。Python編譯器本身也可以被集成到其它需要腳本語言的程序內。
因此,很多人還把Python作為一種"膠水語言"(glue language)使用。使用Python將其他語言編寫的程序進行集成和封裝。在Google內部的很多項目,例如Google Engine使用C++編寫性能要求極高的部分,然後用Python或Java/Go調用相應的模塊。
J. 郁悶於Python GUI開發,有沒有好的框架
作為Python開發者,你遲早都會用到圖形用戶界面來開發應用。幸運的是,你有很多選擇,python wifi GUI編程網路列舉了超過30款跨平台框架,以及Pyjamas這樣的,基於谷歌Web Toolkit埠的跨瀏覽器web開發工具。
那麼如何在眾多的Python GUI框架中選擇呢?近日Dice的技術專家David Bolton為Python開發者推薦了Windows、Mac和Linux上最好的四款Python3開發工具(Gtk、Qt、Tk和wxWidgets)和五款框架(Kivy、PyQt、gui2Py,libavg以及wxPython)。以下是他的推薦理由:
Kivy
基於MIT授權的Kivy是最熱門的Python開發框架之一,基於OPenGL ES 2,支持多平台(包括Android/iOS)原生的多點觸摸,是一個圍繞主循環的事件驅動型框架,因此非常適合游戲開發。Kivy框架在處理從widgets到動畫方面非常強大,如果你准備開發跨平台圖形應用,或者僅僅需要一個非常強大的跨平台GUI,Kivy都是非常值得關注的。
PyQt
Qt是一個跨平台的多重授權C++框架,如果你開發的是開源項目,你就可以免費使用Qt,否則你需要購買一個商業版本。Qt存在已經很長時間了,曾經屬於諾基亞。Qt是一個非常全面的工具和API庫,為業界所廣泛使用,支持包括移動在內的多個平台,包括GPS導航儀在內的很多設備都使用了Qt。
PyGUI
與Kivy和PyQt相比,PyGUI相對簡單,而且只面向Unix、Mac和Windows平台。作為MVC框架,PyGUI的開發理念是能夠更好更容易地融入Python生態系統。
PyGUI的一個主要目標就是將Python應用與平台底層的GUI代碼撇清,讓應用能夠始終忠實顯示平台的原生GUI,如果你想要快速上手學習Python GUI,那麼PyGUI就是你的入門選擇。
Libavg
與Kivy類似,libavg也採用了OpenGL並支持硬體加速。作為開源軟體,Libavg可以運行在linux、Mac OS X和Windows多個平台,功能加大豐富,例如其框架引擎可以處理數以千計的媒體對象(圖片、文本、視頻和攝像頭輸出),支持快速視頻輸出,並提供一個展示文本的markup系統,此外還支持blur、Chromakery等GPU著色效果。
wxPython
雖然wxPython尚未支持Python3,但資深的wxPython擁有成熟系統的教學資料,絕對值得推薦。xwPython基於wxWidgets,是一個C++寫成的跨平台GUI庫,支持多種文檔格式,並提供文本編輯和字處理widgets。關於wxPython更多的介紹,去看看wiki吧。