用Python編程語言設(shè)計(jì)理念解決編程中的弊端
本文涉及到的實(shí)際應(yīng)用操作方案的相關(guān)介紹以及相關(guān)代碼的示例,以及用Python編程語言設(shè)計(jì)理念對(duì)存在弊端的編程習(xí)慣的糾正,以下就是文章的相關(guān)具體介紹。希望你在Python編程語言設(shè)計(jì)理念中得到更好的相關(guān)知識(shí)。
Python編程語言設(shè)計(jì)理念
可擴(kuò)充性。新的內(nèi)置模塊(module)可用C 或 C++寫成。也可為現(xiàn)成的模塊加上Python的接口。使用戶避免過分的語法的羈絆 將精力主要集中到所要實(shí)現(xiàn)的程序任務(wù)上。清晰。對(duì)于一個(gè)特定問題,只要有一種***的方法來解決就好。
表述為:
- There should be one-- and preferably
only one --obvious way to do it.
語法限制性強(qiáng),不好的編程習(xí)慣(例如if語句的下一行不向右縮進(jìn))都不能通過編譯。這樣有意的強(qiáng)制程序員養(yǎng)成良好的編程習(xí)慣。其中很重要的一項(xiàng)就是Python的縮進(jìn)規(guī)則。
例如if語句:
- if age<21:
- print "You cannot buy wine!\n"
- print "But you can buy chewing gum.\n"
- print "this is outside if\n"
和其他大多數(shù)語言(如C)的區(qū)別就是,一個(gè)模塊的界限,完全由每行的首字符在這一行的位置來決定的(而C語言是用一對(duì)花括號(hào){}來明確的定出模塊的邊界的,與字符的位置毫無關(guān)系)。這一點(diǎn)曾引起爭(zhēng)議。自從C語言誕生,語法含義與字符的排列方式分離,曾被認(rèn)為是程序語言的進(jìn)步。
不過不可否認(rèn)的是,通過強(qiáng)制程序員們縮進(jìn)(包括if,for和函數(shù)定義等所有需要使用模塊的地方),Python確實(shí)使得程序更加清晰和美觀。另外Python在其他部分的設(shè)計(jì)上也堅(jiān)持了清晰劃一的風(fēng)格,使得Python稱為一門易讀、易維護(hù)性,用途廣泛的語言。
Python編程語言應(yīng)用范圍
系統(tǒng)編程,提lass=innerlink>API,能方便進(jìn)行系統(tǒng)維護(hù)和管理,Linux下標(biāo)志性語言之一,是很多系統(tǒng)管理員理想的編程工具。
圖形處理,有PIL、Tkinter等圖形庫支持,能方便進(jìn)行圖形處理。#t#
數(shù)學(xué)處理,NumPy擴(kuò)展提供大量與許多標(biāo)準(zhǔn)數(shù)學(xué)庫的接口。
文本處理,python提供的re模塊能支持正則表達(dá)式,還提供SGML,XML分析模塊,許多程序員利用python進(jìn)行XML程序的開發(fā)。
數(shù)據(jù)庫編程,程序員可通過遵循Python DB-API(數(shù)據(jù)庫應(yīng)用程序編程接口)規(guī)范的模塊與Microsoft SQL Server,Oracle,Sybase,DB2,Mysql、SQLite等數(shù)據(jù)庫通信。
python自帶有一個(gè)Gadfly模塊,提供了一個(gè)完整的SQL環(huán)境。
網(wǎng)絡(luò)編程,提供豐富的模塊支持sockets編程,能方便快速地開發(fā)分布式應(yīng)用程序。
作為Web應(yīng)用的開發(fā)語言,支持***的XML技術(shù)。
多媒體應(yīng)用,Python的PyOpenGL模塊封裝了“OpenGL應(yīng)用程序編程接口”,能進(jìn)行二維和三維圖像處理。PyGame模塊可用于編寫游戲軟件。