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
    +关注

    关注

    58

    文章

    4882

    浏览量

    90290
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用PYTHON进行的跨平台仿真

    如何使用编程语言Python来调用和控制VirtualLab Fusion中的模拟。请查看下面链接的文档,以找到关于如何设置和使用Python和VirtualLab Fusion之间的接口的详细指南,以及一
    发表于 04-02 08:21

    [VirtualLab] 使用Python运行VirtualLab Fusion光学仿真

    使用代码编辑器Visual Studio Code(VS Code),因为它提供了一用户友好的安装工作流程*。当然,如果需要,也可以使用其他Python编辑器。 对于使用VS Code的用户: 1.1
    发表于 03-31 09:39

    如何在 VisionFive 上使用 Python 包?

    -devel python3-develsudo python setup.py install或者,您可以执行以下命令: sudo python3 setup.py install
    发表于 03-30 08:28

    无法去除 Python VisionFive.i2c 库的终端输出?

    烧的官方最新月份的 debian 12 的系统。 根据这个案例安装好了 python 环境和 VisionFive 库。 执行下面这条代码: import VisionFive.i2
    发表于 02-25 06:13

    安装 Python VisionFive_GPIO失败是哪里出了问题?

    尽管按照最新的文档,我在安装 VisionFive.gpio 包时仍然收到错误 sudo apt 安装 libxml2-dev libxslt-dev python3 -m pip 安装请求
    发表于 02-11 06:13

    没有专利的opencv-python 版本

    3.4.x 无专利版) 如果因代码兼容性需使用 3.4.x 系列,且要无专利风险,需满足两条件: 降级 Python 到 3.9 及以下(3.4.x 最高支持 Python 3.9); 仅安装核心
    发表于 12-13 12:37

    Termux中调试圣诞树Python代码

    在Termux中调试Python代码(以圣诞树立例)非常简单,核心分为环境准备、代码编写、运行调试三步骤,下面一步步教你操作: 一、环境准备(首次使用需做) Termux默认可能没有Python
    发表于 12-09 09:02

    termux调试python猜数字游戏

    用termux做一猜数字游戏 下面是在Termux中创建猜数字游戏的步骤及完整实现方案,结合Python实现(最适配Termux环境): ? 一、环境准备(Termux基础配置) 1.
    发表于 08-29 17:15

    termux如何搭建python游戏

    install -y clang git vim htop tree openssh ``` 二、Python环境配置 Termux默认支持Python3,需进一步完善开发环境: 1.
    发表于 08-29 07:06

    python app不能运行怎么解决?

    ;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
    发表于 08-06 06:27

    【VisionFive 2单板计算机试用体验】安装openplc

    nodejs libbz2-dev sqlite3 libgdbm-dev openssl libexpat1-dev python${version}-dev python3
    发表于 07-15 23:30

    基础篇3:掌握Python中的条件语句与循环

    不同的条件执行不同的代码块。Python中的条件语句主要使用if、elif(else if的缩写)和else关键字。 if语句 最简单的条件语句是if语句,它的工作方式如下: 复制代码 if 条件表达式
    发表于 07-03 16:13

    【正点原子STM32MP257开发板试用】3.响起蜂鸣器

    GPIO的方法。 毕竟我主要使用Python,而LED灯被内核限制住了,只能用shell点灯,要用Python要改估计,不想再改了,只能自己外接一蜂鸣器来代替LED灯了。 点灯测试过
    发表于 06-15 15:13

    Hi3861 wifiiot_hispark_pegasus 按教程安装python3 -m pip install build/lite 报错

    问题1: 报错: 问题2: 我安装网上搜的方法执行 python3 -m pip install --user ohos-build==0.4.3 hb -v [OHOS INFO] hb
    发表于 06-14 16:48

    CCG3PA系列与CCG7D系列的主要区别是什么?

    1、我想了解一下CCG3PA系列与CCG7D系列的主要区别有哪些,有没有相关对照表参考。 2、我看了相关资料两款芯片都支持后座娱乐系统,这样的话,如果客户在功率方面要求较低的情况下,更倾向于选择
    发表于 05-30 07:25