Python 应用领域以及版本之间的区别
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 应用领域以及版本之间的区别的更多相关文章
- Ubuntu桌面版本和服务器版本之间的区别(转载)
转载自:http://blog.csdn.net/fangaoxin/article/details/6335992 http://www.linuxidc.com/Linux/2010-11/297 ...
- Mcafee两个Mac版本之间的区别
近期打算为Mac安装个杀毒软件,由于自己windows平台下用的是VSE,所以Mac平台也首选Mcafee家的东西了.到Mcafee官网下载点一看,有以下几个版本可以用在Mac上: 有点懵了,查看了一 ...
- 微软提供的API的各个版本之间的区别
First Floor Software这个diff lists非常方便的给出了微软提供的API的各个版本之间的区别,比如下表是.NET 4和.NET 4.5的API变化总结.我们可以看到.NET 4 ...
- Win7各个版本之间的区别
Windows7包含6个版本,分别为Windows7 Starter(初级版).Windows7 Home Basic(家庭普通版).Windows7 Home Premium(家庭高级版).Wind ...
- PHP-VC9/VC6 TS/NTS等版本之间的区别
PHP的更新升级是越来越快了,PHP 5.2 版本已经更新到5.2.17不再更新, 5.3版本的更新到了5.3.8,PHP 5.4马上就要发布,甚至PHP6.0也在开发中.有这么多版本供我们选择,真是 ...
- git比较两个版本之间的区别
查看当前没有add 的内容修改: git diff 查看已经add 没有commit 的改动 git diff --cached 查看当前没有add和commit的改动: git diff HEAD ...
- python基础-初识Python和不同语言之间的区别
一.Python的创始人谁? Python之父:吉多·范罗苏姆GuidovanRossum 吉多·范罗苏姆是一名荷兰计算机程序员,他作为Python程序设计语言的作者而为人们熟知.在Python社区, ...
- Delphi各销售版本之间的区别
初步的区别: http://www.embarcadero.com/products/delphi/product-editions http://www.embarcadero.com/fr/pro ...
- Android版本之间的区别
不同版本SDK适配要点 1,指定minSDKVersion与targetSDKVersion 2,运行时获取版本号 3,使用系统内置的主题,会随着版本的更换而自动适配 4,用android提供的注解 ...
随机推荐
- 提示No input file specified的解决方法
(一)IIS Noinput file specified 方法一:改PHP.ini中的doc_root行,打开ini文件注释掉此行,然后重启IIS 方法二: 请修改php.ini 找到 ; cgi. ...
- poj1182 and 携程预赛2第一题 带权并查集
题意: 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它到底 ...
- hdu4421 2-sat(枚举二进制每一位)
题意: 给你一个数组b[][],在给你一些关系,问是否可以找到一个满足限制的a[], 关系如下(图片): 思路: 说到限制,而且还是两个两个之间的限制,那么很容易想到2-sat ...
- hdu3746 KMP的next数组应用,求项链首尾项链循环
题意: 给你一个项链,问你最少加多少个珠子能满足整个项链是一个循环的项链(首尾相连) 思路: KMP的简单应用只要了解next数组的意义就好说了,下面总结下 next在循环方面 ...
- hdu 3265 线段树扫描线(拆分矩形)
题意: 给你n个矩形,每个矩形上都有一个矩形的空洞,所有的矩形都是平行于x,y轴的,最后问所有矩形的覆盖面积是多少. 思路: 是典型的矩形覆盖问题,只不过每个矩形上多了一个矩 ...
- VMware-viclient-all
VMware-viclient-all https://my.vmware.com/web/vmware/details?productId=491&downloadGroup=ESXI60U ...
- Java 中 RMI 的使用
RMI 介绍 RMI (Remote Method Invocation) 模型是一种分布式对象应用,使用 RMI 技术可以使一个 JVM 中的对象,调用另一个 JVM 中的对象方法并获取调用结果.这 ...
- 【Docker】5. 常用命令—镜像命令
学习命令,官方文档千万别忘记了,不会的就到这里来查. 一.帮助命令 1.显示docker哪些命令 docker --help 另外,也可以查看具体命令的用法,比如我想知道命令docker images ...
- 手把手教你看MySQL官方文档
前言: 在学习和使用MySQL的过程中,难免会遇到各种问题.不知道当你遇到相关问题时会怎么做,我在工作或写文章的过程中,遇到不懂或需要求证的问题时通常会去查阅官方文档.慢慢的,阅读文档也有了一些经验, ...
- 通过Dapr实现一个简单的基于.net的微服务电商系统(十一)——一步一步教你如何撸Dapr之自动扩/缩容
上一篇我们讲到了dapr提供的bindings,通过绑定可以让我们的程序轻装上阵,在极端情况下几乎不需要集成任何sdk,仅需要通过httpclient+text.json即可完成对外部组件的调用,这样 ...