python2和python3的区别

本文探讨了Python2和Python3的主要区别,包括print语句的使用、字符串编码、除法运算、字符类型差异及input函数的行为变化。在Python2中,print无需括号,字符串默认为ASCII,整数除法只返回整数部分,而Python3则对这些方面进行了改进和标准化。
摘要由CSDN通过智能技术生成

python2和python3的区别

python2跟python3的主要区别:
pytho3现在是主流使用的,python2已经不维护了
python2中没有(),用引号‘ ’引起来;python3使用()
目前linux系统默认的python解释器2.7

区别一:print

python2中:print是一个语法结构,print ‘hello world’或者print "hello world"都可以
python3中:print是一个函数,print(“hello world”)或者print('hello world')都可以
括号里面写单引号或者双引号都可以

在python2中

首先写一个纯英文的.py文件来测试:
在这里插入图片描述
发现python2可以直接调用

编写一个汉语的.py文件测试:
在这里插入图片描述
发现python2不能直接识别中文
此时给文件中加入声明_*_coding:utf-8_*_
在这里插入图片描述
发现此时python2可以识别

在python3中

编写一个test.py文件不加()测试:
在这里插入图片描述
发现不能识别
加入()测试:
在这里插入图片描述
发现可以识别,并且可以直接识别中文

python2诞生的时候没有Unicode,所以python2使用的默认编码格式是asscii编码,这也是python2经常出现编码问题的原因之一。
python3中程序默认数据类型为Unicode,所以直接将数据编码(encode)成为想要转换的数据类型(gbk,utf-8,gb18030,gb2312)
然后解码成为对应的数据类型显示在屏幕上。
也就是python2需要声明,python3不需要声明
python2打印汉字要声明,python3打印汉字不需要声明

区别二:除法运算

python2中整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数相除会保留小数点的部分得到一个浮点数的结果,即所有的结果都是整数
python3中对于整数之间的相除,结果也会是浮点数,即所有相除的结果均用浮点数表示,//表示取整

python2中

所有相除的结果只显示整数部分:
在这里插入图片描述

python3中

所有相除的结果均用浮点数表示
若只想要整数部分,则需使用//
在这里插入图片描述

区别三:字符类型不同

python 3中没有长整形long的概念,字符类型有int ,str,boolean或float
python 2中的字符类型有long长整形,int,float,str,boolean

python3中的变量类型

整型:int
浮点型:float
字符型:str
bool型:bool

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

区别四:input

python2中的raw_input()与python3中的input()功能一样,raw_input()会把用户输入的任何值都作为字符串来对待;而python2中的input不能读取非字符串。
python3 中只有 input(),并且把用户输入的任何值都作为字符串来对待

python2中
在这里插入图片描述
python3中
在这里插入图片描述
在这里插入图片描述
在bool中,0或者空为假,非0或不是空就为真
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

区别五:不等运算符

python 2中不等于有两种写法 != 和 <>
python 3中去掉了<>, 只有!=一种写法

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值