At the Institute we use both Python 2 and Python 3. While researching the current differences (Python 3.5, compared to Python 2.7), I found two beautiful articles by Brett Cannon, the current manager of Python, and summarized them for my work group.
The articles:
The relevant points for us1 are the following:
Why Python 3 was necessary:
Why use 3 (relevant for us, e.G. for new projects):
The effect of these points is much larger than this short text suggests: avoid surprises, avoid awkward workarounds, and easier debugging.
I have summarized them because I can not expect scientists (or other people who only use Python) to read the full articles, just to decide what they do when they get the channce to tackle a new project. ↩
Example for print():
nums = [1, 2, 3]
with open("data.csv", "a") as f:
print(*nums, sep=";", file=f) ↩
Links:
[1] http://snarky.ca/why-python-3-exists
[2] http://snarky.ca/how-to-pitch-python-3-to-management