这几天在学习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. Java实现Excel中的NORMSDIST函数和NORMSINV函数

    由于工作中需要将Excel中的此两种函数转换成java函数,从而计算内部评级的资本占用率和资本占用金额.经过多方查阅资料和整理,总结出如下两个转换方法 标准正态分布累计函数NORMSDIST: pub ...

  2. 整理下.net分布式系统架构的思路

    最近看到有部分招聘信息,要求应聘者说一下分布式系统架构的思路.今天早晨正好有些时间,我也把我们实际在.net方面网站架构的演化路线整理一下,只是我自己的一些想法,欢迎大家批评指正. 首先说明的是.ne ...

  3. Register-SPWorkflowService 404

    最近需要做一个SharePoint 2013工作流演示环境. 于是在自己的本子上安装了一个虚拟机. 虚拟机操作系统是Windows Server 2012 R2,计划把AD.SQL Server 20 ...

  4. Android菜单项内容大全

    一.介绍: 菜单是许多应用中常见的用户界面组件. Android3.0版本以前,Android设备会提供一个专用"菜单"按钮呈现常用的一些用户操作, Android3.0版本以后, ...

  5. SVN的使用

  6. 【一起学OpenFoam】01 OpenFoam的优势

    CFD技术发展到今天,已经超过了大半个世纪了,已经涌现出非常多的CFD软件可供人们使用.通用商业CFD软件譬如Fluent.CFX.Star CCM+等在工业上得到了广泛的应用,另外一些专用的软件(如 ...

  7. MONO x64 amd_x64

    SharpPcap 是一个.NET 环境下的网络包捕获框架,基于著名的 pcap/WinPcap 库开发.提供了捕获.注入.分析和构建的功能,SharpPcap 还是一个跨平台的库,可以在Mono/. ...

  8. 这可能是史上最全的CSS自适应布局总结教程

    标题严格遵守了新广告法,你再不爽,我也没犯法呀!话不多说,直入正题. 所谓布局,其实包含两个含义:尺寸与定位.也就是说,所有与尺寸和定位相关的属性,都可以用来布局. 大体上,布局中会用到的有:尺寸相关 ...

  9. Top Coder算法题目浏览器

    作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/top-code-offline-browser/ 关于 左耳朵耗子 ...

  10. vagrant 1.8.6 安装过程及总结遇到的坑

    下面先总结遇到的问题,这些问题如果你也遇到,可能需要搜索很多次才能找到原因. 如果想看安装过程,可以先直接跳到后面第二部分部分. 1 问题汇总: 1.1 vagrant版本过高问题. vagrant ...