[go: up one dir, main page]

0% found this document useful (0 votes)
8 views2 pages

Phython Learning Basics Facts

Download as docx, pdf, or txt
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 2

Python was conceived in the late 1980s[41] by Guido van Rossum at Centrum

Wiskunde & Informatica (CWI) in the Netherlands as a successor to


the ABC programming language, which was inspired by SETL,[42] capable
of exception handling and interfacing with the Amoeba operating system.[12] Its
implementation began in December 1989.[43] Van Rossum shouldered sole
responsibility for the project, as the lead developer, until 12 July 2018, when he
announced his "permanent vacation" from his responsibilities as Python's
"benevolent dictator for life" (BDFL), a title the Python community bestowed upon
him to reflect his long-term commitment as the project's chief decision-maker [44] (he
has since come out of retirement and is self-titled "BDFL-emeritus"). In
January 2019, active Python core developers elected a five-member Steering
Council to lead the project.[45][46]
Python 2.0 was released on 16 October 2000, with many major new features such
as list comprehensions, cycle-detecting garbage collection, reference counting,
and Unicode support.[47] Python 2.7's end-of-life was initially set for 2015, then
postponed to 2020 out of concern that a large body of existing code could not easily
be forward-ported to Python 3.[48][49] No further security patches or other
improvements will be released for it.[50][51] While Python 2.7 and older versions are
officially unsupported, a different unofficial Python implementation, PyPy, continues
to support Python 2, i.e. "2.7.18+" (plus 3.10), with the plus meaning (at least
some) "backported security updates".[52]
Python 3.0 was released on 3 December 2008, with some new semantics and
changed syntax. At least every Python release since (now unsupported) 3.5 has
added some syntax to the language, and a few later releases have dropped
outdated modules, or changed semantics, at least in a minor way.
Since 7 October 2024, Python 3.13 is the latest stable release, and it and, for few
more months, 3.12 are the only releases with active support including for bugfixes
(as opposed to just for security) and Python 3.9, [53] is the oldest supported version of
Python (albeit in the 'security support' phase), due to Python 3.8 reaching end-of-
life.[54][55] Starting with 3.13, it and later versions have 2 years of full support (up
from one and a half), followed by 3 years of security support (for same total support
as before).
Security updates were expedited in 2021 (and again twice in 2022, and more fixed
in 2023 and in September 2024 for Python 3.12.6 down to 3.8.20), since all Python
versions were insecure (including 2.7[56]) because of security issues leading to
possible remote code execution[57] and web-cache poisoning.[58]
Python 3.10 added the | union type operator[59] and the match and case keywords
(for structural pattern matching statements). 3.11 expanded exception
handling functionality. Python 3.12 added the new keyword type. Notable changes
in 3.11 from 3.10 include increased program execution speed and improved error
reporting.[60] Python 3.11 claims to be between 10 and 60% faster than Python 3.10,
and Python 3.12 adds another 5% on top of that. It also has improved error
messages (again improved in 3.14), and many other changes.
Python 3.13 introduces more syntax for types, a new and improved interactive
interpreter (REPL), featuring multi-line editing and color support; an incremental
garbage collector (producing shorter pauses for collection in programs with a lot of
objects, and addition to the improved speed in 3.11 and 3.12), and
an experimental just-in-time (JIT) compiler (such features, can/needs to be enabled
specifically for the increase in speed),[61] and an experimental free-threaded build
mode, which disables the global interpreter lock (GIL), allowing threads to run more
concurrently, that latter feature enabled with python3.13t or python3.13t.exe.
Python 3.13 introduces some change in behavior, i.e. new "well-defined semantics",
fixing bugs (plus many removals of deprecated classes, functions and methods, and
removed some of the C API and outdated modules): "The [old] implementation
of locals() and frame.f_locals is slow, inconsistent and buggy [and it has] has many
corner cases and oddities. Code that works around those may need to be changed.
Code that uses locals() for simple templating, or print debugging, will continue to
work correctly."[62]
Some (more) standard library modules and many deprecated classes, functions and
methods, will be removed in Python 3.15 or 3.16. [63][64]
Python 3.14 is now in alpha 2;[65] regarding possible change to annotations: "In
Python 3.14, from __future__ import annotations will continue to work as it did
before, converting annotations into strings." [66]
PEP 711 proposes PyBI: a standard format for distributing Python Binaries. [67]
Python 3.15 will "Make UTF-8 mode default", [68] the mode exists in all current Python
versions, but currently needs to be opted into. UTF-8 is already used, by default, on
Windows (and elsewhere), for most things, but e.g. to open files it's not and
enabling also makes code fully cross-platform, i.e. use UTF-8 for everything on all
platforms.

You might also like