Python is a high-level interpreted object-oriented programming language with dynamic semantics. Its high-level integrated data structures combined with dynamic typing and dynamic linking make it very attractive for rapid application development, which can also be used as a scripting language or glue to connect existing components together. Python’s simple and searchable syntax emphasizes readability and thus reduces the maintenance value of the program. Python supports modules and packages, which inspires program modularity and code reuse. The Python interpreter and, consequently, the extensive standard library are available in source or binary form for free for all major platforms and should be distributed free of charge.
Programmers often go crazy about Python because of the performance boost it provides. Since there is no compilation stage, the edit-test-debug cycle is incredibly fast. Debugging Python programs is simple: an error or incorrect input will never cause segmentation errors. Instead, when the interpreter detects an error, it throws an exception. When the program does not catch an exception, the interpreter prints a stack trace. The source-level debugger allows you to check local and global variables, evaluate arbitrary expressions, set breakpoints, go through the code one line at a time, etc. The debugger is written in Python itself, which indicates the introspective power of Python. On the other hand, the fastest way to debug a program is often to present several print instructions to the source: a quick edit-test-debug cycle makes this simple approach very effective.
Check Out The New Features Of Python 3.9
new syntactic functions:
PEP 584, union operators added to dict;
PEP 585, universal type designations in standard collections;
PEP 614, loosening grammatical restrictions on decorators.
New built-in functions:
PEP 616, string methods to avoid prefixes and suffixes.
New features of the quality library:
PEP 593, flexible function and variable annotations;
Added OS. pidfd_open(), which allows you to manage processes without runs or signals.
PEP 573, quick access to module state using C extension type methods;
PEP 617, CPython now uses an alternative analyzer supported by PEG;
a number of Python builtins (range, tuple, set, frozenset, list, dict) are now accelerated using PEP 590 vectorcall;
garbage collection does not block resurrected objects;
a number of Python modules (_abc, audioop language, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, math, operator, resource, time, _weakref) now use multiphase initializations as defined in PEP 489;
The number of regular library modules (audioop language, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct termios, zlib) now use the stable ABI defined by PEP 384.
New library modules:
PEP 615, the IANA zone databases are now in the quality library of the zoneinfo module;
The implementation of a topological graph of type A is now presented in the new graphlib module.
Changes in the publishing process:
PEP 602, CPython uses an annual release cycle.
You should check for DeprecationWarning in your code
When Python 2.7 was still supported, many Python 3 features were retained for backward compatibility with Python 2.7. With the highest Python 2 support, these backward compatibility levels will be removed or will be removed soon. Most of them have issued an impairment warning for several years. for example, using collections.Mapping instead of collections. ABC. The comparison issues an impairment warning starting with Python 3.3, released in 2012.
Test your application using the default command line option -W to see DeprecationWarning and PendingDeprecationWarning, or even using -W error to treat them as errors. Warning filters are often used to ignore warnings from third-party code.
Python 3.9 is the latest version providing these Python 2 backward compatibility levels to give Python project developers more time to reorganize removing Python 2 support and adding Python 3.9 support.
Aliases to abstract base classes in a collection module, such as collections.Alias mappings to collections. ABC. Mapping is saved for the latest version for backward compatibility reasons. they will be far from Python 3.10.
More generally, plan to run your tests in Python development mode, which helps organize your code so that it is compatible with a later version of Python.