热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python2和python3的不同点_python2和python3的区别

该楼层疑似违规已被系统折叠隐藏此楼查看此楼1.字符串类型python中有两种字符类型:字节字符串和文本字符串。版本python2python3字节字符串str

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

1.字符串类型

python中有两种字符类型:字节字符串和文本字符串。

版本python2python3

字节字符串strbytes

文本字符串Unicodestr

2.默认字符

python2中默认的字符串类型默认是ASCII,python3中默认的字符串类型是Unicode。

3.print

python2中,print是个特殊语句,python3中print是函数。

python2:print 'hello word!'

python3:print('hello word!',file=sys.stderr)

4.除法/

python2中/的结果是整型,python3中是浮点类型。

5.导入

python2中的包导入顺序:标准库—相对倒入(即当前目录)—绝对导入(sys.path)

python3中的包导入顺序:标准库—绝对导入(如果想要相对导入,使用from .moudel)

6.类

python2中默认类是旧式类,需要显式继承新式类(object)来创建新式类。

python3中完全移除旧式类,所有类都是新式类,但仍可显式继承object类。

7.元类声明

python2中声明元类:__metaclass__ = MetaClass

python3中声明元类:class newclass(metaclass=MetaClass):pass

8.异常

python2中引发异常:raise ValueError,'Invalid value'

python3中引发异常:raise ValueError('Invalid value')——在python2中也生效

9.处理异常

python2中处理异常:

try:

raise ValueError,'Invalid value'

except ValueError,e:

pass

python3中处理异常:

try:

raise ValueError,'Invalid value'

except ValueError as e:#在python2中也生效

pass

python2中异常链会丢失原始异常信息,即:处理B异常时引发了A异常,B异常信息会丢失。

python3中将原始异常信息赋值给__context__属性。并且可以显式指定一个异常作为另一个异常的子句:raise DatabaseError() from IOError()

10.字典

python2中的dict类中的keys、values和items均返回list对象,iterkeys、itervalues和iteritems返回生成器对象。

python3中移除了list、只返回一个生成器的对象,只保留视图(生成器),但方法名为:keys、values和items。

11.模块合并

python2中的StringIO和cStringIO合并为python3中的io

python2中的pickle和cPickle合并为python3中的pickle。

python2中的urllib、urllib2和urlparse合并为python3中的urllib

12.重命名模块

python3python2

ConfigparserConfigParser

filteritertools.ifilter

inputraw_input

mapitertools.imap

rangexrange

functools.reducereduce

socketserverSocketServer

zipitertools.izip

---------------------

来源:CSDN

原文:https://blog.csdn.net/ljl6158999/article/details/78983725



推荐阅读
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 本文详细介绍了 Apache Jena 库中的 Txn.executeWrite 方法,通过多个实际代码示例展示了其在不同场景下的应用,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文详细介绍了 MySQL 中 LAST_INSERT_ID() 函数的使用方法及其工作原理,包括如何获取最后一个插入记录的自增 ID、多行插入时的行为以及在不同客户端环境下的表现。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入理解Redis的数据结构与对象系统
    本文详细探讨了Redis中的数据结构和对象系统的实现,包括字符串、列表、集合、哈希表和有序集合等五种核心对象类型,以及它们所使用的底层数据结构。通过分析源码和相关文献,帮助读者更好地理解Redis的设计原理。 ... [详细]
author-avatar
天使哥特式
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有