前言
以前一直從事的PHP的學(xué)習(xí)與開發(fā)帖努。但考慮到python語言在科學(xué)計算以及機器學(xué)習(xí)方面的優(yōu)勢万细,準(zhǔn)備上手學(xué)習(xí)學(xué)習(xí)割笙。
我一直是采用一種需求驅(qū)動的學(xué)習(xí)模式。即 為某個需求而學(xué)習(xí)识虚。這不,前一段時間特別想實現(xiàn)一個 數(shù)據(jù)在線可視化抓取處理可視化顯示的 一個需求妒茬,而 在php 端無法找到一個好的解決方案的情況下担锤,開始 學(xué)習(xí)python,以及 Django乍钻。
嗯肛循!當(dāng)然铭腕,目前還在淺顯的學(xué)習(xí)狀態(tài)中。
好了多糠,開始正文累舷。
正文
首先夹孔,從php到python 有一個語言的過度被盈。php屬于C語言系,風(fēng)格上面與c是比較像的搭伤,當(dāng)然只怎,和javascript也是有點像的(主要指的是函數(shù)聲明,以及變量方面怜俐,額身堡,腳本語言其實都挺像的……),而python的語法就有些獨特了拍鲤,雖然很多人說它比較簡潔贴谎,但是對于我這種習(xí)慣了大括號,分號的人來講殿漠,還是有些別扭的赴精。不過值得慶幸的是,python是可以添加分號的绞幌,這一點還是挺爽的蕾哟。
再一個,一些關(guān)鍵字的過度莲蜘。如:
從funciton 到def
從$ 到啥都沒有
從echo 到 print
從數(shù)組到列表到字典到元組……
然后就差不多了谭确。
總的來講,計算機編程語言還是有很多相似之處的票渠,尤其是這種 同屬于編程語言頂端的 高級腳本語言逐哈,在重重語法糖的包裹下,已經(jīng)很 符合人類思維力问顷,甚至開始符合人的感性思維昂秃。
還有一點,就是面向?qū)ο蟮倪^度杜窄。
python到底還是取消了很多的東西肠骆。剛開始看也是懵比的。因為 它的面向?qū)ο笕械姆椒ㄖ卸家?寫入一個 self 參數(shù)蚀腿,這個就不能默認(rèn)添加么?還有就是取消了 權(quán)限修飾字扫外,轉(zhuǎn)而用 方法名稱的不同來 區(qū)分莉钙。意思其實是一個意思廓脆,不過還是比較另類的……
說完了語言本身的一點點差異之后磁玉,再談 在這個語言之上的 web 開發(fā)框架停忿。
首先要說明的是,ThinkPHP 是我常用的一個框架蜀涨。所以學(xué)習(xí)其它框架總是會去用ThinkPHP的 思想去理解瞎嬉。
在剛接觸到Django的時候,總是有一些不可理解的事就是厚柳,它的框架文件里面居然就只有這么一丁點文件氧枣。而不像thinkPHP那種,具有一個很完整的框架包别垮,就像個大引擎一樣放在那里便监,讓人很放心。
不過后來還是明白了碳想,其實Django也是有很多庫文件的烧董,只不過它和php組織文件的方式不同。它是把Django框架放在了系統(tǒng)目錄下胧奔,而在項目目錄當(dāng)中只有需要項目里面用到的文件逊移。這一點,當(dāng)正真明白了龙填,感覺還是很爽的胳泉。再也不用 看 那些 永遠(yuǎn)也不需要打開 卻占著目錄的文件了。所有的文件基本上都是 必要的岩遗,治愈強迫癥的有么有……
在這里就不得再說說Python這點的好處了扇商。由于 其庫文件并不需要 放在服務(wù)器 www 目錄下,對于其 項目也是少了很多的 限制宿礁。而且案铺,python 的import 庫 是可以在python文件中引入任何 需要的庫的,這就使得開發(fā)另外的組件非常的方便梆靖。而非像PHP 那樣 需要 C語言或者C++去開發(fā)擴展那般麻煩(當(dāng)然控汉,并不是說這種方式不好)。在ThinkPHP 當(dāng)中返吻,引入第三方庫是需要經(jīng)過好大一番折騰的暇番,而PHP 加入第三方擴展也是一件 麻煩的事兒。這也或許是PHP 相對.net ,相對java 不好的一點思喊。簡而言之,就是擴展起來比較麻煩次酌。
想想用 PHP去 創(chuàng)建機械學(xué)習(xí)模型和用python創(chuàng)建機械學(xué)習(xí)模型的 難易程度恨课,這一點便很突出了舆乔。
當(dāng)然了,相對于python剂公,PHP開發(fā)網(wǎng)頁似乎是更簡單的希俩。只要安裝好wamp,在www下創(chuàng)建php文件纲辽,打個echo颜武,瀏覽器上就可以訪問了。而且拖吼,其web框架非常的成熟鳞上,而且框架數(shù)量 非常的多,配合composer吊档,php依舊是web開發(fā)里面的老大哥篙议。(在php里面,很多需要到的庫都有怠硼,除非是神功初成想要更上一步鬼贱,不然,擴展開發(fā)還是有一段距離的……)