国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python基础教程 > 新手学习python2还是python3?详细区别讲解

新手学习python2还是python3?详细区别讲解

Python2 python3 版本区别

头像

2021-01-23 14:31:493735浏览 · 0收藏 · 0评论

python2和python3的版本,目前主要分为两类:

Python 2.x的版本,被称为Python2,目前最新版是2.7.18

Python 3.x的版本,被称为Python3,目前最新版是3.9.1

从Python2到Python3是一个大版本升级,两者之间有很多地方互不兼容。

使用时当然选择越新的Python版本越好,版本越老的代码越难维护。

维护老版本的代码时,需要了解各版本之间的主要差异。有时看到一些代码的语法特点,可以大致猜出它是什么版本

Python2和Python3之间的变化主要在以下几个方面

1.print函数:

Python 2:print是语句

print "Hello World!"
# 结果:Hello World!

Python 3:print是函数

print('Hello World!')
# 结果:Hello World!
print 'Hello World'
# 结果:SyntaxError: Missing parentheses in call to 'print'. Did you mean print('Hello World')?

2.整数相除:

Python 2:3/2的结果是整数

print 3 / 2
# 结果:1
print 3 / 2.0
# 结果:1.5

Python 3:3/2的结果是浮点数

print(3 / 2)
# 结果:1.5
print(3 / 2.0)
# 结果:1.5

3.Unicode:

Python 2:有两种字符串类型:str和unicode

a = '您好'
print a
# 结果:SyntaxError: Non-ASCII character '\xe6' in file ......, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
# 在Python 2中,如果代码中包含非英文字符,需要在代码文件的最开始声明编码# _*_ coding:utf-8 _*_
a = '您好'
print a
# 结果:您好

Python 3:字符串默认就是Unicode

a = '您好'
print(a)
# 结果:您好

Python 3中的str相当于Python 2中的unicode

4.异常处理:

Python 2:

try:
    result = 1 / 0
print result
except ZeroDivisionError, e:
print str(e)
# 结果:integer division or modulo by zero

try:
    result = 1 / 0
print result
except ZeroDivisionError as e:
print str(e)
# 结果:integer division or modulo by zero

Python 3:只支持as关键字

try:
    result = 1 / 0
print(result)
except ZeroDivisionError as e:
    print(str(e))
# 结果:division by zero

5.xrange:

Python 2:有 range 和 xrange 两个方法

区别:

range返回一个list,在被调用的时候即返回整个序列

xrange返回一个iterator,在每次循环中生成序列的下一个数字

# range
print range(4)
# 结果:[0, 1, 2, 3]
# xrange
print xrange(4)
# 结果:xrang(4)

Python 3:不再支持 xrange 方法

print(range(4))
# 结果:range(0, 4)
for i in range(4):
    print(i, end=' ')
# 结果:0 1 2 3

Python 3中的 range 方法就相当于 Python 2中的 xrange 方法

6.map函数:

Python 2:map函数返回list

print map(lambda x: x+1, range(5))
# 结果:[1, 2, 3, 4, 5]

Python 3:map函数返回iterator

print(map(lambda x: x+1, range(5)))
# 结果:<map object at 0x00000233A7B85E10>
print(list(map(lambda x: x+1, range(5))))
# 结果:[1, 2, 3, 4, 5]

filter函数在Python 2和Python 3中也是同样的区别

7.不支持has_key:

Python 2:

my_dict = {"age": 30, "name": "Zhang San"}print my_dict.has_key("age")print "age" in my_dict
# 结果:True#      True

Python 3:

my_dict = {"age": 30, "name": "Zhang San"}print("age" in my_dict)
# 结果:True
print(person.has_key("age"))
# 结果:AttributeError: 'dict' object has no attribute 'has_key'

以上就是两个版本的差异了,新入门的同学建议学习Python3,这是以后发展的趋势。正在学习Python2的同学也不要着急,记住上面的知识点就可以快速上手Python3啦!

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

BUBBLE| 两富婆轮流上阵| 乖把奶置脱了张开腿H别操我动漫| 查尔斯布朗森| 二叶草M码与欧洲码的区别| DJ快了又快又骚的POP歌曲| 女人大阴肩夹缝是阴虚还是阳虚| 双男主MV大片| 《性爽2》电影| 电影《乳妓》在线观看| 曾鲁射击免费播放电视剧全部| 在线观看国产三级视频| 丰满的儿女小月的身世与背景介绍| 免费观看已满十八岁的电视剧大全| B站暴躁女RAPPER| 小寡妇在线观看免费播放电视剧 | 蜜桃成熟时| 老少配BXMBXMBXMJJ| 双人床上剧烈运动会怎么消除| 《性旺盛的女人》HD| 女性左腿又开腿肚子视频大全| 妈妈的朋友8| 公交车上被蹭水后多久自然恢复| 三叶草M码和欧洲码区别| 为什么男的用手抠女的信道| 在婚房被伴郎C了2个小时的后果 | 公交车被上高湖了还能坐吗小说 | 我把刘姨俩腿扛在肩上是哪一集的| 成都私人情侣免费看电视剧的软件| 《湿点》未增减板相似| 欧美电影免费观看电视剧大全 | 国产69精品久久久久久A片| 上位(H)笔趣阁| 懵懂少女的挨日常TXT百度云资.. 爸爸缓慢有力送女儿的文案 | 《艳乳欲乱2 》动漫 | 苹果13参数| 兄弟的老婆4免费观看电视剧 | 久旱逢甘霖(父女)笔端| 少女配狗播放视频| 国外成品网站1688入口在哪 | 午夜成人理论片A片AAA软件