首頁 >後端開發 >php教程 >php與Python有何不同? Python與php之間的簡單比較

php與Python有何不同? Python與php之間的簡單比較

不言
不言原創
2018-08-25 15:16:1911508瀏覽

php和Python哪個好? php與Python的差別有哪些? 很多朋友都會來問這麼一個問題,那麼今天php中文網給大家來說一說關於php與Python的區別比較,相信你看了這篇文章應該會有所判斷。

首先我們來看看關於php與Python應用的差異:

php是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。

python主要是做系統運作、監控、爬蟲、佇列任務等等,所以,脫離Web開發領域Python比較好用一些。

#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 = &#39;&#39;
if sex == &#39;man&#39;:
    print(&#39;男&#39;)
elif sex == &#39;women&#39;:
    print(&#39;女&#39;)
else:
    print(&#39;空&#39;)

php與Python之間循環語句的差異:

例:php的循環語句為:

$arr = array(&#39;a&#39; => &#39;苹果&#39;, &#39;b&#39; =>&#39;香蕉&#39;, &#39;c&#39; => &#39;梨子&#39;, &#39;d&#39; => &#39;水果&#39;);
foreach ($arr as $key => $value){
    echo "数组key:".$key."<br>";    
    echo "key对应的value:".$value."<br>";
}

Python的循環語句為:

arr = {&#39;a&#39;: &#39;苹果&#39;, &#39;b&#39;: &#39;香蕉&#39;, &#39;c&#39;: &#39;梨子&#39;, &#39;d&#39;: &#39;水果&#39;}
# 第一种
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的測試:

#
<?php
function 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 Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
5702887
real    0m2.307s
user    0m2.278s
sys     0m0.017s

php7測試如下

qiangjian@localhost:/works/learnCPP$ php -v && time php  fib.php
PHP 7.1.2 (cli) (built: Feb 17 2017 10:52:17) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
5702887
real    0m0.815s
user    0m0.780s
sys     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.13
5702887
real 0m2.651s
user 0m2.594s
sys 0m0.027s

python3.5測試如下:

qiangjian@localhost:/works/learnCPP$ python3 -V && time python3 ./fib.py 
Python 3.5.1
5702887
real    0m3.110s
user    0m2.982s
sys     0m0.026s

從上面的測試可以看出來python越升級越慢, 而且很多語法不相容,平時寫寫演算法和小程式可以很好;php中php7和5的速度差別很大,感覺就不像是一個程序,而且進步提升很大。

當然,上面所有的內容,都只是對php與python之間簡單的比較,還有很多都沒有寫出來,但可以看出來的是php與python各有各的優缺點。以上就是這篇文章的全部內容啦,感謝大家關注php中文網!

相關推薦:

黑客應該學PHP還是python?理性分析PHP和python的十處差異

PHP程式設計師使用爬蟲技術揭露房租上漲背後的真實數據

#

以上是php與Python有何不同? Python與php之間的簡單比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn