php和Python哪個好?php與Python的區別有哪些?很多朋友都會來問這麼一個問題,那麼今天php中文網給大家來說一說關於
php與Python的區別比較,相信你看了這篇文章應該會有所判斷。
首先我們來看一看關於php與Python應用的區別:
php是一種通用開源指令碼語言。文法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。
python主要是做系統營運、監控、爬蟲、隊列任務等等,所以,脫離Web開發領域Python比較好用一些。
其次我們看一看關於php與Python文法上面的區別:
注意:python是強型別語言,php是弱類型語言
1、php與Python的輸出文法的區別:
php: echo 可以輸出多個變數;print ()只輸出一個變數,且成功傳回值為1,失敗為0;print_r() 只輸出數組;die() 先輸出,後關機;printf() 格式化輸出字串;var_dump()可以判斷一個變數的類型與長度,並輸出變數的數。
Python: print 預設換行,不換行要加逗號。
2、php與Python變數的區別:
php是以“$”標識符開始;例如:$a = 0的方式來定義的。
Python都是直接來定義的;例如:a=0。
3、php與Python數組之間的區別:
php數組相對簡單統一,即array;包括了普通數組和關聯陣列兩部分。
// 定義$arr = array('Michael', 'Bob', 'Tracy');// 調用方式echo $arr[0]// Michael// 數組追加array_push($arr, "Adam");// array('Michael', 'Bob', 'Tracy','Adam');
python數組可分為列表[],元組(),字典{},集合([]),格式多變,用法也比較靈活。
list(鏈表):有序的項目,通過索引進行尋找,使用方括弧“[]”;
test_list = [1, 2, 3, 4, 'Oh']
tuple(元組):元組將多樣的對象集合到一起,不能修改,通過索引進行尋找,使用括弧”()”;
test_tuple = (1, 2, 'Hello', (4, 5))
dict(字典):字典是一組鍵(key)和值(value)的組合,通過鍵(key)進行尋找,沒有順序, 使用大括弧”{}”;
test_dict = {'Wang' : 1, 'Hu' : 2, 'Liu' : 4}
set(集合):無序,元素只出現一次, 自動去重,使用”set([])”
test_set = set(['Wang', 'Hu', 'Liu', 4, 'Wang'])
4、php與Python之間條件判斷語句與迴圈語句的區別:
php與Python之間條件判斷語句的區別:
例:php的判斷語句為:
if($age = '5'){ echo "小孩";}else if($age < 25 and $age > 14){ echo "青少年";}else{ echo "空";}
Python的判斷語句為:
sex = ''if sex == 'man': print('男')elif sex == 'women': print('女')else: print('空')
php與Python之間迴圈語句的區別:
例:php的迴圈語句為:
$arr = array('a' => '蘋果', 'b' =>'香蕉', 'c' => '梨子', 'd' => '水果');foreach ($arr as $key => $value){ echo "數組key:".$key."<br>"; echo "key對應的value:".$value."<br>";}
Python的迴圈語句為:
arr = {'a': '蘋果', 'b': '香蕉', 'c': '梨子', 'd': '水果'}# 第一種for (key,value) in arr.items(): print("這是key:" + key) print("這是key的value:" + value)# 第二種for key in arr: print("這是key:" + key) print("這是key的value:" + arr[key])
5、php與Python函數文法的區別:
php函數文法:
function calc($number1, $number2 = 10){ return $number1 + $number2;}print(calc(7));
Python函數文法:
def calc(number1, number2 = 10): sum = number1 + number2 return sum print(calc(7))
最後我們來看一看php與Python效能的比較:
php的測試:
<?phpfunction fibonacci($i){ if($i<2) return $i; return fibonacci($i-2) + fibonacci($i-1);}echo fibonacci(34);
php5.6測試如下:
qiangjian@localhost:/works/learnCPP$ php -v && time php fib.php PHP 5.6.28 (cli) (built: Dec 6 2016 12:38:54) Copyright (c) 1997-2016 The PHP GroupZend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies5702887real 0m2.307suser 0m2.278ssys 0m0.017s
php7測試如下:
qiangjian@localhost:/works/learnCPP$ php -v && time php fib.phpPHP 7.1.2 (cli) (built: Feb 17 2017 10:52:17) ( NTS )Copyright (c) 1997-2017 The PHP GroupZend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies5702887real 0m0.815suser 0m0.780ssys 0m0.015s
Python的測試:
def fibonacci(i): if i<2: return i return fibonacci(i-2) + fibonacci(i-1) print(fibonacci(34))
python2.7測試如下:
qiangjian@localhost:/works/learnCPP$ python2 -V && time python2 ./fib.py Python 2.7.135702887real 0m2.651suser 0m2.594ssys 0m0.027s
python3.5測試如下:
qiangjian@localhost:/works/learnCPP$ python3 -V && time python3 ./fib.py Python 3.5.15702887real 0m3.110suser 0m2.982ssys 0m0.026s
從上面的測試可以看出來python越升級越慢, 而且很多文法不相容,平時寫寫演算法和小程式可以很好;php中php7和5的速度差別很大,感覺就不像是一個程式,而且進步提升很大。
當然,上面所有的內容,都只是對php與python之間簡單的比較,還有很多都沒有寫出來,但可以看出來的是php與python各有各的優缺點。以上就是這篇文章的全部內容啦,感謝大家關注php中文網!