0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python2与python3的八个主要区别

汽车玩家 来源:码农阿勇 作者:码农阿勇 2020-01-19 17:27 次阅读

python这门语言中有两个重要的版本,一个是python2,一个是python3

Python 2于2000年10月16日发布,稳定版本是Python 2.7。Python 3于2008年12月3日发布,不完全兼容Python 2。对于初学者来说,要选择python3进行学习,毕竟它代表未来。

公司产品开发中,有个别产品可能开发比较早,采用的是python2.x版本开发的,对于没有接触过python2.x版本的人来说,看到或修改这些代码会感觉很怪异,其实我们只要掌握python2和python3的主要区别就够了,下面勇哥给大家分享下python2和python3的主要区别。

1、 print用法差异比较大

如果要打印某个信息

2、 用户输入函数不同

用户输入不同,python3中只有input(),它返回的都是str类型,python2中的raw_input()是用来接收字符串的,python2中也有input(),输入字符串时需要带上引号,表示你输入的是字符串,输入数字不需带。

3、 字符串编码的改变

Python2默认ASCII编码方式,但是ASCII编码无法对中文等字符进行有效编码,因此在涉及到中文及其它字符编码问题时,ASCII不仅无能为力,经常会带来意想不到的错误。Python 3 默认采用了 UTF-8 作为默认编码,因此不需要在文件顶部写 # coding=utf-8 。

4、整数类型的改变

python3 彻底废弃了 long+int 双整数实现的方法, 统一为 int , 支持高精度整数运算。int的表示范围相当于其他语言中的long long int类型。

5、除法符号表示的意义不同

原来python2中执行1/2(两个整数相除)结果是0,现在python3中执行就是0.5了

6、Python2以前没有布尔型,0表示False,1表示True;Python3 把 True 和 False 定义成关键字,它们的值是 1 和 0,可以和数字运算。

7、pthony2中range()内置函数直接生成列表(量大占内存会死机),pthony3中只有range()和python2中的xrang()一样都只生成一个生成器。python3中没有xrange()这个内置函数。

8、创建类时,python2分为经典类和新式类,新式类就是继承object的类,经典类是没有继承的类,而python3中全部是新式类,默认继承object。在属性查找时,经典类查找方式为深度优先,新式类是广度优先。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    51

    文章

    4678

    浏览量

    83477
收藏 人收藏

    评论

    相关推荐

    【米尔-瑞萨RZ/G2UL开发板】2.串口通信与WIFI测试

    Python 测速 没想到这个板子里面,python2python3 都有。 覆盖掉 python2 rm /usr/bin/python
    发表于 02-05 19:33

    【涂鸦T2-U开发板试用体验】+T2 Development Board V1.0.0 python环境搭建

    2. 打开终端或命令提示符,输入以下命令以更新系统软件包列表: ```sudo apt-get update``` 3. 安装Python 3和pip(
    发表于 12-15 17:55

    AD9162和AD9164的主要区别是什么?

    AD9162和AD9164的主要区别是什么,我看手册里两DAC的描述和封装管脚是一样的,但两者的价格差别很大,请问两者的主要区别是什么,有没有二者的对比参数类的描述
    发表于 12-11 06:44

    Python2Python3的差异

    Python2Python3是两个不同的版本,它们在语法、功能和性能等方面存在一些差异。下面是对Python2Python3的详尽、详实、细致的比较,分为以下几个方面: 语法差异
    的头像 发表于 11-23 16:48 356次阅读

    python32位与62位区别

    Python 是一种广泛使用的高级编程语言,提供了丰富的库和功能,可以用于开发各种应用程序。Python 可以在不同的操作系统上运行,包括 32 位和 64 位的系统。本文将详细介绍 Python
    的头像 发表于 11-23 16:44 569次阅读

    请问python主要用在哪?

    python主要用在哪?
    发表于 10-23 06:08

    使用Python的UART ISP程序

    Python3 个人电脑一侧实施 ISP (系统编程) 程序。 它需要 nuvoton 核 为 ISP 操作提供的 ISP 硬件 。 您可以在下列时间下载样本代码http://www.nuvoton.com/resources-downlo.1223205019。 nuvoton 核
    发表于 08-30 08:14

    SQLite数据库与python区别

    SQLite数据库与python区别 SQLite是一种轻量级关系型数据库管理系统,是一个嵌入式的数据库引擎。Python是一种高级编程语言,主要用于快速、简洁、易读的编写脚本、GU
    的头像 发表于 08-28 16:41 537次阅读

    【芒果派MangoPi MQ Pro】+ 失败的Python 3尝试

    last): File \"/usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py
    发表于 07-28 19:44

    168.Python教程:13.07 Python2Python3区别 #硬声创作季

    python
    充八万
    发布于 :2023年07月12日 01:51:08

    Python字符编码转换

    UNICODE字符串可以与任意字符编码的字节进行相互转换,如图: 那么大家很容易想到一个问题,就是不同的字符编码的字节可以通过Unicode相互转换吗?答案是肯定的。 Python2中的字符串进行
    的头像 发表于 07-05 16:25 831次阅读
    <b class='flag-5'>Python</b>字符编码转换

    Python2Python3中对字符串的支持

    Python2Python3中对字符串的支持有什么区别Python2 Python2中对字符串的支持由以下三个类提供 class b
    的头像 发表于 07-05 16:15 529次阅读

    Python3与Arduino通信

    电子发烧友网站提供《Python3与Arduino通信.zip》资料免费下载
    发表于 06-26 14:39 0次下载
    <b class='flag-5'>Python3</b>与Arduino通信

    编译草图python选项错误怎么处理?

    /.arduino15/packages/esp8266/tools/python3/3.7.2-post1/python3 -I /home/wayne/.arduino15/packages/esp8266
    发表于 06-02 06:37

    python3使用树莓派GPIO控制步进电机-新手详细教程

    步进电机可以正向转动‘一步’,也可以反向转动‘一步’,当然通过程序的循环控制,达到连续性的转动,本文中控制程序使用python3编写; 需要配件 28BYJ48 步进电机       1个(五线
    发表于 05-16 14:42 1次下载
    <b class='flag-5'>python3</b>使用树莓派GPIO控制步进电机-新手详细教程