前言:
当前各位老铁们对“php语言和python的区别”大概比较讲究,看官们都需要分析一些“php语言和python的区别”的相关文章。那么小编在网摘上搜集了一些有关“php语言和python的区别””的相关文章,希望小伙伴们能喜欢,咱们快快来了解一下吧!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的测试:
<?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的速度差别很大,感觉就不像是一个程序,而且进步提升很大。