Podcast
Questions and Answers
What is a notable feature of Python's design philosophy?
What is a notable feature of Python's design philosophy?
What kind of programming paradigms does Python support?
What kind of programming paradigms does Python support?
Who is credited with inventing Python?
Who is credited with inventing Python?
What is Python often described as, due to its comprehensive standard library?
What is Python often described as, due to its comprehensive standard library?
Signup and view all the answers
Who led the Python project until 2018?
Who led the Python project until 2018?
Signup and view all the answers
What is the main purpose of the 2to3 utility in Python 3?
What is the main purpose of the 2to3 utility in Python 3?
Signup and view all the answers
What is the status of Python 2.7 as of 2023?
What is the status of Python 2.7 as of 2023?
Signup and view all the answers
What is the purpose of the expedited security updates in 2021 and 2022?
What is the purpose of the expedited security updates in 2021 and 2022?
Signup and view all the answers
What is the new keyword added in Python 3.12?
What is the new keyword added in Python 3.12?
Signup and view all the answers
What is the current stable release of Python as of October 2023?
What is the current stable release of Python as of October 2023?
Signup and view all the answers
Study Notes
General-purpose Programming Language
- Python is a high-level, general-purpose programming language that emphasizes code readability with significant indentation.
- It is dynamically typed and garbage-collected, supporting multiple programming paradigms, including structured, object-oriented, and functional programming.
History
- Python was invented in the late 1980s by Guido van Rossum as a successor to the ABC programming language.
- Guido van Rossum began working on Python in December 1989 and released it in 1991 as Python 0.9.0.
- Python 2.0 was released in 2000, and Python 3.0 was released in 2008, which was a major revision not completely backward-compatible with earlier versions.
- Guido van Rossum stepped down as the lead developer in 2018, and a five-member Steering Council was elected to lead the project in 2019.
Releases and Support
- Python 2.7's end-of-life was initially set for 2015, then postponed to 2020.
- Python 2.7.18, released in 2020, was the last release of Python 2.
- Currently, only Python 3.8 and later are supported, with 3.7.17 being the final 3.7.x release.
- PyPy, an unofficial Python implementation, continues to support Python 2 with backported security updates.
Security Issues and Updates
- In 2021 and 2022, security updates were expedited due to remote code execution and web-cache poisoning vulnerabilities affecting all Python versions.
- Python 3.10.4, 3.9.12, and 3.8.13 were released to address security issues in 2022.
- Python 3.9.13 marked the end of non-security updates for the 3.9 series.
- Four new releases were made in September 2022 to address a potential denial-of-service attack.
- As of October 2023, Python 3.12 is the stable release, with 3.12 and 3.11 being the only versions with active support.
Notable Changes
- Every Python release since 3.5 has added new syntax to the language.
- Python 3.10 added the | union type operator and the match and case keywords for structural pattern matching statements.
- Python 3.11 expanded exception handling functionality and improved error reporting.
- Python 3.12 added the new keyword type.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Description
Learn the fundamentals of Python, a high-level, general-purpose programming language that emphasizes code readability and supports multiple programming paradigms. Discover its features, design philosophy, and standard library.