首页 > 编程语言 >Python2.X和Python3.X版本有哪些主要的区别

Python2.X和Python3.X版本有哪些主要的区别

时间:2023-03-26 20:24:33浏览次数:62  
标签:函数 Python 整数 版本 print Python3 Python2

1.print函数

在Python 2中,print语句是关键字而不是函数,其语法如下:

print "Hello, World!"

在Python 3中,print是一个函数,需要使用小括号来包裹print参数。如下:

print("Hello, World!")   

在Python 2和Python 3中,print函数默认在结尾加上换行符。但是在Python 3中,可以通过end参数来修改结尾的字符,默认情况下end为 '\n'。

2.Unicode 编码

python2.X默认使用ASCII 编码,所以python2中默认是不支持中文的,且变量命名只能用英文。

Python3.X默认使用UTF-8编码,所以Python3.X默认是支持中文的,且变量命名能够使用中文命名。

如果在Python2.X文件中不指定头信息 “#__coding:utf-8--”,那么在Python2.X中默认使用ASCII 编码,在Python3.X中默认使用UTF-*8编码

3.除法运算

Python 2 和 Python 3 在除法上的区别主要体现在整数除法的行为不同:

1.在Python 2中,整数除法/返回的是整数结果,并向下取整,即得到的结果只保留整数部分,舍弃小数部分。比如:

print(5/2)    # 输出2
print(-5/2)   # 输出-3

2.在Python 3中,整数除法/自动将结果转换为浮点数,即得到的结果为浮点数。比如:

print(5/2)    # 输出2.5
print(-5/2)   # 输出-2.5

为了保持和Python 2中整数除法的表现一致,Python 3中新增了一种整数除法运算符//,其是向下取整的整数除法,不保留余数部分。如下:

print(5//2)   # 输出2,舍弃了余数
print(-5//2)  # 输出-3,向下取整并保留负号

4.xrange和range函数

Python2中使用xrange生成序列,在python3中取消了xrange函数,而是用range函数完全代替了xrange函数,

  • xrange()返回的是一个可迭代对象。
  • range()函数返回的是一个迭代器对象。

5.不等运算符

在Python2.X中,”不等于“ 可以有俩种写法,分别是 ”!=“ 和 ”<>“ ;在Python3.X中去掉了”<>“,

只有”!=“一种写法

6.在整数数据类型上的区别

在Python2中,整数数据类型有两种:intlong。其中,int通常被限制为32位,而long类型可以用来存储非常大的整数。

在Python3中,整数数据类型只有一种:int。并且,int类型的精度是无限的,可以存储任意大小的整数。

7.打开文件

在Python2.X中可以使用file(...)或open(...),而在Python3中只能使用open(...)

8.map,filter 和reduce

在Python 2中,map()和filter()函数返回的是列表对象,类型属于内置函数(built-in function)而在Python 3中,它们返回的是迭代器对象,类型是类。而reduce()函数在Python 3中没有返回值,而是需要通过functools.reduce()来使用

标签:函数,Python,整数,版本,print,Python3,Python2
From: https://www.cnblogs.com/zouzhibin/p/17259368.html

相关文章

  • Centos7安装Python3.7
    说明:全部操作都在root用户下执行,python3.7安装在/root/python3目录下1.安装编译相关工具yum-ygroupinstall"Developmenttools"yum-yinstallzlib-develbzip2-dev......
  • poi 导入excel (懒人拷贝代码用)(jdbctemplate)oms版本
     相关内容:1,jdbcTemplate批量导入2,js原始产生form动态产生文件选择框3,反射机制调用set方法 <divclass="l-bar-separator"></div><divclass="group"><aclass="linkad......
  • IDEA2022版本设置热部署
    1、开启IDEA的自动编译(静态)具体步骤:打开顶部工具栏File->Settings->Build,Execution,Deployment->Compiler然后勾选Buildprojectautomatically。2、开启IDEA......
  • MySQL 8.0.0 开发里程碑版本(DMR)发布!
    MySQL为何从5.x一下跳跃到了8.0。事实上,MySQL5.x系列已经延续了很多年,从被Oracle收购之前就是5.1,而收购之后一直维持在5.x,比如5.5,5.6,5.7等等。MySQL开......
  • Python3之sqlalchemy
    1.SQLAlchemy介绍SQLAlchemy是Python中一款非常优秀的ORM框架,它可以与任意的第三方web框架相结合,如flask、tornado、django、fastapi等。SQLALchemy相较于Django......
  • linux环境下离线安装python3
    1、卸载旧的python3rpm-qa|greppython3|xargsrpm-ev--allmatches--nodepswhereispython3|xargsrm-frv2、安装python3http://npm.taobao.org/mirrors/python/......
  • VS中.net项目多版本常用配置
    说明:1、进行项目多版本配置前,请参阅:.NET、MSBuild和VisualStudio版本控制概述2、本身不带Form的.Net项目及带Form的.Net项目配置略有不同:需要使用winform时,使用:<UseWind......
  • 【sklearn版本问题解决】
    一、报错fromsklearn.utils.validationimportcheck_memoryImportError:cannotimportname'check_memory'二、解决1.首先我去看了相关位置的源码发现validation.py里......
  • C4D 2023.1.3最新版本一键安装永久使用!
    今天给大家带来的是最新版本MAXONCinema4DC4D2023.1.3安装包下载,支持电脑系统Win和Mac!Cinema4D2023为所有Cinema4D用户带来了出色的功能,并整合了整个Maxon家族的......
  • ubuntu apt安装指定版本vscode
    列出vscode所有版本$apt-cachemadisoncodecode|1.76.1-1678294265|http://packages.microsoft.com/repos/codestable/mainamd64Packagescode|1......