https://docs.python.org/3/whatsnew/3.4.html
- PEP 453: Pip should always be available
- PEP 446: Newly created file descriptors are non-inheritable
- PEP 451: A
ModuleSpecType for the Import System
- Unicode database updated to UCD version 6.3.
-
min()andmax()now accept a default keyword-only argument that can be used to specify the value they return if the iterable they are evaluating has no elements. - Module objects are now
weakref’able. - Module
__file__attributes (and related values) should now always contain absolute paths by default, with the sole exception of__main__.__file__when a script has been executed directly using a relative path. - All the UTF-* codecs (except UTF-7) now reject surrogates during both encoding and decoding unless the surrogatepass error handler is used, with the exception of the UTF-16 decoder and the UTF-16 encoder
- New German EBCDIC codec
cp273. - New Ukrainian codec
cp1125. -
bytes.join()andbytearray.join()now accept arbitrary buffer objects as arguments. - The
intconstructor now accepts any object that has an__index__method for its base argument. - Frame objects now have a
clear()method that clears all references to local variables from the frame. -
memoryviewis now registered as aSequence, and supports thereversed()builtin. - Signatures reported by
help()have been modified and improved in several cases as a result of the introduction of Argument Clinic and other changes to theinspectandpydocmodules. -
__length_hint__()is now part of the formal language specification
-
asyncio -
ensurepip -
enum -
pathlib -
selectors -
statistics -
tracemalloc
-
abc -
aifc -
argparse -
audioop -
base64 -
collections -
colorsys -
contextlib -
dbm -
dis -
doctest -
email -
filecmp -
functools -
gc -
glob -
hashlib -
hmac -
html -
http -
idlelib-and-idle -
importlib -
inspect -
ipaddress -
logging -
marshal -
mmap -
multiprocessing -
operator -
os -
pdb -
pickle -
plistlib -
poplib -
pprint -
pty -
pydoc -
re -
resource -
select -
shelve -
shutil -
smtpd -
smtplib -
socket -
sqlite3 -
ssl -
stat -
struct -
subprocess -
sunau -
sys -
tarfile -
textwrap -
threading -
traceback -
types -
urllib -
unittest -
venv -
wave -
weakref -
xml-etree
- The
PyThreadState.tick_counterfield has been removed; its value has been meaningless since Python 3.2, when the “new GIL” was introduced -
PyLoaderandPyPycLoaderhave been removed fromimportlib. - The
strictargument toHTTPConnectionandHTTPSConnectionhas been removed. HTTP 0.9-style “Simple Responses” are no longer supported. - The deprecated
urllib.request.Requestgetter and setter methodsadd_data,has_data,get_data,get_type,get_host,get_selector,set_proxy,get_origin_req_host, andis_unverifiablehave been removed (use direct attribute access instead). - Support for loading the deprecated
TYPE_INT64has been removed from marshal. -
inspect.Signature: positional-only parameters are now required to have a valid name. -
object.__format__()no longer accepts non-empty format strings, it now raises aTypeErrorinstead. Using a non-empty string has been deprecated since Python 3.2 -
difflib.SequenceMatcher.isbjunk()anddifflib.SequenceMatcher.isbpopular()were deprecated in 3.2, and have now been removed: usex in sm.bjunkandx in sm.bpopular, wheresmis aSequenceMatcherobject