龙空技术网

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

忘忧vlog 371

前言:

当前各位老铁们对“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的速度差别很大,感觉就不像是一个程序,而且进步提升很大。

标签: #php语言和python的区别 #php与python哪个简单