- 相關(guān)推薦
Php比Python方便原因是什么
Python 腳本,由于自己的主業(yè)是 PHP 開(kāi)發(fā),所以在寫(xiě)的過(guò)程中,會(huì )比較兩門(mén)語(yǔ)言,主要是看那個(gè)語(yǔ)言寫(xiě)起來(lái)更方便更簡(jiǎn)單,根據寫(xiě)的腳本總結出如下的一些區別。
弱類(lèi)型
雖然PHP和Python在定義變量的時(shí)候不用指定變量類(lèi)型,但在實(shí)際使用的時(shí)候Python對類(lèi)型要求更嚴格,比如PHP會(huì )自動(dòng)在使用的時(shí)候轉換類(lèi)型,而Python則需要程序員明確指定需要操作的數據類(lèi)型
比如下面的Python代碼會(huì )發(fā)生錯誤,因為字符串的join方法嚴格要求元祖或者列表的元素必須是字符串類(lèi)型
arr=[2006,2007]print ",".join(arr)
一切都是對象
Php內部操作大部分是以函數的方式提供的,而Python中則一切都是以對象的方式操作的,甚至查詢(xún)資源也是如此,比如Python中通過(guò) MySQLdb包查詢(xún)返回的數據類(lèi)型是一一對應數據庫表字段類(lèi)型的.
比如下面的代碼,PHP從mysql查詢(xún)返回的數據你都可以認為是字符串類(lèi)型,而在Python中假如一個(gè)表字段定義為 datetime類(lèi)型,則從mysql查詢(xún)返回的數據類(lèi)型也是 datetime ,使用的時(shí)候需要額外格式化
sql= "select td_id,td_name,td_date from table"conn = MySQLdb.connect()cursor = conn.cursor()
標準化
通過(guò)比較PHP和Python的手冊,就可以發(fā)現Python好像更標準化更體系化,比如涉及到操作時(shí)間,Python提供了好幾種對象, datetime 和 time ,而 datetime又分 date , time, datetime ,tzinfo 等等,從這些類(lèi)的定義可以看出對于 時(shí)間 的理解更結構化,而PHP中的時(shí)間操作函數則是一大坨,毫無(wú)組織關(guān)系,但是PHP用起來(lái)可能更簡(jiǎn)單,比如Python連時(shí)區的處理都需要引入第三方模塊.比較下下面的代碼吧,顯示一天后的倫敦時(shí)間,可見(jiàn)Python代碼操作的復雜性
import datetime
靈活的語(yǔ)法糖
PHP中的雙引號具有強大的運行時(shí)執行功能,有點(diǎn)像Shell中的 $()符號,會(huì )讓代碼顯得特別的簡(jiǎn)潔比如下面的代碼:
2016,"M"=>"10");
#匹配特定關(guān)鍵字,并用關(guān)鍵字對應的內容進(jìn)行替換def fun:
PHP中的正則取得后向應用的值后,可以作為key取得數組中的值,而Python中做不到,只能通過(guò)callback函數來(lái)做到,從而顯得PHP簡(jiǎn)單的多.
一言不和就異常
PHP讓人覺(jué)得簡(jiǎn)單和混亂的原因可能就是對于錯誤的處理,對錯誤的處理比較容忍,除非是致命錯誤,否則不會(huì )停止下來(lái),而Python相反,遇到一些錯誤就拋出異常,比如web開(kāi)發(fā)中經(jīng)常會(huì )調用API接口,看看二者是如何處理的,Python中調用只要遇到一點(diǎn)錯誤就直接異常,而PHP中取決于程序員如何對待,并且是非強制的.
url = "https://github.com/ywdblog" request = urllib2.Request(url)try:
PHP目前也越來(lái)約發(fā)展,力爭成為一門(mén)現代化的語(yǔ)言,上面的例子可能有失偏頗,比如PHP7對于異常進(jìn)行了加強,通過(guò)上面的說(shuō)明,你怎么看PHP語(yǔ)言和Python語(yǔ)言,對于我來(lái)說(shuō):
可以并行學(xué)習二門(mén)語(yǔ)言,這樣能夠加深對于語(yǔ)言和編程的理解
從生產(chǎn)效率來(lái)說(shuō),選擇一門(mén)你足夠熟悉的語(yǔ)言,快速完成任務(wù),不存在比較之分.
Python顯得更標準化一些,避免讓你產(chǎn)生一些壞習慣,Python也更讓人能夠理解語(yǔ)言的本質(zhì)
【Php比Python方便原因是什么】相關(guān)文章:
PHP和Python如何選擇11-07
PHP開(kāi)發(fā)人員的Python基礎知識10-02
php是什么11-13
PHP的變量是什么06-10
PHP簡(jiǎn)介是什么09-04
PHP隊列是什么10-29
php語(yǔ)言是什么05-21
php是什么格式07-24
php是什么文件10-09