当前位置: 首页 > 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;防爆巡检机器人的应用为天然气管道…...

VTK三维模型导出实战:STL、OBJ与PLY格式的性能对比与应用场景解析

1. 三维模型导出格式概述 第一次接触三维模型导出时&#xff0c;我被各种文件格式搞得晕头转向。STL、OBJ、PLY这些格式到底有什么区别&#xff1f;为什么有的文件特别大&#xff0c;有的又特别小&#xff1f;经过几个项目的实战&#xff0c;我终于摸清了门道。三维模型导出本质…...

MATLAB计时函数全解析:从tic/toc到cputime,新手到高手必知的效率工具箱

MATLAB计时函数全解析&#xff1a;从tic/toc到cputime&#xff0c;新手到高手必知的效率工具箱 在数据科学与工程领域&#xff0c;代码执行效率直接影响研究进度与项目成败。想象这样一个场景&#xff1a;你的仿真模型运行了8小时后突然崩溃&#xff0c;却无法定位性能瓶颈&am…...

virtua在复杂场景中的应用:表格、聊天、日历等10种真实案例解析

virtua在复杂场景中的应用&#xff1a;表格、聊天、日历等10种真实案例解析 【免费下载链接】virtua A zero-config, fast and small (~3kB) virtual list (and grid) component for React. 项目地址: https://gitcode.com/gh_mirrors/vi/virtua virtua是一款零配置、轻…...

如何快速学习Tinyhttpd:从main函数到完整启动的超精简Web服务器实现指南

如何快速学习Tinyhttpd&#xff1a;从main函数到完整启动的超精简Web服务器实现指南 【免费下载链接】Tinyhttpd Tinyhttpd 是J. David Blackstone在1999年写的一个不到 500 行的超轻量型 Http Server&#xff0c;用来学习非常不错&#xff0c;可以帮助我们真正理解服务器程序的…...

UDOP-large开源可部署:微软UDOP-large镜像免配置一键上线教程

UDOP-large开源可部署&#xff1a;微软UDOP-large镜像免配置一键上线教程 1. 引言 如果你经常需要处理英文文档&#xff0c;比如整理一堆学术论文、从发票里提取关键信息&#xff0c;或者把表格数据整理成结构化格式&#xff0c;那你一定知道这活儿有多费时费力。传统方法要么…...

5步搞定开源工具试用限制解除方案:设备标识符重置完整指南

5步搞定开源工具试用限制解除方案&#xff1a;设备标识符重置完整指南 【免费下载链接】go-cursor-help 解决Cursor在免费订阅期间出现以下提示的问题: Youve reached your trial request limit. / Too many free trial accounts used on this machine. Please upgrade to pro.…...

Python AOT编译安全黄金标准:基于LLVM-MCA+SGXv2+eBPF验证链的5步合规上线清单

第一章&#xff1a;Python AOT编译安全黄金标准的演进与定义Python 传统上依赖解释执行与字节码&#xff08;.pyc&#xff09;机制&#xff0c;其动态性在提升开发效率的同时&#xff0c;也为运行时注入、字节码篡改和调试器劫持等攻击面埋下隐患。AOT&#xff08;Ahead-of-Tim…...

sysstat多语言支持:国际化部署的完整指南

sysstat多语言支持&#xff1a;国际化部署的完整指南 【免费下载链接】sysstat Performance monitoring tools for Linux 项目地址: https://gitcode.com/gh_mirrors/sy/sysstat sysstat是一款功能强大的Linux性能监控工具&#xff0c;支持多语言界面&#xff0c;能够帮…...

告别Postman!用VSCode REST Client插件管理你的HTTP请求(附环境变量实战)

告别Postman&#xff01;用VSCode REST Client插件管理你的HTTP请求&#xff08;附环境变量实战&#xff09; 在开发者的日常工作中&#xff0c;API调试是不可或缺的一环。传统上&#xff0c;Postman等独立工具占据了主导地位&#xff0c;但随着开发工具链的整合趋势&#xff0…...

Arduino轻量级XXH32哈希库:高吞吐低内存嵌入式校验方案

1. XxHash_arduino 库概述 XxHash_arduino 是一个专为 Arduino 平台优化的轻量级哈希算法库&#xff0c;基于 Yann Collet 开发的 xxHash 算法实现。该库于 2022 年 4 月由嵌入式爱好者 atesin 完成移植&#xff0c;采用 GPLv3 许可协议&#xff0c;同时兼容原始 xxHash 的算法…...