Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php与Python之间有何区别?Python和php之间的简单比较

php与Python之间有何区别?Python和php之间的简单比较

不言
不言asal
2018-08-25 15:16:1911493semak imbas

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 = &#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程序员使用爬虫技术揭露房租上涨背后的真实数据

Atas ialah kandungan terperinci php与Python之间有何区别?Python和php之间的简单比较. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn