当前位置: 首页 > news >正文

Python2和Python3的区别

和python 2.x相比,python 3.x版本在语句输出、编码、运算和异常等方面做出了一些调整,我们这篇文章就对这些调整做一个简单的介绍。

Python3.x print函数代替了print语句

在python 2.x中,输出数据使用的是print语句,例如:

但是在python 3.x中,print语句没有了,取而代之的是print函数,例如:

如果还像Python 2.x中那样使用print语句,python编译器就会报错,例如:

Python 3.x默认使用UTF-8编码

相比Python 2.x默认采用的ASCII编码,Python 3.x默认使用UTF-8编码,可以很好的支持中文或其它非英文字符。

例如,输出一句中文,使用Python 2.x和Python 3.x的区别如下:

不仅如此,在Python3.x中,下面的代码也是合法的:

Python 3.x除法算法

和其它语言相比,Python的除法算法要高端很多,它的除法运算包含两个运算符,分别是/和//,这2个运算符在Python 2.x和Python 3.x的使用方法如下:

运算符/

在python 2.x中,使用运算符/进行除法运算的方式和Java、C语言类似,整数相除的结果仍是一个整数,浮点数除法会保留小数点部分,例如:

但是在Python 3.x中使用/运算符,整数之间做除法运算,结果也会是浮点数。例如:

运算符//

使用运算符//进行的除法运算叫做floor除法,也就是输出一个不大于结果值的一个最大整数(向下取整)。此运算符的用法在Python 2.x和Python 3.x中是一样的,举个例子:

Python 3.x异常

在Python 3.x版本中,异常处理改变的地方主要在以下几个方面:

1.在Python 2.x版本中,所有类型的对象都是直接被抛出的,但是在Python 3.x版本中,只有继承BaseException的对象才可以被抛出。

2.在 Python 2.x 版本中,捕获异常的语法是“except Exception,var:”;但在 Python 3.x 版本中,引入了 as 关键字,捕获异常的语法变更为 “except Exception as var:”。

3.在 Python 3.x 版本中,处理异常用 “raise Exception(args)”代替了“raise Exception,args”。

4.Python 3.x 版本中,取消了异常类的序列行为和 .message 属性。

有关Python 2.x版本和Python 3.x版本处理异常的示例代码如下所示:

Python 3.x八进制字面量表示

在Python 3.x中,表示八进制字面量的方式只有一种,并且必须写成”0o1000”这样的方式,原来”01000”的方式不能使用了。举个例子:

Python 3.x不等于运算符

Python 2.x中的不等于运算符有两种写法,分别为!=和<>,但在Python 3.x中去掉了<>,只有!=这一种写法,例如:

Python 3.x数据类型

Python 3.x中对数据类型也做了改动,比如说:

1.Python 3.x去除了long类型,现在只有一种整形int,但它的行为就像是Python 2.x版本中的long。

2.Python 3.x新增了bytes类型,对应Python 2.x版本的八位串,定义bytes字面量的方法如下所示:

字符串对象和bytes对象可以使用.encode()或者.decode()方法互相转化,例如:

3.Python 3.x中,字典的keys()、items()和Values()方法用返回迭代器,且之前的iterkeys()等函数都被废弃。同时去掉的还有dict.has_key(),改用in替代。

本文介绍的只是Python 3.x的一部分改动,由于篇幅有限,这里就不再具体一一例举了。

学Python上指尖编程高效的人机交互式编程课,学编程更快更好。



喜欢的朋友记得点赞、收藏、关注哦!!!

相关文章:

Python2和Python3的区别

和python 2.x相比&#xff0c;python 3.x版本在语句输出、编码、运算和异常等方面做出了一些调整&#xff0c;我们这篇文章就对这些调整做一个简单的介绍。 Python3.x print函数代替了print语句 在python 2.x中&#xff0c;输出数据使用的是print语句&#xff0c;例如&#xff…...

Spring框架整合单元测试

目录 一、配置文件方式 1.导入依赖 2.编写类和方法 3.配置文件applicationContext-test.xml 4.测试类 5.运行结果 二、全注解方式 1.编写类和方法 2.配置类 3.测试类 4.运行结果 每次进行单元测试的时候&#xff0c;都需要编写创建工厂&#xff0c;加载配置文件等相关…...

docker-mysql

一、创建mysql 1、docker run --name mysql8.0-container -e MYSQL_ROOT_PASSWORDmy-secret-pw -d -p 3306:3306 mysql:8.0 参数解释&#xff1a; --name mysql8.0-container&#xff1a;指定容器的名称为mysql8.0-container。 -e MYSQL_ROOT_PASSWORDmy-secret-pw&#xff1a…...

Java程序基础⑤Java数组的定义和使用+引用的概念

目录 1. Java数组的基本概念 1.1 数组的定义 1.2 数组存在的意义 1.3 数组的使用 1.4 二维数组 2. 引用类型JVM的内存分布 2.1 JVM的内存分布 2.2 基本数据类型和引用型数据类型的区别 2.3 引用注意事项 2.4 传值传递 3. 数组总结和应用场景 3.1 一维数组和二维数组…...

electron主进程和渲染进程之间的通信

主进程 (main.js) const { app, BrowserWindow, ipcMain } require("electron"); const path require("node:path"); // 导入fs模块 const fs require("fs");const createWindow () > {const win new BrowserWindow({width: 800,height…...

uniapp 安卓和ios震动方法,支持息屏和后台震动,ios和安卓均通过测试

最近使用uniapp开发震动功能&#xff0c;发现uniapp提供的 uni.vibrateLong()的方法震动比较弱&#xff0c;而且不支持息屏和后台震动。plus.ios.importClass("UIImpactFeedbackGenerator")是在网上看到的&#xff0c;这个震动也比较弱&#xff0c;ios也不支持息屏和…...

# DBeaver 连接hive数仓

前提 前提是基于hadoop的hive服务已经启动&#xff0c;其中hive的服务包括metastore元数据服务和hiveserver2服务已经启动。hiveserver2服务在默认端口10000启动&#xff0c;且通过telnet xx.xx.xx.xx 10000 能通。 满足以上要求后&#xff0c;再可以看以下连接文档&#xff…...

STM32H7开发笔记(2)——H7外设之多路定时器中断

STM32H7开发笔记&#xff08;2&#xff09;——H7外设之多路定时器中断 文章目录 STM32H7开发笔记&#xff08;2&#xff09;——H7外设之多路定时器中断0.引言1.CubeMX配置2.软件编写 0.引言 本文PC端采用Win11STM32CubeMX4.1.0.0Keil5.24.2的配置&#xff0c;硬件使用STM32H…...

Pytorch使用手册-Build the Neural Network(专题五)

在 PyTorch 中如何构建一个用于 FashionMNIST 数据集分类的神经网络模型,并解析了 PyTorch 的核心模块 torch.nn 的使用方法。以下是具体内容的讲解: 构建神经网络 在 PyTorch 中,神经网络的核心在于 torch.nn 模块,它提供了构建神经网络所需的所有工具。关键点如下: nn.…...

16. Springboot集成Tika实现文档解析

目录 1、什么是Tika 2、基本特性 3、Tika可视化提取 4、Springboot集成 4.1、maven依赖 4.2、Tika配置文件 4.3、注入tika bean 4.4、Service类 4.5、测试类TikaParserDemoTest 1、什么是Tika Tika是一款Apache开源的&#xff0c;跨平台&#xff0c;支持多品种文本类…...

【单片机毕业设计12-基于stm32c8t6的智能称重系统设计】

【单片机毕业设计12-基于stm32c8t6的智能称重系统设计】 前言一、功能介绍二、硬件部分三、软件部分总结 前言 &#x1f525;这里是小殷学长&#xff0c;单片机毕业设计篇12-基于stm32c8t6的智能称重系统设计 &#x1f9ff;创作不易&#xff0c;拒绝白嫖可私 一、功能介绍 ----…...

[网络]无线通信中的AMPDU

定义 AMPDU&#xff08;Aggregate MAC Protocol Data Unit&#xff09;即聚合MAC协议数据单元。在无线通信中&#xff0c;特别是在IEEE 802.11n及后续的Wi - Fi标准&#xff08;如802.11ac、802.11ax&#xff09;中&#xff0c;它是一种用于提高数据传输效率的技术。简单来说&a…...

[QDS]从零开始,写第一个Qt Design Studio到程序调用的项目

前言 最近在使用Qt Design Studio进行开发&#xff0c;但是简中网上要不就是只搜得到Qt Designer(Qt Creator内部库)&#xff0c;要不就只搜得到一点营销号不知道从哪里搬来的账号&#xff0c;鉴于Qt Design Studio是一个这么强大的软件&#xff0c;自然是需要来进行一下小小的…...

Selenium Chrome Options 总结

ChromeOptions 是 Selenium 提供的一种工具&#xff0c;用于配置和自定义 Chrome 浏览器的启动行为。通过设置 ChromeOptions&#xff0c;可以添加扩展功能、设置无头模式、禁用弹窗等&#xff0c;满足多种测试需求。 1. 基本用法 初始化和应用 ChromeOptions from selenium…...

11、PyTorch中如何进行向量微分、矩阵微分与计算雅克比行列式

文章目录 1. Jacobian matrix2. python 代码 1. Jacobian matrix 计算 f ( x ) [ f 1 x 1 2 2 x 2 f 2 3 x 1 4 x 2 2 ] , J [ ∂ f 1 ∂ x 1 ∂ f 1 ∂ x 2 ∂ f 2 ∂ x 1 ∂ f 2 ∂ x 2 ] [ 2 x 1 2 3 8 x 2 ] \begin{equation} f(x)\begin{bmatrix} f_1x_1^22x_2\\…...

【软件方案】智慧城市,智慧园区,智慧校园,智慧社区,大数据平台建设方案,大数据中台综合解决方案(word原件)

第1章 总体说明 1.1 建设背景 1.2 建设目标 1.3 项目建设主要内容 1.4 设计原则 第2章 对项目的理解 2.1 现状分析 2.2 业务需求分析 2.3 功能需求分析 第3章 大数据平台建设方案 3.1 大数据平台总体设计 3.2 大数据平台功能设计 3.3 平台应用 第4章 政策标准保障…...

用js实现点击抽奖

用原生的JS来完成的一个小游戏&#xff0c;进行了简单的点击触发以及判断 css&#xff1a; <style>* {margin: 0;padding: 0;}body {background-color: #f7f7f7;display: flex;justify-content: center;align-items: center;height: 100vh;margin: 0;}.container {backg…...

Django 自定义路由转换器

步骤 创建自定义转换器类 必须定义 regex 属性&#xff08;用于匹配参数&#xff09;。必须实现 to_python 和 to_url 方法。 to_python: 将匹配的参数转换为视图函数可用的 Python 数据。to_url: 将数据转换为 URL 格式&#xff08;用于反向解析&#xff09;。 注册转换器 使用…...

【JavaEE初阶】枫叶经霜艳,梅花透雪香-计算机是如何运行的?

本篇博客给大家带来的是与计算机相关的知识点, 包括:计算机的组成, 指令, 进程(重点). 文章专栏: JavaEE初阶 若有问题 评论区见 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的动力 . 1. 计算机的组成 1.1 计算机的发展史 计算…...

破解天然气巡检挑战,构建智能运维体系

一、行业现状 天然气行业在能源领域地位举足轻重&#xff0c;其工作环境高风险&#xff0c;存在有毒有害、易爆气体及高温等情况&#xff0c;且需持续监控设备运行状态&#xff0c;人工巡检面临巨大挑战与风险。好在随着科技发展&#xff0c;防爆巡检机器人的应用为天然气管道…...

5分钟搞定ESP32开发:VSCode+ESP-IDF插件极简配置教程

5分钟极速搭建ESP32开发环境&#xff1a;VSCodeESP-IDF全流程指南 在物联网开发领域&#xff0c;ESP32凭借其出色的性价比和丰富的功能接口&#xff0c;已经成为智能硬件开发者的首选平台。但对于刚接触ESP32的开发者来说&#xff0c;传统的环境搭建过程往往充满挑战——从工具…...

猫抓:让每个人都能掌控网络资源的开源媒体解析工具

猫抓&#xff1a;让每个人都能掌控网络资源的开源媒体解析工具 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 在数字内容爆炸的时代&#xff0c;网络上的视频、音频和图片资源日益丰富&#xff0c;但…...

AI视频生成工具ComfyUI-WanVideoWrapper零基础配置指南

AI视频生成工具ComfyUI-WanVideoWrapper零基础配置指南 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 还在为视频生成工具的复杂配置烦恼&#xff1f;想快速掌握AI视频创作却被技术门槛劝退&am…...

2026 年 OpenClaw 生态选型指南:从「红色龙虾」到国产「小龙虾」

2026 年初&#xff0c;一只名为 OpenClaw 的「红色龙虾」长期占据 GitHub 热度前列&#xff0c;星标在公开页面上已达到 三十万量级&#xff08;具体数字每日波动&#xff09;。业界常把它描述为 AI 从「只会聊」走向「能替你办事」的一块试金石&#xff1a;不是多一个聊天窗口…...

别再手动比对了!用Python+PyTorch搭建你的第一个遥感变化检测模型(附实战代码)

用PythonPyTorch实现遥感变化检测&#xff1a;从数据预处理到模型部署全流程指南 遥感影像的变化检测技术正在城市规划、环境监测、灾害评估等领域发挥越来越重要的作用。传统人工比对方法效率低下&#xff0c;而基于深度学习的自动化解决方案正在重塑这个领域的技术格局。本文…...

深入排查k8s集群6443端口连接拒绝:从kubectl故障到系统级修复

1. 当kubectl突然罢工&#xff1a;6443端口连接拒绝的紧急处理 那天早上我像往常一样打开终端&#xff0c;准备用kubectl get pods查看集群状态&#xff0c;结果终端冷冰冰地抛出一行错误&#xff1a;"Unable to connect to the server: dial tcp 192.168.1.1:6443: conne…...

SMUDebugTool硬件调试实战:如何通过系统管理单元实现AMD Ryzen处理器深度优化

SMUDebugTool硬件调试实战&#xff1a;如何通过系统管理单元实现AMD Ryzen处理器深度优化 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. …...

Docker vs Pip:MinerU本地部署全攻略,哪种方式更适合你的PDF解析需求?

Docker与Pip部署MinerU深度对比&#xff1a;如何为PDF解析选择最佳方案 在文档自动化处理领域&#xff0c;PDF解析工具的选择往往直接影响工作效率。MinerU作为一款开源的PDF解析工具&#xff0c;因其对复杂排版的良好支持而受到开发者青睐。但面对Pip和Docker两种主流部署方式…...

三轴 MEMS 加速度传感器在工业预测性维护中的关键应用

1. 三轴MEMS加速度传感器如何成为工业设备的"听诊器" 想象一下医生用听诊器检查病人心跳的场景。三轴MEMS加速度传感器在工业领域扮演着类似的角色&#xff0c;只不过它"听诊"的对象换成了电机、风机这些设备。这个火柴盒大小的装置&#xff08;303019mm&…...

从手机到充电宝:拆解NTC热敏电阻在消费电子里的那些‘保命’用法

从手机到充电宝&#xff1a;拆解NTC热敏电阻在消费电子里的那些‘保命’用法 当你手握发烫的手机时&#xff0c;是否想过是什么在默默守护着电池的安全&#xff1f;当快充头以惊人速度输送电能时&#xff0c;又是什么在防止电路因过热而损毁&#xff1f;答案往往藏在一块米粒大…...