使用Python時(shí)注意問(wèn)題大匯總
使用Python時(shí),你需要注意許多問(wèn)題,首先先要大家理解下什么是Python,其實(shí)這種語(yǔ)言具有非常簡(jiǎn)捷而清晰的語(yǔ)法特點(diǎn),適合完成各種高層任務(wù),幾乎可以在所有的操作系統(tǒng)中運(yùn)行。
我想說(shuō)的是python是這個(gè)星球最美的編程語(yǔ)言。據(jù)說(shuō)有些schema語(yǔ)言用起來(lái)很cool,在我學(xué)會(huì)它們之前我保留我的看法。 Python能作什么呢?www.python.org能夠找到答案,其實(shí)基本上你可以問(wèn)python不能作什么。我還是先告訴大家我用python作什么。
1.計(jì)算器
python的shell是個(gè)很好的命令行計(jì)算器,支持各種復(fù)雜的計(jì)算式,用了它之后,我的心算能力急劇下降。
2.處理各種文本
從網(wǎng)上down一些文章,需要?jiǎng)h掉里面的空白行;沒有規(guī)則的大段數(shù)字,需要求和; 不同格式的頭文件轉(zhuǎn)換等等;
這個(gè)用perl處理更好,3年前我也是這樣作的,當(dāng)我使用Python遇到python之后,我就徹底放棄了perl了。perl很不錯(cuò),基本上同樣的功能,用python寫代碼會(huì)長(zhǎng)一些,網(wǎng)絡(luò)社區(qū)提供的各種perl的功能包也多一些,但是Larry Wall 是一個(gè)詩(shī)人,詩(shī)人的氣質(zhì)讓perl的語(yǔ)法,在我們這些程序員眼里看起來(lái)很零亂。#t#
基本上2個(gè)星期不用,要拿perl干活,就得找本語(yǔ)法書重新看看。在linux下面還好,可以man一把,要是在windows上裝一個(gè)ActivePerl,想查幫助還得打開Perl Core Documentation這個(gè)html文件,一行一行的找,雖然腳本語(yǔ)言的幫助系統(tǒng)都不能
.Net,Java等商業(yè)開發(fā)工具的幫助相提并論,但是python好歹也有一個(gè)chm文件,可以index的。Perl是給真正的hacker用的, 簡(jiǎn)潔,明快卻是python的優(yōu)點(diǎn)。要是作為一個(gè)專業(yè)的網(wǎng)管,選擇perl沒錯(cuò)的,至于普通程序員的小玩具,python更好使。
3.做各種原型系統(tǒng),快速開發(fā)。
界面,網(wǎng)絡(luò),文本處理,圖像處理,科學(xué)計(jì)算。桌面程序,可以用wxpython庫(kù),速度并不慢。python有很強(qiáng)的網(wǎng)絡(luò)編程能力,它的module都是c/c++寫的。
圖像處理,除了python自帶的PIL包,還可以用ImageMagic,這樣Gimp能夠做什么,python也能做什么,寫10來(lái)行程序,可以處理一大批圖片,這樣的快感不多了。3年前,我?guī)鸵籎J寫程序處理衛(wèi)星圖片,大概是把衛(wèi)星云圖切成32*32的正方形,依次計(jì)算闕值然后再統(tǒng)計(jì)。我用了一個(gè)星期的所有下午。
pure c,差不多1500行代碼,那個(gè)時(shí)候正在談戀愛,智商比較低,在windows上面,裝一個(gè)gcc,用editplus做編輯器,gdb+printf來(lái)調(diào)試,雖然***小有成就感,確很費(fèi)了很多功夫,程序的核心部分,如果用python來(lái)做,短短幾行就搞定。
- import socket, sys
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- s.connect((host, port))
- try:
- s.connect((host, port))
- s.send(.)
- except IOError:
- pass:
當(dāng)然如果使用Python做圖像處理算法研究,還是推薦用matlab,python的浮點(diǎn)運(yùn)算效率比較低,這是因?yàn)?FONT size=+0>python中的浮點(diǎn)數(shù)位數(shù)幾乎可以無(wú)限,類似Big Int的處理方法
【編輯推薦】