標籤:

如何理解python大法好?

目前用java-selenium-jenkins搞些測試,之前學過一點Python皮毛,但因為時間少,沒深入,所以沒能領會精髓;一直聽說Python大法好,求解答。


前python腦殘粉來說真相:python精髓是import!


這只是程序員們之間的調(zhuang)侃(bi)而已,我也喜歡跟風鼓吹,類似還有「php宇宙第一」,「erlang大法好」,23333

  • 在Imperative Programming裡面

用Python寫代碼的體驗最好,就和寫偽碼一樣輕鬆。

最重要的一點原因就是他沒有其他語言,那麼多複雜的特性,我用Python不會像寫Ruby那樣戰戰兢兢,深怕一不小心就觸發了Ruby某個語法糖。(雖然Ruby是我見過可以用最少的代碼量,完成複雜項目的語言,沒有之一,我也因此深愛Ruby)

至於C#,Java,PHP5 這尼瑪就是三兄弟了,長得也太像了,使用體驗也差不多,工業化語言,大家懂的。

  • Functional Programming

只用過Erlang, 相比命令式語言,應該可以說是思維方式上的進一步提升,是從更系統層面、更大局方向的開發,在這些方面使用體驗完爆命令式編程,不過拿它來做個單機命令行程序總有種殺雞牛刀的感覺。

以上



瀉藥

主要是寫起來痛苦比較小(當然了,對不同人來說,痛苦點可能不一樣)


寫代碼就跟寫偽碼似的,寫起來爽快;強制縮進看起來爽;最後,「import在手,天下我有」的感覺。。。可幫助你快速達到目的,感覺有很強的工具感呢

補充:以前用shell在伺服器上寫一些腳本處理數據,最近決定用python寫寫試試,當我寫第一個class的時候就已經收不住了,感受到了python寫腳本帶來的極致體驗,並且OO使腳本充滿了活力。


呵呵! Python 可真是深思熟慮設計出來的。嗯。深思熟慮的搞出來了,然後又深思熟慮的搞了個 Python 3。


各種語言大法都有人說好啊,比如Ruby,樓上有人說Python的Hello World程序只要:print "Hello World",我還說Ruby只要p "Hello World"呢。大法好不好,全在於自己的認知,不在於語言本身。


不能太絕對,要看用於什麼。


那是因為c好,python才好。

最近在讀python的源碼,感覺和glib挺像,所以常常在想,python其實才是c的自然延伸。不像其他語言另起爐灶,python直接粘合那些千錘百鍊的c庫,在此基礎上提供穩定可靠的面向對象的封裝,比glib優雅,比c++穩健。

對c程序員來說,其實是更自然的發展。


用過都說好 誰用誰知道

import在手 天下我有


題主別打我,我只是貼張圖


其他語言和python相比就是反智的。我經常在推薦python的過程中給有一點編程基礎的人舉這個例子:

如何交換兩個變數的值?

c++:

void swap(int a, int b){
int temp;
temp = a;
a = b;
b = temp;
}
int main() {
int a = 1, b = 2;
swap(a, b);
}

java:

static void swap(int[] a, int i, int j) {
int t = a[i];
a[i] = a[j];
a[j] = t;
}
public static void main(String[] args) {
int a = 1;
int b = 2;
int[] r = new int[2];
r[0] = a;
r[1] = b;
swap(r, 0, 1);
a = r[0]; b = r[1];
}

需要提前把兩個數放到數組裡

python:

a = 1
b = 2
a, b = b, a

每每講到這裡,我都要看看聽者的表情變化,一水的眉頭緊皺,然後霍然開朗起來。此時我都要腦補一下他們的心理活動——怎麼能這麼寫?就該這麼寫呀。

另外一個:縮進表層級。開啟吐槽模式。

當初給中學生講C語言,知道能痛苦到什麼程度嗎?

學生寫了4、5百個字元的代碼,只用3行!!!如果不是#include,#define必須佔一行的話,他就用一行了!!!

問丫為什麼?懶得打回車............

可丫有bug呀,丫自己不會調呀,得老師我調呀。這麼一坨怎麼調呀?

讓丫改格式,遇分號給我回車,過會我過來看看:

for(i=0;
i&<10; i++){printf(%d ,i); }

滿目的這種代碼,你丫的會查找替換你很牛嗎?看不見該雙引號嗎?

你們知道成天面對這樣的學生、這樣的代碼,人生都是灰暗的了啊!!!

果斷換python,只要我不告訴他們分號的作用,他們就得老老實實的縮進,縮進,再縮進,整個人生都亮了。

回歸正常模式

還有一些語言特性像mixins、decorators,雖然和其他語言有類似的地方,但是python的實現絕對的是經過深思熟慮而設計出來的,比其他語言優雅得多,好用很多,關鍵是好講好懂。


沒有好語言,也沒有壞的語言,只有最合適的語言!

編程語言和自然語言其實是一樣的,去美國鄉村說中文,去中國縣城說英語,去南美部落說泰語,去東南亞叢林說瑪雅語,想想都覺得很蛋疼不是?

所以說:

在美國鄉村,英語大法好;在中國縣城,中文大法好;南美鄉村,西語大法好;東南亞叢林,泰語緬甸語柬埔寨語大法好。。。

把這個道理映射到編程語言上就行了。


感覺很人性化 寫起來很爽很方便就是了(≧▽≦)


"Python大法好"可能是指Python相對於C/C++,Java...這些語言的好, 特別是Java, new來new去,煩死了都.

但是可能根本沒有Ruby爽, 寫Ruby簡直是在飛!


推薦閱讀:

TAG:Python | 編程 |