2.8 KiB
title | localeTitle |
---|---|
Python 2 vs Python 3 | Python 2与Python 3 |
我们不参与辩论。如果您有兴趣了解更多关于它的学术目的,也许这篇文章比较Python 2和Python 3会引起您的兴趣。
但是,我们也不能不知道有两种主要的Python风格。你问,为什么要关心你呢?因为为一个版本的Python编写的代码可能会导致另一个版本的Python出现语法错误。
以下是Python 2中的有效print
语句,但不适用于Python 3:
print "Hello World"
在Python 3中,同一语句会抛出这样的错误:
>>> print "hello"
File "<stdin>", line 1
print "hello"
^
SyntaxError: Missing parentheses in call to 'print'
在Python 2中,“print”被视为语句而不是函数。尽管您可以,但您无需将要打印的文本包装在括号中。 Python 3明确将“print”视为一个函数,这意味着您必须以标准方式将需要打印的项目传递给括号中的函数,否则您将收到语法错误
在Python 2和3中使用print()
函数是“安全的”:
print("Hello World")
Python 2和Python 3之间的另一个区别是它们在调用map()
函数时返回的数据结构。
在Python 2中, map()
返回一个列表:
>>> result = map(int,['10','20','30','40'])
>>> print result
>>> [10,20,30,40]
在Python 3中, map()
返回一个迭代器:
>>> result = map(int,['10','20','30','40'])
>>> print (result)
>>> <map object at 0x7f40896b4630>
要在Python 3中获取列表,您需要转换它:
>>> result = list(map(int,['10','20','30','40']))
>>> print (result)
>>> [10,20,30,40]
所以,你现在唯一需要关注的问题是什么;你要选哪一个?如果你是Python的新手,你应该选择Python 3.Python 2目前的生命终止日期设置为2020.意味着常规错误修正不能保证前进,是的,甚至需要时间来熟悉大多数常见方面蟒蛇;而你的时间很重要。所以,明智地投入时间和精力!
虽然Python 2受到良好支持和欢迎,但Python中最常见的库和框架更喜欢Python 3. Django正式推荐 Python 3. Flask及其所有依赖项也支持 Python 3。
Python 2和Python 3都很棒。大多数Linux和macOS发行版预装了Python 2作为Python的默认版本。 Python 3源于对更可读和更美丽的语言结构的永不满足的追求。
本文使用Python 3在您的开发环境中设置Web框架。但在此之前,您需要确保拥有Python 3并知道如何使用它!