这几天在学习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. Android 算法 关于递归和二分法的小算法

     // 1. 实现一个函数,在一个有序整型数组中二分查找出指定的值,找到则返回该值的位置,找不到返回 -1. package demo; public class Mytest { public st ...

  2. maven打包插件:appassembler

    1.打包成bat 打包命令:mvn clean package appassembler:assemble <plugin> <groupId>org.codehaus.moj ...

  3. VMware下对虚拟机Ubuntu14系统所在分区sda1进行磁盘扩容

    VMware下对虚拟机Ubuntu14系统所在分区sda1进行磁盘扩容 一般来说,在对虚拟机里的Ubuntu下的磁盘进行扩容时,都是添加新的分区,而并不是对其系统所在分区进行扩容,如在此链接中http ...

  4. 在 Ubuntu 15.04 中使用 ubuntu-make、Eclipse 4.4、Java 8 以及 WTP

    Ubuntu 今天发布新版本了 其实昨天(2015-04-23)我就看到了 Ubuntu 发布新版本的新闻,下班后回家的第一件事就是访问 Ubuntu 的官网,很可惜,没有提供下载.今天(2015-0 ...

  5. 总结项目开发中用到的一些css\html技巧

    这篇就是用来总结记录的,会长期更新. 1,半透明背景效果(#ffffff颜色的半透明背景): font-style: italic;">#ffffff; filter:alpha(op ...

  6. JavaScript dom 标签属性

    节点: 平时开发中常用的节点是: 元素节点:nodeType值是 1    --> <a>,<p>...... 属性节点:nodeType值是 2    --> t ...

  7. springmvc 配置01

    springmvc请求流程与struts比较   1.添加包 com.springsource.org.aopalliance-1.0.0.jarcom.springsource.org.apache ...

  8. 解析大型.NET ERP系统 分布式应用模式设计与实现

    C/S架构的应用程序,将一些复杂的计算逻辑由客户端转移到服务器端可以改善性能,同时也为了其它方面的控制..NET Remoting在局域网内调用的性能相当不错.ERP系统中基于.NET Remotin ...

  9. MongoDB高级查询详细

    前言 前几篇,老玩家绕道即可,新手晚上闲着也是蛋疼,不如把命令敲一边,这样你就会对MongoDB有一定的掌握啦.如果没有安装MongoDB去看我的上一篇博客  MongoDB下载安装与简单增删改查 前 ...

  10. WPF中异步更新UI元素

    XAML 界面很简单,只有一个按钮和一个lable元素,要实现点击button时,lable的内容从0开始自动递增. <Grid> <Label Name="lable_p ...