这几天在学习Python,鄙人平时学习中为了方便记忆和更好的比较与理解语言二者之间在某些情况的优劣性,所以花了点时间,整理了一下 Python 和 PHP 常用语法的一些区别。

一、大小写

  PHP:

  1. 所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感;
  2. 所有变量都对大小写敏感。

  Python:

  1. 大小写敏感的。

二、变量

  PHP:

  1. 以“$”标识符开始  如 $a = 1 方式定义

  Python:

  1. 直接定义 如 a = 1 方式

三、数组/集合

  PHP:

// 定义
$arr = array('Michael', 'Bob', 'Tracy'); // 调用方式
echo $arr[0]
// Michael // 数组追加
array_push($arr, "Adam");
// array('Michael', 'Bob', 'Tracy','Adam');

  

  Python:

# list方式(可变)
classmates = ['Michael', 'Bob', 'Tracy'] # 调用方式
print(classmates[0])
# 'Michael' # 末尾追加元素
classmates.append('Adam')
# ['Michael', 'Bob', 'Tracy', 'Adam'] # 指定插入位置
classmates.insert(1, 'Jack')
#['Michael', 'Jack', 'Bob', 'Tracy'] # 删除指定元素
classmates.pop(1)
#['Michael', 'Bob', 'Tracy']

这里要说一下,Python的数组类型有以下几种:

  1. list:链表,有序的项目,通过索引进行查找,使用方括号“[]”;

    • test_list = [1, 2, 3, 4, 'Oh']
  2. tuple:元组,元组将多样的对象集合到一起,不能修改,通过索引进行查找,使用括号”()”;
    • test_tuple = (1, 2, 'Hello', (4, 5))
  3. dict:字典,字典是一组键(key)和值(value)的组合,通过键(key)进行查找,没有顺序, 使用大括号”{}”;
    • test_dict = {'Wang' : 1, 'Hu' : 2, 'Liu' : 4}
  4. set:集合,无序,元素只出现一次, 自动去重,使用”set([])”
    • test_set = set(['Wang', 'Hu', 'Liu', 4, 'Wang'])

打印:

print(test_list)
print(test_tuple)
print(test_dict)
print(test_set)

输出:

[1, 2, 3, 4, 'Oh']
(1, 2, 'Hello', (4, 5))
{'Liu': 4, 'Wang': 1, 'Hu': 2}
set(['Liu', 4, 'Wang', 'Hu'])

四、条件判断

PHP:

if($age = 'man'){
echo "男";
}else if($age < 20 and $age > 14){
echo "女";
}else{
echo "嗯哼";
}

Python:

sex = ''
if sex == 'man':
print('男')
elif sex == 'women':
print('女')
else:
print('这~~')

五、循环

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])

六、函数

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))

有什么讲错的地方或者好的建议,欢迎留言。

Python VS PHP 基础语法的更多相关文章

  1. Python:笔记(1)——基础语法

    Python:笔记(1)——基础语法 我很抱歉有半年没有在博客园写过笔记了,客观因素有一些,但主观原因居多,再多的谴责和批判也都于事无补,我们能做的就是重振旗鼓,继续出发! ——写在Python之前 ...

  2. Python入门篇-基础语法

    Python入门篇-基础语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.编程基础 1>.程序 一组能让计算机识别和执行的指令. 程序 >.算法+ 数据结构= 程 ...

  3. python面向对象的基础语法(dir内置函数、self参数、初始化方法、内置方法和属性)

    面相对象基础语法 目标 dir 内置函数 定义简单的类(只包含方法) 方法中的 self 参数 初始化方法 内置方法和属性 01. dir 内置函数(知道) 在 Python 中 对象几乎是无所不在的 ...

  4. Python入门 —— 02基础语法

    基础语法入门学习推荐: 简明 Python 教程 下文仅为入门推荐书籍的补充与重点 多行语句:末尾使用斜杠 (  ) ,将一行分为多行 var = item1 + item2 + item3 注释: ...

  5. Python学习①. 基础语法

    Python 简介 Python 是一种解释型,面向对象的语言.特点是语法简单,可跨平台 Python 基础语法 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编 ...

  6. python学习之基础语法

    一.缩进 学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断.python 最具特色的就是用缩进来写模块. 缩进的空白数量是可变的, ...

  7. Python学习笔记——基础语法篇

    一.Python初识(IDE环境及基本语法,Spyder快捷方式) Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,没有编译过程,可移植,可嵌入,可扩展. IDE 1.检查Pyth ...

  8. python学习笔记--基础语法

    等待用户输入 #!/usr/bin/python raw_input("\n\nPress the enter key to exit.") 简单的判断 #!/usr/bin/py ...

  9. Python自动化开发-基础语法

    1.编码 计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.解决思路:数字与符号建立一对一映射,用不同数字表示不同符号. ASCII(American Standard Code ...

随机推荐

  1. ActiveRecord模式整理

    DAO Data Access Object,数据访问对象 DAO是一个软件设计的指导原则,在核心J2EE模式中是这样介绍DAO模式的:为了建立一个健壮的J2EE应用,应该将所有对数据源的访问操作抽象 ...

  2. BPM助力企业数字化转型

    自九十年代末,流程管理开始引入国内,至今已经有20多年的历史了,由最初的部门级应用向企业级应用转变,大家的认知也经历了一系列的发展变化.不同阶段的信息化水平对企业的流程以及BPM平台也提出了不同的需求 ...

  3. linux中kvm的安装及快照管理

    一.kvm的安装及状态查看 1.安装软件 yum -y install kvm virt-manager libvirt2.启动libvirtd 报错,升级device-mapper-libs yum ...

  4. .NET基础拾遗(7)Web Service的开发与应用基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基 ...

  5. 关于JavaScript中的delete操作

    关于JavaScript中的delete操作 看到一道题,是这样的: (function(x){ delete x; return x; })(1); 1 null undefined Error 我 ...

  6. Atitit MATLAB 图像处理attilax总结

    Atitit MATLAB 图像处理attilax总结 1.1. 下载 Matlab7.0官方下载_Matlab2012 v7.0 官方简体中文版-办公软件-系统大全.html1 1.2. Matla ...

  7. Atitit osi tcp ip 对应attilax总结

    Atitit osi tcp ip 对应attilax总结 Atitit 网络摄像机又叫IP CAMERA(简称IPC)常见的协议组合 网络摄像机又叫IP CAMERA(简称IPC)由网络编码模块和模 ...

  8. Android笔记——Application的作用

    一.Application是什么 Application和Actovotu,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象, ...

  9. Java发送Http请求并获取状态码

    通过Java发送url请求,查看该url是否有效,这时我们可以通过获取状态码来判断. try { URL u = new URL("http://10.1.2.8:8080/fqz/page ...

  10. 通读AFN③--HTTPS访问控制(AFSecurityPolicy),Reachability(AFNetworkReachabilityManager)

    这一篇主要介绍使用AFN如何访问HTTPS网站以及这些做法的实现原理,还有介绍AFN的网络状态监测部分AFNetworkReachabilityManager,这个模块会和苹果官方推荐的Reachab ...