python和php 哪個(gè)更適合做web開(kāi)發(fā)?如題,php和python都有學(xué),但是沒(méi)用python做過(guò)web后臺(tái),問(wèn)一下這兩個(gè)做web后臺(tái)的差異在哪兒??jī)?yōu)缺點(diǎn)分別是啥?
2 回答

慕桂英3389331
TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊
1.語(yǔ)法:PHP 的語(yǔ)法看起來(lái)就像沒(méi)有經(jīng)過(guò)精心設(shè)計(jì)一樣,很隨意。有的語(yǔ)法看似很方便(用點(diǎn)來(lái)連接字符串), 但是卻為之后擴(kuò)展造成了很多麻煩(點(diǎn)沒(méi)法用于訪問(wèn)對(duì)象的成員), 再比如比較蛋疼的命名空間的語(yǔ)法。Python 相比之下要好一點(diǎn),但是 Python2 和 Python3 直接存在著一些不兼容的語(yǔ)法變動(dòng)。 2.編寫(xiě) HTML 模版:PHP 可以非常方便地直接用來(lái)編寫(xiě) HTML 模版,Python 需要借助其他的語(yǔ)言或庫(kù)來(lái)實(shí)現(xiàn)。 3.包管理器:PHP 的包管理器(PEAR)和擴(kuò)展管理器(PECL)恐怕根本沒(méi)人用,這導(dǎo)致引入一個(gè)新依賴(lài)的成本很高,于是很多人傾向于自己造輪子而不是引入現(xiàn)成的庫(kù)。Python 有統(tǒng)一的包管理器,雖然也有問(wèn)題,但要比 PHP 好得多,引入庫(kù)之后的命名空間管理也要比 PHP 好。 4.擴(kuò)展和庫(kù):PHP 和 Python 都可以用 C 來(lái)編寫(xiě)擴(kuò)展。相比之下 Python 可用的庫(kù)要更多一點(diǎn)。 5.運(yùn)行方式:PHP 運(yùn)行方式比較單一(php-fpm, mod_php), Python 則可以以 fastCGI 運(yùn)行,也可以自行監(jiān)聽(tīng)端口來(lái)處理請(qǐng)求。 6.性能:因?yàn)?nbsp;PHP 運(yùn)行方式單一,opcode 緩存方案也比較成熟(APC, opcache),緩存 opcode 之后運(yùn)行速度很快。Python 則可能需要更多地自行優(yōu)化性能。 7.類(lèi)型系統(tǒng):PHP 和 Python 都是動(dòng)態(tài)類(lèi)型。PHP 對(duì)類(lèi)型判別比較模糊,有很多陷阱,Python 則嚴(yán)格一些。 8.學(xué)習(xí)成本:PHP 和學(xué)習(xí)成本都不是很高。PHP 優(yōu)勢(shì)在于有比較完整的官方中文文檔,而且 PHP 應(yīng)用領(lǐng)域只有 Web, 所以需要學(xué)習(xí)的內(nèi)容較少。Python 因?yàn)閷W(xué)習(xí)路線較多,不太容易找到適合自己的教程和資料。 9.社區(qū):PHP 的資料遍地,但是高質(zhì)量的中文社區(qū)較少,普遍對(duì)官方的新功能不是很關(guān)注。Python 則要好一點(diǎn)。 10.應(yīng)用領(lǐng)域:PHP 僅在 Web 后端方面被使用,Python 應(yīng)用領(lǐng)域更廣泛一點(diǎn),如果需要將邏輯移植到其他平臺(tái)(如桌面), Python 要方便一點(diǎn)。
- 2 回答
- 0 關(guān)注
- 2530 瀏覽
添加回答
舉報(bào)
0/150
提交
取消