python3和2有什么区别_python2.7和python3的区别

Python (1) 2024-08-17 16:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
python3和2有什么区别_python2.7和python3的区别,希望能够帮助你!!!。

python3和2有什么区别_python2.7和python3的区别_https://bianchenghao6.com/blog_Python_第1张

注意:后续技术分享,第一时间更新,以及更多更及时的技术资讯和学习技术资料将在公众号CTO Plus发布,请关注公众号:CTO Plus

python3和2有什么区别_python2.7和python3的区别_https://bianchenghao6.com/blog_Python_第2张

本篇原文:

Python2与Python3的9点差异对比总结

Python2与Python3是两个不同的Python版本,它们之间存在一些重要的差异,这两个版本并不完全兼容。本文将介绍Python2与Python3主要的差异,以及这些差异对Python开发的影响。

1. print函数

Python2中print语句使用方式是print “Hello, World!”,而Python3中使用的是print(“Hello, World!”)。也就是说,在Python3中,print语句已经变成了print函数。这个变化看起来很小,但对于需要将Python2代码移植到Python3的开发人员来说,它会带来很多问题。

2. 字符串和编码

Python 2和Python 3默认的字符串处理方式不同。Python3中字符串默认使用的是Unicode编码,不需要使用u前缀。而在Python2中,字符串默认使用的是ASCII编码,如果需要采用Unicode编码,则需使用u前缀。这个改变对于处理国际化和本地化的应用程序非常重要。例如,如果程序需要在不同的地区运行,那么在Python2中需要自己编写编码转换的代码,而在Python3中则不需要了。

Python2:

my_str = u'Hello, world!'

Python3:

my_str = 'Hello, world!'

3. 整型除法

在Python2中,整型除法时,如果除数和被除数都是整数,那么结果也是整数,整数除法不会保留小数部分,结果会被向下取整,如果需要执行浮点数除法,则需要将其中一个操作数为浮点数。例如,5/2返回结果是2。在Python3中,整型除法返回的是浮点数。例如,5/2返回结果是2.5。这个差异可能会对某些应用程序的结果产生影响。

Python2:

print(3/2) # 输出1

print(3.0/2) # 输出1.5

Python3:

print(3/2) # 输出1.5

python3和2有什么区别_python2.7和python3的区别_https://bianchenghao6.com/blog_Python_第3张

python3和2有什么区别_python2.7和python3的区别_https://bianchenghao6.com/blog_Python_第4张

4. xrange和range

在Python2中,使用xrange函数来生成指定范围的迭代器,这个函数在Python3中已经被弃用,而range函数则可以实现xrange函数的功能。这个变化对于需要将Python2代码移植到Python3的开发人员来说,可能需要修改一些代码。

在Python 2中,range的返回值是一个列表对象,如果需要生成大量的整数序列,会占用较多的内存。如果需要生成大量整数序列,需要使用xrange函数,生成一个生成器对象。在Python 3中,range函数返回一个可迭代对象。

Python2:

for i in xrange():

    print(i)

python3和2有什么区别_python2.7和python3的区别_https://bianchenghao6.com/blog_Python_第5张

Python3:

for i in range():

    print(i)

python3和2有什么区别_python2.7和python3的区别_https://bianchenghao6.com/blog_Python_第6张

可以看到xrange在python3中已经被遗弃

5. 异常的处理方式

在Python2中,可以使用except Exception as e来捕获异常。而在Python3中,需要使用except Exception as e语句来实现相同的功能。这个变化对于需要将Python2代码移植到Python3的开发人员来说,可能需要修改一些异常处理代码。

在Python 2中,捕获异常的方式可以使用以下方式:

try:

    # some code

except Exception, e:

    # handle exception

在Python 3中,捕获异常的方式如下:

try:

    # some code

except Exception as e:

    # handle exception

6. 文件操作的方式

在Python 2中,文件操作中使用file函数打开文件,而在Python 3中,使用open函数打开文件。

7. urllib

#py3

from urllib.parse import urlparse, urlencode, urlsplit

from urllib.request import urlopen

# py2

# from urllib import urlencode

# from urlparse import urlparse

# from urllib2 import urlopen

8. 用户输入的差异

在Python 2中,使用raw_input函数获得用户输入,而在Python 3中,使用input函数获得用户输入。

9. map和filter函数的差异

在Python 2中,map和filter函数返回一个列表对象,而在Python 3中,map和filter函数返回一个可迭代对象。

总体来说,Python3相较Python2做出了一些改进,例如增加了async和await来支持异步IO、优化了内存管理、显示地区别对待文本和二进制数据等,这些变化可以提高Python应用程序的性能和可维护性。但是,这些变化可能会对需要将Python2代码移植到Python3的开发人员来说,产生一些适应性问题,Python 2和Python 3中有很多方面的差异,如果需要从Python 2迁移至Python 3,需要认真查看代码中的差异,进行相应的修改。建议新项目使用Python3进行开发,而对于已有的Python2项目,可以考虑使用2to3工具进行代码转换来适应Python3的规范。

Python专栏
https://blog.csdn.net/zhouruifu2015/category_


更多资料 · 微信公众号搜索【CTO Plus】关注后,获取更多,我们一起学习交流。

关于公众号的描述访问如下链接


更多精彩,关注我公号,一起学习、成长

python3和2有什么区别_python2.7和python3的区别_https://bianchenghao6.com/blog_Python_第7张

关于Articulate“做一个知识和技术的搬运工。做一个终身学习的爱好者。做一个有深度和广度的技术圈。”一直以来都想把专业领域的技https://mp.weixin..com/s?__biz=MzIyMzQ5MTY4OQ==&mid=&idx=1&sn=2b774f789b4c7a2ccf10e465a1b9def6&chksm=e81c2070df6bafd7851efa824b5e2704e3fd34e76228ca4ce64d93f7964cd4abe60f2b#rd

标准库系列-推荐阅读:

  • Python基础之开发必备-标准库(内置模块)汇总详细介绍(持续更新……)

  • Python标准库45. math模块实践

  • Python标准库87. typing模块实践

  • Python标准库88. 数据库 (sqlite3) 实践

  • Python标准库89. signal模块实践以及与Linux的信号

  • 看这一篇就够了Python的35个关键字的含义、作用、特性以及使用方式详解


推荐阅读:

  • Python基础之最新的73个内置函数(1)

  • Python基础之最新的73个内置函数(2)

  • Python基础之最新的73个内置函数(3)

  • Python基础之最新的73个内置函数(4)

  • Python基础之最新的73个内置函数(5)

  • Python基础之最新的73个内置函数(6)

  • Python基础之最新的73个内置函数(7)

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

下一篇

已是最新文章

发表回复