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

    关注

    57

    文章

    4858

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    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

    【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

    ​如何在虚拟环境中使用 Python,提升你的开发体验~

    。RaspberryPiOS预装了Python3。干扰系统Python的安装可能会给你的操作系统带来问题。安装第三方Python库时,请务必使用正确的包管理工具。在Lin
    的头像 发表于 03-25 09:34 634次阅读
    ​如何在虚拟环境中使用 <b class='flag-5'>Python</b>,提升你的开发体验~

    零基础入门:如何在树莓派上编写和运行Python程序?

    在这篇文章中,我将为你简要介绍Python程序是什么、Python程序可以用来做什么,以及如何在RaspberryPi上编写和运行一简单的Python程序。什么是
    的头像 发表于 03-25 09:27 1534次阅读
    零基础入门:如何在树莓派上编写和运行<b class='flag-5'>Python</b>程序?

    使用Yolo-v3-TF运行OpenVINO™对象检测Python演示时的结果不准确的原因?

    通过模型下载器下载了 yolo-v3-tf: ./downloader.py --name yolo-v3-tf 通过模型 优化器转换模型: python3 ./model_optimizer
    发表于 03-06 06:31

    使用Python3.7导入cv2时遇到错误怎么解决?

    使用 Python* 版本 3.7。 Ran Classification Python* 演示。 在导入 cv2 时遇到错误: ImportError: DLL load failed: The specified modu
    发表于 03-05 09:37

    运行OVModelForCausalLM Python模块时出错了,怎么解决?

    创建了一自定义 Python* 代码,类似于遵循 240-dolly-2-instruction 的 Jupyter 笔记本。 OVModelForCausalLM Python
    发表于 03-05 06:44

    Python绘图Matplotlib快速参考手册

     PYTHON
    发表于 02-07 14:04 0次下载

    使用Python实现xgboost教程

    使用Python实现XGBoost模型通常涉及以下几个步骤:数据准备、模型训练、模型评估和模型预测。以下是一详细的教程,指导你如何在Python中使用XGBoost。 1. 安装XGBoost
    的头像 发表于 01-19 11:21 2233次阅读

    用txb0108在ARM9 S3C2440的八个数据口和计数器8254-2八个数据口做了一转换,8254-2严重发烫是为什么?

    我用txb0108在ARM9 S3C2440(3.3V)的八个数据口(DATA0~DATA7)和计数器8254-2(5V)的八个数据口做了一
    发表于 01-15 07:59