python2和3区别,用python2还是python3

  python2和3区别,用python2还是python3

  00-1010

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

Python2 . x,通称Python 2,最新版本是2.7.18。

  Python3.x的版本叫Python3,最新版本是3.9.1。

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

  在使用的时候,当然是Python的新版本更好,老版本的代码更难维护。

  在维护旧版本的代码时,需要知道版本之间的主要区别。有时候看到一些代码的语法特征就能大致猜到是什么版本。

  00-1010 1.打印功能:

  Python 2:打印是一种陈述

  打印“HelloWorld!

  #结果:HelloWorld!Python 3:打印是一个函数

  print(HelloWorld!)

  #结果:HelloWorld!

  打印“HelloWorld”

  # Result:语法错误:缺少对“print”的括号调用。diddyoumeanprint( hello world )?2.整数除法:

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

  印刷3/2

  #结果:1

  印刷3/2.0

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

  印刷(3/2)

  #结果:1.5

  打印(3/2.0)

  #结果:1.53.Unicode:

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

  你好

  普林塔

  # Result:文件中的语法错误:非ASCII字符 \ XE6 .但没有编码定义;seehttp://python.org/dev/peps/pep-0263/fordetails

  #在Python2中,如果代码包含非英文字符,需要在代码文件的开头声明编码#_*_coding:utf-8_*_。

  你好

  普林塔

  # Result: Hello Python 3: String默认为Unicode

  你好

  打印(一份)

  # Result:你好,Python 3中的str相当于Python 2中的unicode

  4.异常处理:

  Python 2:

  尝试:

  结果=1/0

  打印结果

  exceptZeroDivisionError,e:

  打印字符串

  #结果:integerdivisionormodulobyzero或

  尝试:

  结果=1/0

  打印结果

  exceptZeroDivisionErrorase:

  打印字符串

  # Result:integerdivisormodulebyte python 3:仅支持as关键字。

  尝试:

  结果=1/0

  打印(结果)

  exceptZeroDivisionErrorase:

  打印(字符串)

  #结果:divisionbyzero5.xrange:

  Python 2:有两种方法:range和xrange。

  差异:

  Range返回一个列表,该列表在被调用时返回整个序列。

  Xrange返回一个迭代器,它在每个循环中生成序列的下一个数字。

  #范围

  打印范围(4)

  #结果:[0,1,2,3]

  #xrange

  printxrange(4)

  # Result: xrang(4)Python 3: xrange方法不再受支持。

  打印(范围(4))

  #结果:范围(0,4)

  (4):

  print(i,end= )

  # Result:0123 Python 3中的range方法相当于Python 2中的xrange方法。

  6 .地图功能:

  Python 2:映射函数返回列表

  print map(x : x 1,range(5))

  # Result: [1,2,3,4,5] Python 3: map函数返回迭代器

  打印(地图(x : x 1,范围(5)))

  #结果:mapobjectat0x00000233A7B85E10

  打印(列表(map(lambdax:x 1,range(5)))

  #结果:[1,2,3,4,5]过滤函数在Python 2和Python 3中的区别是一样的。

  7.不支持has_key:

  Python 2:

  my_dict={age:30, name: 张三 } print my _ dict . has _ key( age )print age in my _ dict

  # result: True#TruePython 3:

  my_dict={age:30, name: 张三 }print(ageinmy_dict)

  #结果:正确

  print(person.has_key(age ))

  # Result:属性错误: dict objecthasnoattribute has _ key 。这就是两个版本的区别。新手建议学习Python3,这是未来的发展趋势。正在学习Python2的同学不要着急。记住以上知识点就可以快速上手Python3了!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: