What’s in which Python 3.4–3.6?

Thursday 22 March 2018This is close to seven years old. Be careful.

This is the third in a series of summarizations of what’s in each release of Python. The first two were What’s in which Python 2.x? and What’s in which Python 3.0–3.3?.

Update: I’ve now collected all the “What’s in which Python”s onto a single page: What’s in which Python.

3.4: March 16, 2014

  • pip is always available, via ensurepip
  • asyncio (provisional API)
  • enum
  • Other stdlib modules: statistics, pathlib, and tracemalloc

Full list of 3.4 changes.

3.5: September 13, 2015

  • async and await syntax
  • matrix multiplication operator @
  • more unpacking generalizations
  • The typing module for type hints
  • subprocess.run()
  • os.scandir()

Full list of 3.5 changes.

3.6: December 23, 2016

  • f-strings
  • kwargs and class attributes order is preserved
  • dicts happen to be (but are not guaranteed to be) ordered
  • underscores in numeric literals
  • variable annotations
  • secrets module in stdlib

Full list of 3.6 changes.

Comments

[gravatar]
Great summary Ned - one small point - I understood the Guido has 'decreed' that ordering of dicts wil be a language feature from Python 3.6 onwards.
[gravatar]
@Tony F: dict ordering is not guaranteed by the language until 3.7.
[gravatar]
ok - I missed that nuance. So ordering in 3.6 happens to be a by product of other changes (notably compacted dictionary) - but ordering specifically is not guaranteed and a later 3.6 could break that ordering ?
[gravatar]
CPython 3.6 (the reference implementation) won't break the ordering, but *other* implementations of 3.6 aren't required to match that behaviour.

By contrast, the language definition itself changed for 3.7, so any conformant implementation is expected to make their builtin dictionaries work that way.
[gravatar]
Gonna need 3.7 pretty soon ...
[gravatar]
hello sir
first of all thank you very much for providing this knowledge on python version and in you blog you also tell about difference and what is new in next version. i hope soon i see you blog on python 3.7 because latest version of is 3.7 and please provide knowledge on that version also thank you very much

Add a comment:

Ignore this:
Leave this empty:
Name is required. Either email or web are required. Email won't be displayed and I won't spam you. Your web site won't be indexed by search engines.
Don't put anything here:
Leave this empty:
Comment text is Markdown.