- Python Basic Tutorial
- Python - Home
- Python - Overview
- Python - Environment Setup
- Python - Basic Syntax
- Python - Comments
- Python - Variables
- Python - Data Types
- Python - Operators
- Python - Decision Making
- Python - Loops
- Python - Numbers
- Python - Strings
- Python - Lists
- Python - Tuples
- Python - Dictionary
- Python - Date & Time
- Python - Functions
- Python - Modules
- Python - Files I/O
- Python - Exceptions
- Python Advanced Tutorial
- Python - Classes/Objects
- Python - Reg Expressions
- Python - CGI Programming
- Python - Database Access
- Python - Networking
- Python - Sending Email
- Python - Multithreading
- Python - XML Processing
- Python - GUI Programming
- Python - Further Extensions
What are the new features added in Python 3.10 version?
In this article, we will learn the new features in Python 3.10, compared to 3.9. Let’s see the features −
Parenthesized context managers
Using enclosing parentheses for continuation across multiple lines in context managers is now supported. This allows formatting a long collection of context managers in multiple lines in a similar way as it was previously possible with import statements
User-Defined Type Guards
TypeGuard has been added to the typing module to annotate type guard functions and improve information provided to static type checkers during type narrowing.
Enhanced error messages
If you will get an error while running a Python program, the error messages will now be more accurate and will give the exact error information
When parsing code that contains unclosed parentheses or brackets the interpreter now includes the location of the unclosed bracket of parentheses instead of displaying SyntaxError: unexpected EOF while parsing or pointing to some incorrect location
SyntaxError exceptions raised by the interpreter will now highlight the full error range of the expression that constitutes the syntax error itself, instead of just where the problem is detected.
Many IndentationError exceptions now have more context regarding what kind of block was expecting an indentation
Precise line numbers for debugging
More precise and reliable line numbers for debugging, profiling and coverage tools. Tracing events, with the correct line number, are generated for all lines of code executed and only for lines of code that are executed.
Structural Pattern Matching
Structural pattern matching has been added in the form of a match statement and case statements of patterns with associated actions. Patterns consist of sequences, mappings, primitive data types as well as class instances. Pattern matching enables programs to extract information from complex data types, branch on the structure of data, and apply specific actions based on different forms of data
The following modules are enhanced with new features, new methods, etc.
array − The index() method of array.array now has optional start and stop parameters.
base64 − Added base64.b32hexencode() and base64.b32hexdecode() to support the Base32 Encoding with Extended Hex Alphabet.
bisect − Added the possibility of providing a key function to the APIs in the bisect module.
contextlib − Add a contextlib.aclosing() context manager to safely close async generators and objects representing asynchronously released resources.
distutils − The distutils package is deprecated, to be removed in Python 3.12.
encodings − The encodings.normalize_encoding() now ignores non-ASCII characters.
- Related Articles
- What are the new features added to Stream API in Java 9?
- What are the best New features added to iPhone and iPad with iOS12?
- What are the features that are added in MySQL 8.0?
- What are the new features in MySQL 8.0
- What are the new features in Swift 4.0?
- What are the major new features in Arduino IDE 2.0?
- What are some great features of Windows 10?
- What are the new methods added to Process API in Java 9?
- What are new methods added to the String class in Java 9?
- Which are the new Null Operators introduced in PowerShell version 7?
- Program to check old and new version numbering are correct or not in Python
- What are the new methods added to an Optional class in Java 9?
- What are new methods have added to the Arrays class in Java 9?
- New Features of C++17
- What are the features of ODBC?