佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1494|回复: 7

Python ,讓寫程式更簡單

[复制链接]
发表于 9-12-2008 11:33 AM | 显示全部楼层
好诗。。。好诗。。。。
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 1-12-2008 09:59 AM | 显示全部楼层 |阅读模式
Python ,讓寫程式更簡單

不論編譯或直譯的程式語言都有千萬種,我們為什麼選擇 Python 呢?以下摘錄 Tim Peters 的  The Zen of Python :
    美麗優於醜陋,明講好過暗諭。
    簡潔者為上,複雜者次之,繁澀者為下。
    平舖善於層疊,勻散勝過稠密;以致輕鬆易讀。
    特例難免但不可打破原則,務求純淨卻不可不切實際。
    斷勿使錯誤靜靜流逝,除非有意如此。
    在模擬兩可之間,拒絕猜測的誘惑。
    總會有一種明確的寫法,最好也只有一種,
    但或須細想方可得。
   凡事雖應三思後行,但坐而言不如起而行。
    難以解釋的實作方式,必定是壞方法。
    容易解釋的實作方式,可能是好主意。
    命名空間讚,吾人多實用。


Note:
Zen 在佛教中是禪的意思,這篇原文在 PEP 20 ,翻譯取自 PyTUG 的 PotWiki 。


「明講」也就是清楚,「平舖」也可以用乾淨來講,因而清楚、簡潔、乾淨這三者為 Python 語法中最為突出的特色,不但對於程式的撰寫及維護容易,同時形成易學、易讀,這可是相當適合初學者的呢!

Python 的發明者 Guido van Rossum 曾提出一個口號: “There is only one way to do it.” ,中文意思是:「做一件事情只有一個方法。」固然我們知道一個問題的解決方法往往不只一個,各種不同的方法可能會帶來不同的影響與成效,然而當我們把目光焦點集中在程式語法的表達上時,或許,當語法描述一種方法只有一種寫法時,某種程度上來講,我們更能洞察問題的本質。

Python ,讓寫程式更簡單!

http://planet.python.org.tw/?page=1
回复

使用道具 举报

发表于 8-12-2008 11:24 PM | 显示全部楼层
有意思的是,这正好和Perl 语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There's More Than One Way To Do It.)(不只一種方法來做這件事) 完全相反,这似乎是人们常把Perl和Python互相比较的重要原因。

另一個 Perl 程式設計師常常想起的 Perl 俗語是:

    Easy things should be easy, and hard things should be possible.
相比 C、Pascal 這樣的「高級」語言而言,Perl語言直接提供泛型變數、動態數組、Hash表等更加便捷的編程元素。Perl 具有動態語言的強大靈活的特性,並且還從C/C++、Basic、Pascal 等語言中分別借鑒了語法規則,從而提供了許多冗餘語法。使得程式設計師可以忽略計算機內部資料存儲、類型、處理方法、運算規則、甚至內存越界等等的細節,而將思考中心放在所需要的程序邏輯上。就這一點而言,很多 Perl 程式設計師認為目前只有 Perl、Python等泛型語言才能稱為「高級」語言,而 C、Pascal 甚至 C++ 這些只能稱為「中高級」語言而已。可以說,在統一變數類型和掩蓋運算細節方面,Perl 做得比 Python 更為出色。

由於從其他語言大量借鑒了語法,使得從其他程式語言轉到 Perl 語言的程式設計師可以迅速上手寫程序並完成任務,這使得 Perl語言是一門容易用的語言。但問題是這樣寫出來的「類xx語言」的 Perl 程序對不熟悉這種語言的程式設計師卻如同天書,這使得 Perl 語言易寫不易讀。
回复

使用道具 举报

 楼主| 发表于 9-12-2008 01:20 PM | 显示全部楼层

回复 3# tensaix2j 的帖子

好的东西一定要分享..file:///G:/module.jpg

[ 本帖最后由 mokth 于 9-12-2008 01:52 PM 编辑 ]
回复

使用道具 举报

发表于 9-12-2008 02:40 PM | 显示全部楼层
LTU 那边对python 的看法是什么呢。。。
回复

使用道具 举报

发表于 9-12-2008 03:30 PM | 显示全部楼层
曾經花了一段時間去學Python。 

當初只是因爲想找一個免費易學的、有免費IDE的,
可以替代或與C/C++的混合使用的、以及有GUI Toolkits 的語言。
我還花了不少時間做了一些研究,覺得python是不錯的。

由於我是C/C++出身的,所以學起來完全沒問題。
唯一無法讓我滿意的就是它沒有指針(Pointer )。
指針是用途很廣的功能,容易運用。
在用來編寫generic functions, classes, wrapper, libraries etc 是蠻好用的。
許多高級語言的設計者都喜歡說指針容易使編寫人迷惑,
除蟲(debug)困難、以及容易犯錯而產生臭蟲。

然但對我而言,那只不過應該歸類為對指針掌握不到家者與初學者而已。
Python 雖然沒有提供指針的功能,不過還是有解決問題的方法。
那就是結合了Python + C/C++ + swig。
我總結了一套自己所需要的Python工具就包括了:-
Python, wxPython, boa constructor, swig, gcc/g++.
不過到現在我還是無法找到以下C 函數相應的用法:-
fscanf(hfile,"%d,%f,%ld\n",&intnum,&floatnum,&longnum);

Python 雖好,但是它還是有極限,它始終比不上我的老朋友C/C++好。

當我在開始正式要編程時就遇上問題了,
Python 與windows 或硬件的dll 都必須要多編一層wrapper。
而且並不是都能夠正常的工作。
其實還蠻花精神與時間的來做調試的。

最後由於我找到了免費的C/C++ 的IDE,所以放棄了Python。
目前我使用的是:
-MinGW, gcc/g++, wxWidgets, CodeBlocks

總結我的經驗:
Python 的優點,就如它網站所說的。http://www.python.org
它適合用於web enable application, database, networking, game development etc.

但是不適合control, hardware/system interface, realtime/time critical application etc.

另外,現在似乎還不是有許多平臺/server提供Python的runtime engine。

Python 是很好的 RAD 工具 。我並不排除以後會再與C/C++,database一起混合使用。

[ 本帖最后由 Sunyata 于 9-12-2008 05:32 PM 编辑 ]
回复

使用道具 举报

Follow Us
 楼主| 发表于 9-12-2008 03:53 PM | 显示全部楼层

回复 6# Sunyata 的帖子

ha..ha.....totally agree......, 不过不是每个人都是C++好手  PYTHON 可以用WINGIDE (可以HACK的 )
回复

使用道具 举报

发表于 9-12-2008 04:58 PM | 显示全部楼层
不习惯 python用 indentation 来做scope 的 delimeter我还是比较喜欢 tcl 的everything is string 的概念

[ 本帖最后由 tensaix2j 于 9-12-2008 05:00 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 15-6-2024 07:00 PM , Processed in 0.062282 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表