當前位置:成語大全網 - 書法字典 - perl和python擅長什麽?

perl和python擅長什麽?

Perl最初是為了方便編寫復雜高效的系統腳本而設計的,它也是使用最廣泛的腳本語言。相當於編程中的瑞士軍刀,對字符和文本文件的處理能力很強。以前需要shell+sed+awk+C的任務只能通過perl腳本來完成。而且,應用領域已經拓寬到支持面向對象編程。Python是壹種面向對象的動態編程語言,適合腳本編寫和快速開發。它最顯著的特點是充當了編譯語言(如C)和腳本語言(如perl)之間的橋梁。其強大的功能、可擴展性和面向對象的特性使其成為大型應用開發工具。關於強類型Perl語言,數據的類型取決於數據所在的上下文。在Python語言中,數據類型是由數據本身決定的。Python因此被普遍認為是強類型語言,而Perl不是,但是Perl愛好者壹般不關心這種東西。其實換個角度看,Python是固定的數據類型,是變化的函數類型;另壹方面,Perl是固定的函數類型和可變的數據類型。都很有意思。關於內置的基本類型Perl,基本類型叫標量,這是為了和下面的數組和hash相區別。標量可以是數字或字符串。基本上標量非此即彼;換句話說,標量既是數字又是字符串。標量是字符串還是數字完全取決於使用標量的上下文。如果是處理字符串的函數,就是字符串。如果是處理數字的函數,那就是數字。Perl會盡壹切努力完成它們之間的轉換,不管這在妳看來有多荒謬。在Perl中,所有標量都以$開頭,所有標量都以$開頭。Python的基本類型還是數字或字符串。但是,它不能既是數字又是字符串。Python會判斷變量是數字還是字符串,從而選擇如何解釋函數;如果它找不到合適的解釋,Python就會拋出異常。壹般來說,這種策略可以取悅壹些程序員,讓另壹些程序員感到不舒服。關於Perl有兩種復合類型:數組和散列。Python有三種復合類型:tuple、list、dict。Python中的Tuple+list完全對應數組;在Perl中;所以不存在誰提供的類型多的問題。關於在Perl中創建數組,可以使用()。但是()是否會創建數組要看上下文;換句話說,只有當上下文需要數組時,()才會生成數組。事實上,()可能會創建壹個標量或壹個散列,這取決於上下文。關於在Perl中訪問單個元素,我們可以使用$foo[$bar]來表示這個數組中的$bar元素。特別奇怪的是,這個foo和$foo中的foo沒有任何關系。這壹次,應該遵循上面提到的Perl原則。壹個符號的意思取決於上下文。而且在$foo[$bar]的上下文中,$bar會被Perl做成整數,不管是什麽。在Perl中,用越界的idx訪問array是完全正常的,Perl會悄悄地擴展array。在Python中,tuple或list,兩者都以lst[idx]的形式訪問元素。在Python中,用越界idx訪問數組會觸發異常。Python提供了強大的切片功能。在listPerl中作為壹個整體,整個數組用以@開頭的名字來表示,據說是因為@是數組的前綴。但是根據Perl的原理,像@foo這樣的數組也可以用在需要標量的環境中。Perl會盡量把@foo轉換成標量,壹般是@foo的長度。