美文网首页
2.2 Python2 vs Python3

2.2 Python2 vs Python3

作者: 要树立远大的理想 | 来源:发表于2018-11-22 15:13 被阅读0次

准备自学Python,选择哪个版本呢?

支持Python2的理由

  1. 公司目前使用Python2
  2. 大部分参考资料均是Python2版本

支持Python3的理由

  1. Python3是以后的趋势

经过仔细的斟酌后,其实就是看知乎的帖子后决定,还是要从Python3入手。

1. Python2 -> Python3 最显著的坑

1.1 print

1.1.1 屏幕输出

Python2

print "Hello World!"
或
print("Hello World!")

Python3

print("Hello World!")

1.1.2 屏幕不换行输出

Python2

print "Hello World!",

Python3

print("Hello World!",end='')

1.2 input

Python2存在两个函数接收命令行输入,分别是input() ,raw_input() 。
Python3为了规范,只保留了input() ,接收你输入的任何内容。

1.2.1 input(Python2 vs Python3)

Python2的input接收值或变量

  • 输入2,接收的是整数型的2
  • 输入Hello,接收的是变量Hello,而不是字符串!如果想要得到的字符串需要加上引号,并且如果没有定义过这个变量,程序就会报错。
  • 输入True,接收的就是布尔类型的True

Python3的input接收输入的字符串

  • 如果想要得到整数值,使用int(input())

1.2.2 raw_input(Python2)

接收输入的任何内容,输出均为字符串

  • 输入2,接收的是字符串2,而不是整数型2

除上述的两个不同之外,还有很多就不一一列举了,下面简要的列出来

  1. 打开文件不再支持 file 方法,只能用 open
  2. range不再返回列表,而是一个可迭代的range对象
  3. 除法 / 不再是整除,而是得到浮点数,整除需要用双斜杠 //
  4. urllib和urllib2合并成了urllib,常用的urllib2.urlopen()变成了urllib.request.urlopen()
  5. 字符串及编码相关有大变动,简单来说就是原来的str变成了新的bytes,原来的unicode变成了新的str。

相关文章

网友评论

      本文标题:2.2 Python2 vs Python3

      本文链接:https://www.haomeiwen.com/subject/xljlqqtx.html