Python 应用领域以及版本之间的区别

一.Python应用领域

1. Python+人工智能,给你更多研究方向选择!

2. 企业级综合实战项目,集六大前沿技术为一体

二. Python 2与Python 3的区别

Python 2与Python3的区别。主要体现在以下几个方面:

  • print函数
  • 整数相除
  • Unicode
  • 异常处理
  • xrange
  • map函数
  • 不支持has_key

1.print函数

Python 2中print是语句(statement),Python 3中print则变成了函数。在Python 3中调用print需要加上括号,不加括号会报SyntaxError

Python 2

print "hello world"

输出

hello world

Python 3

print("hello world")

输出

hello world

print "hello world"

输出

File "<stdin>", line 1

    print "hello
world"

        
             ^

SyntaxError: Missing parentheses in call to 'print'

 

2.整数相除

在Python 2中,3/2的结果是整数,在Python 3中,结果则是浮点数

Python 2

print '3 / 2 =', 3 / 2

print '3 / 2.0 =', 3 / 2.0

输出

3 / 2 = 1

3 / 2.0 = 1.5

Python 3

print('3 / 2 =', 3 / 2)

print('3 / 2.0 =', 3 / 2.0)

输出

3 / 2 = 1.5

3 / 2.0 = 1.5

 

3.Unicode

Python 2有两种字符串类型:str和unicode,Python 3中的字符串默认就是Unicode,Python 3中的str相当于Python 2中的unicode。

在Python 2中,如果代码中包含非英文字符,需要在代码文件的最开始声明编码,如下

# -*- coding: utf-8 -*-

在Python 3中,默认的字符串就是Unicode,就省去了这个麻烦,下面的代码在Python 3可以正常地运行

a = "你好"

print(a)

 

4.异常处理

Python 2中捕获异常一般用下面的语法

try:

    1/0

except ZeroDivisionError, e:

    print str(e)

或者

try:

    1/0

except ZeroDivisionError as e:

    print str(e)

Python 3中不再支持前一种语法,必须使用as关键字。

5.xrange

Python 2中有 range 和 xrange 两个方法。其区别在于,range返回一个list,在被调用的时候即返回整个序列;xrange返回一个iterator,在每次循环中生成序列的下一个数字。Python 3中不再支持 xrange 方法,Python 3中的 range 方法就相当于 Python 2中的 xrange 方法。

6.map函数

在Python 2中,map函数返回list,而在Python 3中,map函数返回iterator。

Python 2

map(lambda x: x+1, range(5))

输出

[1, 2, 3, 4, 5]

Python 3

map(lambda x: x+1, range(5))

输出

<map object at 0x7ff5b103d2b0>

list(map(lambda x: x+1, range(5)))

输出

[1, 2, 3, 4, 5]

filter函数在Python 2和Python 3中也是同样的区别。

7.不支持has_key

Python 3中的字典不再支持has_key方法

Python 2

person = {"age": 30, "name":
"Xiao Wang"}

print "person has key \"age\": ", person.has_key("age")

print "person has key \"age\": ", "age" in
person

输出

person has key "age":
 True

person has key "age":  True

Python 3

person = {"age": 30, "name":
"Xiao Wang"}

print("person has key \"age\": ", "age" in
person)

输出

person has key "age":
 True

print("person has key
\"age\": ", person.has_key("age"))

输出

Traceback (most recent call last):

  File "<stdin>",
line 1, in <module>

AttributeError: 'dict' object has no attribute 'has_key'

Python 应用领域以及版本之间的区别的更多相关文章

  1. Ubuntu桌面版本和服务器版本之间的区别(转载)

    转载自:http://blog.csdn.net/fangaoxin/article/details/6335992 http://www.linuxidc.com/Linux/2010-11/297 ...

  2. Mcafee两个Mac版本之间的区别

    近期打算为Mac安装个杀毒软件,由于自己windows平台下用的是VSE,所以Mac平台也首选Mcafee家的东西了.到Mcafee官网下载点一看,有以下几个版本可以用在Mac上: 有点懵了,查看了一 ...

  3. 微软提供的API的各个版本之间的区别

    First Floor Software这个diff lists非常方便的给出了微软提供的API的各个版本之间的区别,比如下表是.NET 4和.NET 4.5的API变化总结.我们可以看到.NET 4 ...

  4. Win7各个版本之间的区别

    Windows7包含6个版本,分别为Windows7 Starter(初级版).Windows7 Home Basic(家庭普通版).Windows7 Home Premium(家庭高级版).Wind ...

  5. PHP-VC9/VC6 TS/NTS等版本之间的区别

    PHP的更新升级是越来越快了,PHP 5.2 版本已经更新到5.2.17不再更新, 5.3版本的更新到了5.3.8,PHP 5.4马上就要发布,甚至PHP6.0也在开发中.有这么多版本供我们选择,真是 ...

  6. git比较两个版本之间的区别

    查看当前没有add 的内容修改: git diff 查看已经add 没有commit 的改动 git diff --cached 查看当前没有add和commit的改动: git diff HEAD ...

  7. python基础-初识Python和不同语言之间的区别

    一.Python的创始人谁? Python之父:吉多·范罗苏姆GuidovanRossum 吉多·范罗苏姆是一名荷兰计算机程序员,他作为Python程序设计语言的作者而为人们熟知.在Python社区, ...

  8. Delphi各销售版本之间的区别

    初步的区别: http://www.embarcadero.com/products/delphi/product-editions http://www.embarcadero.com/fr/pro ...

  9. Android版本之间的区别

    不同版本SDK适配要点 1,指定minSDKVersion与targetSDKVersion 2,运行时获取版本号 3,使用系统内置的主题,会随着版本的更换而自动适配 4,用android提供的注解 ...

随机推荐

  1. PDO 基础

    为什么要使用PDO PDO是PHP5新加入的一个重大功能,我们的数据库服务器为MySQL,所有的程序代码的数据库操作全是一mysql()或者mysqli()函数来操作,当我们的数据库 需要更换时比如换 ...

  2. 360加固保so动态脱壳

    环境及工具 手机    : 中兴 U887 系统版本:   Android 2.3.5 工具    :   IDA pro 6.6 .0101Editor 目前so加壳有很多家,我己知的有 爱加密,梆 ...

  3. Windows核心编程 第六章 线程基础知识 (下)

    6.6 线程的一些性质 到现在为止,讲述了如何实现线程函数和如何让系统创建线程以便执行该函数.本节将要介绍系统如何使这些操作获得成功. 图6 - 1显示了系统在创建线程和对线程进行初始化时必须做些什么 ...

  4. 续订Jetbrain学生包

    今天打开IDEA和Pycharm都不约而同的告诉我我的账号无法使用学生包了 此刻我的内心是: 冷静下来我算了算,嗷,原来是一年的订阅期到了,那就简单了,直接续订吧,唉.其实续订和重新认证是一样的. 首 ...

  5. 仅用 CSS 实现多彩、智能的阴影

    背景 有没有想过如何创建从前景元素中继承某些颜色的阴影效果?阅读本文并找出如何实现方法吧! 前几天我经过家得宝(Home Depot,美国家得宝公司,全球领先的家居建材用品零售商),他们正在大规模展销 ...

  6. Python协程与JavaScript协程的对比

    前言 以前没怎么接触前端对JavaScript 的异步操作不了解,现在有了点了解一查,发现 python 和 JavaScript 的协程发展史简直就是一毛一样! 这里大致做下横向对比和总结,便于对这 ...

  7. 索引器和ref、out关键字

    这节讲三个小知识:索引器.ref.out. 索引器: 在一个类中,我们可以定义一个索引器,它可以让我们在外部像访问数组元素一样访问类的属性成员. 索引器的定义就像定义属性一样,只不过名称为this,后 ...

  8. [bug] MapReduce卡死

    参考 https://blog.csdn.net/WYpersist/article/details/80202055

  9. [刷题] 70 Climbing Stairs

    要求 楼梯共有n个台阶,每次上一个台阶或两个台阶,一共有多少种上楼梯的方法? 示例 输入:n=3 [1,1,1],[1,2,],[2,1] 输出:n=3 实现 自顶向下(递归) 递归 1 class ...

  10. CentOS 7配置静态IP地址的两种方法 来自:互联网

    CentOS 7配置静态IP地址的两种方法 来自:互联网 时间:2021-01-12 阅读:4 如果你想要为CentOS 7中的某个网络接口设置静态IP地址,有几种不同的方法,这取决于你是否想要使用网 ...