python与python3的区别,python3和2有什么区别

  python与python3的区别,python3和2有什么区别

  1)核心类差异python2python3

  1.Python3对Unicode字符的本地支持。Python2中使用ASCII码作为默认的编码方法导致了两种类型的字符串,str和unicode。Python3只支持unicode字符串。Python2和Python3的字节和字符对应关系是:

  2.Python3使用绝对路径导入。Python2中相对路径的导入会使标准库的导入变得困难(假设同一个目录下有file.py,比如

  如何同时导入这个文件和标准库文件)。这将在Python3中修改。如果您仍然需要导入同一目录中的文件,您必须

  必须使用绝对路径,否则只能使用相关导入方法导入。

  3.Python 2 3中的旧类和新类是有区别的。Python2 3统一采用了新的类。新类声明需要继承对象,并且新类必须应用多重继承。

  4.Python3使用更严格的缩进。在Python2的缩进机制中,1个制表符和8个空格是等价的,所以在缩进中,可以允许制表符和空格在代码中共存。这种等价机制会导致IDE的使用出现一些问题。

  在Python3中,一个制表符只能被另一个制表符替换,所以制表符和空格的共存会导致一个错误:TabError:

  缩进中制表符和空格的使用不一致。

  2)弃课差异1。print语句被Python3抛弃,print函数被统一使用2。exec语句被python3放弃。execfile语句被Python3放弃,而exec (open(。/filename’)。read ()) 4。不等运算符“”被Python3抛弃,统一使用!=5.长整型被Python3抛弃,统一使用int6。xrange函数被Python3抛弃,range的统一使用也进行了修改和完善。

  提高大型数据集的生成效率。7.在Python 3中,这些方法不再返回列表对象:与dictionary关联的key()、values()、items()、zip()。

  Map(),filter(),但是可以通过list: 1强制转换。mydict={a:1, b:2, c:3}

  2.my dict . keys()#0x 00000000040 b4c 8处的dict对象的内置方法键

  3.list(mydict.keys()) #[a , c , b]

  8.迭代器的next()函数被Python3抛弃,统一使用next(迭代器)9。Raw _ input函数被Python3抛弃,统一使用输入函数10。字典变量的has_key函数被Python抛弃,在关键字11中被统一使用11。Python3放弃了文件函数。使用统一打开处理文件,可以通过io检查文件类型。IOBase 12。Python3放弃了apply函数。异常StandardError被Python3抛弃,异常被统一使用。3)修改阶级差异。1.浮点除法运算符“/”和“//”的区别:

  Python2:如果对两个整数进行运算,结果是整数,但是如果两个数字中的一个是浮点数,结果是

  浮点数;

  Python3:对于真除法,运算的结果不再基于参与运算的数的类型。

  "//":

  Python2:返回小于除法结果的最大整数;就类型而言,与“/”运算符返回的类型在逻辑上是一致的。

  Python3:结果和Python2一样。

  2.异常抛出和捕获机制不同于Python2

  1.引发IOError, file error #抛出异常2。除了NameError,err: # catch异常Python3

  1.引发IOError(file error) #抛出异常2。except NameError as err: # catch异常

  3.for循环中变量值的差异

  Python2,for循环将修改同名外部变量的值。

  1.I=1 2。print(综合:,[I for I in range (5)]) 3。print (after: I=,I) # I=4Python3,for循环不会修改同名外部变量的值。

  1.i=1 2。print(理解: ,[i for i in range(5)]) 3。print (after: i=,i ) #i=1

  4.round函数的返回值与Python2不同,round函数返回一个float类型的值。

  1.isinstance(round(15.5),int) #True

  Python3,round函数返回int类型值

  1.isinstance(round(15.5),float) #True

  5.比较运算符差异Python2中的任何两个对象都可以进行比较

  1.11“测试”#True

  Python3中只有相同数据类型的对象才能比较1.11 test # type error:unordered types:int()str()

  4)第三方工具包的差异。我们可以通过搜索pip的官方下载源pypi,找到Python2.7和Python3.5的第三方工具包数量。Python2.7

  版本对应的第三方工具类别数为28523,Python版为12457。这两个版本都在第三方工具里。

  支持的包的数量差别很大。

  从数据分析应用的角度出发,我们列出了常见的、实用的第三方工具包(如下表所示),并分析了这些工具包在

  支持Python2.7和Python3.5:

  分类工具名称用法

  收集数据剪贴簿网页收集,爬虫

  Scrapy-redis分布式数据采集爬虫

  收集数据,selenium web测试,模拟浏览器。

  处理数据beautifulsoup网页解释库,提供lxml支持

  数据处理lxml xml解释库

  处理数据xlrd excel文件读取

  处理数据xlwt excel文件的编写

  数据xlutils excel文件的简单格式修改

  pywin32 excel文件的数据处理、读写和复杂格式定制

  处理数据Python-docx Word文件的读写。

  基于数据矩阵的数学计算库分析

  数据分析基于表格的熊猫统计分析库

  分析数据scipy科学计算库,支持高阶抽象复杂模型。

  用于分析数据的统计建模和计量经济学工具包模型

  data scikit-learn机器学习工具库分析

  用于分析数据的Gensim自然语言处理工具库

  数据分析街霸中文分词工具库

  存储数据的读写接口库

  用于存储数据的读写接口库

  数据存储SQLAlchemy数据库的ORM封装

  内存pymssql sql server读写接口库

  存储数据的读写接口

  用于存储数据的读写接口

  介绍了流行的matplotlib数据可视化库。

  seaborn的漂亮数据可以是一个湖泊库,基于matplotlib。

  基于web的辅助工具jupyter python IDE,常用于数据分析。

  辅助字符检测工具

  工具协助ConfigParser配置文件读写支持。

  辅助工具请求HTTP库,用于网络访问

  5)工具安装问题windows环境

  Python2无法安装mysqlclient。3 Python无法安装MySQL-python,flup,functools32,

  Gooey、Pywin32、webencodings .

  python3环境中的Matplotlib安装错误:下列必需的包不能

  建成:自由型,巴布亚新几内亚.您需要手动下载并安装源代码包来解决问题。

  Python3环境下的Scipy安装报错,numpy . dist utils . system _ info . not found error,需要自己动手。

  下载相应的安装包,视numpy而定,熊猫必须严格基于python版本,操作系统,64位与否。奔跑

  matplotlib之后发现基础包numpy mkl安装失败,需要自己下载。国内没有下载来源。

  Centos环境

  2 Python不能安装mysql-python和mysqlclient包。错误:环境错误:MySQL _ ConfigNot

  找到了,解决方法是安装mysql-devel包。使用matplotlib报错:没有名为_tkinter的模块,

  安装Tkinter,tk-devel,tc-devel求解。

  Pywin32也不能安装在centos环境下。

  python3

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: