{"id":5017,"date":"2024-11-21T08:27:30","date_gmt":"2024-11-21T07:27:30","guid":{"rendered":"https:\/\/neogeo.fr\/discover-the-major-changes-in-python-from-3-9-to-3-13\/"},"modified":"2026-10-23T16:28:02","modified_gmt":"2026-10-23T14:28:02","slug":"discover-the-major-changes-in-python-from-3-9-to-3-13","status":"publish","type":"post","link":"https:\/\/neogeo.fr\/en\/discover-the-major-changes-in-python-from-3-9-to-3-13\/","title":{"rendered":"Discover the major changes in Python from 3.9 to 3.13"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.python.org\/\">Python<\/a>, the dynamic programming language created by Guido van Rossum, has become one of the most popular tools for developers thanks to its simplicity, flexibility, and power.<strong> At Neogeo, we use it to develop the backend of our applications, write administration scripts, and do data science.<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">To mark the release of <a href=\"https:\/\/www.python.org\/downloads\/release\/python-3130\/\">Python 3.13<\/a> on October 7, we will review the key changes introduced in Python versions 3.9 (the latest version still maintained) through 3.13.<\/p>\n\n<p class=\"wp-block-paragraph\">These new versions bring significant improvements in terms of <strong>performance<\/strong>, with JIT code optimization and the removal of the GIL, a real bottleneck for multi-threaded applications. They also offer <strong>syntax enhancements<\/strong> such as the &#8220;matching&#8221; expression. <\/p>\n\n<p class=\"wp-block-paragraph\">Other updates: Python\u2019s standard library has also been updated. Type handling in Python has also been improved, with the introduction of dynamic types. We will cover these changes in a dedicated article.  <\/p>\n\n<p class=\"wp-block-paragraph\">In this article, we will guide you through the main changes introduced in Python 3.9 to 3.13, and provide examples to help you leverage these new features and improve your applications.<\/p>\n\n<h2 class=\"wp-block-heading\">Performance<\/h2>\n\n<p class=\"wp-block-paragraph\">In Python 3.9, the performance of certain built-in structures such as <em>dict<\/em>, <em>list<\/em>, and <em>set<\/em> was improved. Access to Python variables from C modules was also accelerated (we will not cover this topic in this article). <\/p>\n\n<p class=\"wp-block-paragraph\">Python 3.11 was heavily optimized; the documentation mentions an average 25% performance gain, with improvements ranging from 10% to 60% depending on the type of workload.<\/p>\n\n<p class=\"wp-block-paragraph\">Work on the GIL has paid off in versions 3.12 and 3.13. The GIL, Global Interpreter Lock, is a Python mechanism that prevents simultaneous access to a variable by multiple threads. While very simple for developers, it prevents the creation of efficient multi-threaded programs in Python. At a time when CPUs and cores are multiplying, it is a burden for our little language. Developers have worked to remove this mechanism, but they must proceed in stages. In version 3.12, Python can now use one GIL per interpreter, and it can even be disabled from the command line in 3.13.     <\/p>\n\n<p class=\"wp-block-paragraph\">It is worth noting that <em>asyncio<\/em> was optimized in version 3.12, with performance gains of up to 75%. This Python version also benefits from a new API for less intrusive monitoring (with less impact on performance). <\/p>\n\n<p class=\"wp-block-paragraph\">In addition, version 3.13 also includes an experimental JIT compiler, which can be enabled from the command line. The documentation indicates that the performance gains are modest. It is reasonable to assume that future Python versions will include a more sophisticated and higher-performing JIT compiler.  <\/p>\n\n<h2 class=\"wp-block-heading\">Syntax enhancements<\/h2>\n\n<p class=\"wp-block-paragraph\">Python 3.9 introduced dictionary union operators | and |=. While not revolutionary\u2014you can still use the update function to do the same thing\u2014it is simpler to write. <\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/neogeo.fr\/wp-content\/uploads\/2024\/11\/image.png\" alt=\"\" class=\"wp-image-1385\"\/><\/figure>\n\n<p class=\"wp-block-paragraph\">Perhaps less impactful, it is now possible to use Python expressions as a decorator. This allows you to call functions or request an item from a list when using the decorator: <\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/neogeo.fr\/wp-content\/uploads\/2024\/11\/image-1.png\" alt=\"\" class=\"wp-image-1386\"\/><\/figure>\n\n<p class=\"wp-block-paragraph\">In addition, strings have two new methods to remove suffixes and prefixes:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/neogeo.fr\/wp-content\/uploads\/2024\/11\/image-2.png\" alt=\"\" class=\"wp-image-1387\"\/><\/figure>\n\n<p class=\"wp-block-paragraph\">Pattern matching finally arrived in Python in version 3.10. It is the equivalent of the well-known <em>switch-case<\/em> found in C or Java. I am using the example from the <a href=\"https:\/\/peps.python.org\/pep-0636\/#appendix-a-quick-intro\">documentation<\/a>:  <\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/neogeo.fr\/wp-content\/uploads\/2024\/11\/image-3.png\" alt=\"\" class=\"wp-image-1388\"\/><\/figure>\n\n<p class=\"wp-block-paragraph\">Structural Pattern Matching is very powerful in Python because you can unpack parameters, assign variables, add conditions, etc. I recommend reading <a href=\"https:\/\/peps.python.org\/pep-0636\/\">PEP636<\/a> for more details.<\/p>\n\n<p class=\"wp-block-paragraph\">The other syntax change in Python 3.10 is the ability to use parentheses in a <em>with<\/em> clause, notably to allow multi-line usage:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/neogeo.fr\/wp-content\/uploads\/2024\/11\/image-4.png\" alt=\"\" class=\"wp-image-1389\"\/><\/figure>\n\n<p class=\"wp-block-paragraph\">Python 3.11 introduced exception groups. It is now possible to raise multiple exceptions at the same time. This can be useful for entering multiple <em>except<\/em> sections to fix several issues. Here is the very clear example from the <a href=\"https:\/\/docs.python.org\/3\/reference\/compound_stmts.html#except-star\">documentation<\/a> that shows how to use it (thanks again to the documentation for the example):   <\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/neogeo.fr\/wp-content\/uploads\/2024\/11\/image-5.png\" alt=\"\" class=\"wp-image-1390\"\/><\/figure>\n\n<p class=\"wp-block-paragraph\">Another addition to <em>Exceptions<\/em> that I find very useful is the <em>add_note()<\/em> function, which allows you to add details when catching\/re-raising an exception:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/neogeo.fr\/wp-content\/uploads\/2024\/11\/image-6.png\" alt=\"\" class=\"wp-image-1391\"\/><\/figure>\n\n<p class=\"wp-block-paragraph\">If you look closely at Python error messages (in the traceback in particular), you will now see that the interpreter indicates more precisely where the error is located in the line, and not only which line contains the error.<\/p>\n\n<p class=\"wp-block-paragraph\">Version 3.12 introduced a small syntax change that will simplify the use of <em>f-strings<\/em>: it is now possible to use the same string delimiters in the expression context as in the parent string:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/neogeo.fr\/wp-content\/uploads\/2024\/11\/image-7.png\" alt=\"\" class=\"wp-image-1392\"\/><\/figure>\n\n<p class=\"wp-block-paragraph\">However, there is no syntax change in version 3.13. There are still improvements to error messages, and the interpreter will return colorized error messages. <\/p>\n\n<h2 class=\"wp-block-heading\">Standard library<\/h2>\n\n<p class=\"wp-block-paragraph\">Fewer and fewer changes are being made to the standard library. In Python 3.9, the main addition is a <em>zoneinfo<\/em> module for handling time zones: <\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/neogeo.fr\/wp-content\/uploads\/2024\/11\/image-8.png\" alt=\"\" class=\"wp-image-1393\"\/><\/figure>\n\n<p class=\"wp-block-paragraph\">There is also a new topological sorting module, <em>graphlib<\/em>.<\/p>\n\n<p class=\"wp-block-paragraph\">In the Python 3.10 standard library, the <em>zip<\/em> function has a new <em>strict<\/em> parameter that checks that the sizes of the two input iterators are identical.<\/p>\n\n<p class=\"wp-block-paragraph\">Python 3.11 introduced a new <em>tomllib<\/em> module for reading the TOML file format (but not writing it). The API is similar to that of the <em>json<\/em> module: <\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/neogeo.fr\/wp-content\/uploads\/2024\/11\/image-9.png\" alt=\"\" class=\"wp-image-1394\"\/><\/figure>\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n<p class=\"wp-block-paragraph\">Python is clearly becoming an increasingly stable language; there is little left to add to its syntax to improve code readability. The same can be said of its standard function library. <\/p>\n\n<p class=\"wp-block-paragraph\">Major work to improve performance and clean up the standard library has been undertaken and is gradually bearing fruit.<\/p>\n\n<p class=\"wp-block-paragraph\">We look forward to taking advantage of the advances in this new 3.13 release in our projects.<\/p>\n\n<p class=\"wp-block-paragraph\">What is changing the most in Python right now is clearly typing. But that will be for a future article! <\/p>\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n<p class=\"wp-block-paragraph\"><em>Authors: Mathilde Pommier and S\u00e9bastien<\/em> <em>Da Rocha<\/em><\/p>\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Python, the dynamic programming language created by Guido van Rossum, has become one of the most popular tools for developers thanks to its simplicity, flexibility, and power. At Neogeo, we use it to develop the backend of our applications, write administration scripts, and do data science. To mark the release of Python 3.13 on October &#8230; <a title=\"Discover the major changes in Python from 3.9 to 3.13\" class=\"read-more\" href=\"https:\/\/neogeo.fr\/en\/discover-the-major-changes-in-python-from-3-9-to-3-13\/\" aria-label=\"Read more about Discover the major changes in Python from 3.9 to 3.13\">Read more<\/a><\/p>\n","protected":false},"author":5,"featured_media":5018,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[60],"tags":[],"class_list":["post-5017","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized-en"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What\u2019s new in Python: what changes from 3.9 to 3.13 | NEOGEO<\/title>\n<meta name=\"description\" content=\"Performance, GIL, syntax, standard library: an overview of Python\u2019s changes from version 3.9 to 3.13, released in October 2024.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/neogeo.fr\/en\/discover-the-major-changes-in-python-from-3-9-to-3-13\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What\u2019s new in Python: what changes from 3.9 to 3.13 | NEOGEO\" \/>\n<meta property=\"og:description\" content=\"Performance, GIL, syntax, standard library: an overview of Python\u2019s changes from version 3.9 to 3.13, released in October 2024.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/neogeo.fr\/en\/discover-the-major-changes-in-python-from-3-9-to-3-13\/\" \/>\n<meta property=\"og:site_name\" content=\"NEOGEO\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-21T07:27:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-23T14:28:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/neogeo.fr\/wp-content\/uploads\/2024\/11\/close-up-pattern-scales-scaled-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1928\" \/>\n\t<meta property=\"og:image:height\" content=\"2560\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Philippe DESTR\u00c9\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Philippe DESTR\u00c9\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/discover-the-major-changes-in-python-from-3-9-to-3-13\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/discover-the-major-changes-in-python-from-3-9-to-3-13\\\/\"},\"author\":{\"name\":\"Philippe DESTR\u00c9\",\"@id\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/#\\\/schema\\\/person\\\/69685e84302b110f77d59dc8ee6e2d40\"},\"headline\":\"Discover the major changes in Python from 3.9 to 3.13\",\"datePublished\":\"2024-11-21T07:27:30+00:00\",\"dateModified\":\"2026-10-23T14:28:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/discover-the-major-changes-in-python-from-3-9-to-3-13\\\/\"},\"wordCount\":905,\"publisher\":{\"@id\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/discover-the-major-changes-in-python-from-3-9-to-3-13\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/neogeo.fr\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/close-up-pattern-scales-scaled-1.jpg\",\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/discover-the-major-changes-in-python-from-3-9-to-3-13\\\/\",\"url\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/discover-the-major-changes-in-python-from-3-9-to-3-13\\\/\",\"name\":\"What\u2019s new in Python: what changes from 3.9 to 3.13 | NEOGEO\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/discover-the-major-changes-in-python-from-3-9-to-3-13\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/discover-the-major-changes-in-python-from-3-9-to-3-13\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/neogeo.fr\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/close-up-pattern-scales-scaled-1.jpg\",\"datePublished\":\"2024-11-21T07:27:30+00:00\",\"dateModified\":\"2026-10-23T14:28:02+00:00\",\"description\":\"Performance, GIL, syntax, standard library: an overview of Python\u2019s changes from version 3.9 to 3.13, released in October 2024.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/discover-the-major-changes-in-python-from-3-9-to-3-13\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/neogeo.fr\\\/en\\\/discover-the-major-changes-in-python-from-3-9-to-3-13\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/discover-the-major-changes-in-python-from-3-9-to-3-13\\\/#primaryimage\",\"url\":\"https:\\\/\\\/neogeo.fr\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/close-up-pattern-scales-scaled-1.jpg\",\"contentUrl\":\"https:\\\/\\\/neogeo.fr\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/close-up-pattern-scales-scaled-1.jpg\",\"width\":1928,\"height\":2560,\"caption\":\"A cute little snake with holographic scales, a close-up of its head and body in soft light with a blurred background, macro photography with bright colors in a fantasy style resembling a super-realistic style with an ethereal feel. A pink, blue, purple, and white color scheme creates a dreamy atmosphere. --ar 3:4 --v 5.2 Job ID: 92d1d890-8315-43e2-bfb8-925aeaff5295\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/discover-the-major-changes-in-python-from-3-9-to-3-13\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Discover the major changes in Python from 3.9 to 3.13\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/\",\"name\":\"NEOGEO\",\"description\":\"Optimisez,\u00a0valorisez,\\u2028partagez\u00a0vos\u00a0donn\u00e9es\u00a0spatiales\",\"publisher\":{\"@id\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/#organization\",\"name\":\"NEOGEO\",\"url\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/neogeo.fr\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/NEOGEO-LOGO.svg\",\"contentUrl\":\"https:\\\/\\\/neogeo.fr\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/NEOGEO-LOGO.svg\",\"width\":145,\"height\":42,\"caption\":\"NEOGEO\"},\"image\":{\"@id\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/#\\\/schema\\\/person\\\/69685e84302b110f77d59dc8ee6e2d40\",\"name\":\"Philippe DESTR\u00c9\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b366889cd846213d38b977f63dd60b6af7e9ed5b067a024a76fe0865155ef9db?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b366889cd846213d38b977f63dd60b6af7e9ed5b067a024a76fe0865155ef9db?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b366889cd846213d38b977f63dd60b6af7e9ed5b067a024a76fe0865155ef9db?s=96&d=mm&r=g\",\"caption\":\"Philippe DESTR\u00c9\"},\"url\":\"https:\\\/\\\/neogeo.fr\\\/en\\\/author\\\/pdestreneogeo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What\u2019s new in Python: what changes from 3.9 to 3.13 | NEOGEO","description":"Performance, GIL, syntax, standard library: an overview of Python\u2019s changes from version 3.9 to 3.13, released in October 2024.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/neogeo.fr\/en\/discover-the-major-changes-in-python-from-3-9-to-3-13\/","og_locale":"en_US","og_type":"article","og_title":"What\u2019s new in Python: what changes from 3.9 to 3.13 | NEOGEO","og_description":"Performance, GIL, syntax, standard library: an overview of Python\u2019s changes from version 3.9 to 3.13, released in October 2024.","og_url":"https:\/\/neogeo.fr\/en\/discover-the-major-changes-in-python-from-3-9-to-3-13\/","og_site_name":"NEOGEO","article_published_time":"2024-11-21T07:27:30+00:00","article_modified_time":"2026-10-23T14:28:02+00:00","og_image":[{"width":1928,"height":2560,"url":"https:\/\/neogeo.fr\/wp-content\/uploads\/2024\/11\/close-up-pattern-scales-scaled-1.jpg","type":"image\/jpeg"}],"author":"Philippe DESTR\u00c9","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Philippe DESTR\u00c9","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/neogeo.fr\/en\/discover-the-major-changes-in-python-from-3-9-to-3-13\/#article","isPartOf":{"@id":"https:\/\/neogeo.fr\/en\/discover-the-major-changes-in-python-from-3-9-to-3-13\/"},"author":{"name":"Philippe DESTR\u00c9","@id":"https:\/\/neogeo.fr\/en\/#\/schema\/person\/69685e84302b110f77d59dc8ee6e2d40"},"headline":"Discover the major changes in Python from 3.9 to 3.13","datePublished":"2024-11-21T07:27:30+00:00","dateModified":"2026-10-23T14:28:02+00:00","mainEntityOfPage":{"@id":"https:\/\/neogeo.fr\/en\/discover-the-major-changes-in-python-from-3-9-to-3-13\/"},"wordCount":905,"publisher":{"@id":"https:\/\/neogeo.fr\/en\/#organization"},"image":{"@id":"https:\/\/neogeo.fr\/en\/discover-the-major-changes-in-python-from-3-9-to-3-13\/#primaryimage"},"thumbnailUrl":"https:\/\/neogeo.fr\/wp-content\/uploads\/2024\/11\/close-up-pattern-scales-scaled-1.jpg","inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/neogeo.fr\/en\/discover-the-major-changes-in-python-from-3-9-to-3-13\/","url":"https:\/\/neogeo.fr\/en\/discover-the-major-changes-in-python-from-3-9-to-3-13\/","name":"What\u2019s new in Python: what changes from 3.9 to 3.13 | NEOGEO","isPartOf":{"@id":"https:\/\/neogeo.fr\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/neogeo.fr\/en\/discover-the-major-changes-in-python-from-3-9-to-3-13\/#primaryimage"},"image":{"@id":"https:\/\/neogeo.fr\/en\/discover-the-major-changes-in-python-from-3-9-to-3-13\/#primaryimage"},"thumbnailUrl":"https:\/\/neogeo.fr\/wp-content\/uploads\/2024\/11\/close-up-pattern-scales-scaled-1.jpg","datePublished":"2024-11-21T07:27:30+00:00","dateModified":"2026-10-23T14:28:02+00:00","description":"Performance, GIL, syntax, standard library: an overview of Python\u2019s changes from version 3.9 to 3.13, released in October 2024.","breadcrumb":{"@id":"https:\/\/neogeo.fr\/en\/discover-the-major-changes-in-python-from-3-9-to-3-13\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/neogeo.fr\/en\/discover-the-major-changes-in-python-from-3-9-to-3-13\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/neogeo.fr\/en\/discover-the-major-changes-in-python-from-3-9-to-3-13\/#primaryimage","url":"https:\/\/neogeo.fr\/wp-content\/uploads\/2024\/11\/close-up-pattern-scales-scaled-1.jpg","contentUrl":"https:\/\/neogeo.fr\/wp-content\/uploads\/2024\/11\/close-up-pattern-scales-scaled-1.jpg","width":1928,"height":2560,"caption":"A cute little snake with holographic scales, a close-up of its head and body in soft light with a blurred background, macro photography with bright colors in a fantasy style resembling a super-realistic style with an ethereal feel. A pink, blue, purple, and white color scheme creates a dreamy atmosphere. --ar 3:4 --v 5.2 Job ID: 92d1d890-8315-43e2-bfb8-925aeaff5295"},{"@type":"BreadcrumbList","@id":"https:\/\/neogeo.fr\/en\/discover-the-major-changes-in-python-from-3-9-to-3-13\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/neogeo.fr\/en\/"},{"@type":"ListItem","position":2,"name":"Discover the major changes in Python from 3.9 to 3.13"}]},{"@type":"WebSite","@id":"https:\/\/neogeo.fr\/en\/#website","url":"https:\/\/neogeo.fr\/en\/","name":"NEOGEO","description":"Optimisez,\u00a0valorisez,\u2028partagez\u00a0vos\u00a0donn\u00e9es\u00a0spatiales","publisher":{"@id":"https:\/\/neogeo.fr\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/neogeo.fr\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/neogeo.fr\/en\/#organization","name":"NEOGEO","url":"https:\/\/neogeo.fr\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/neogeo.fr\/en\/#\/schema\/logo\/image\/","url":"https:\/\/neogeo.fr\/wp-content\/uploads\/2026\/06\/NEOGEO-LOGO.svg","contentUrl":"https:\/\/neogeo.fr\/wp-content\/uploads\/2026\/06\/NEOGEO-LOGO.svg","width":145,"height":42,"caption":"NEOGEO"},"image":{"@id":"https:\/\/neogeo.fr\/en\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/neogeo.fr\/en\/#\/schema\/person\/69685e84302b110f77d59dc8ee6e2d40","name":"Philippe DESTR\u00c9","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/b366889cd846213d38b977f63dd60b6af7e9ed5b067a024a76fe0865155ef9db?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b366889cd846213d38b977f63dd60b6af7e9ed5b067a024a76fe0865155ef9db?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b366889cd846213d38b977f63dd60b6af7e9ed5b067a024a76fe0865155ef9db?s=96&d=mm&r=g","caption":"Philippe DESTR\u00c9"},"url":"https:\/\/neogeo.fr\/en\/author\/pdestreneogeo\/"}]}},"_links":{"self":[{"href":"https:\/\/neogeo.fr\/en\/wp-json\/wp\/v2\/posts\/5017","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/neogeo.fr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/neogeo.fr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/neogeo.fr\/en\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/neogeo.fr\/en\/wp-json\/wp\/v2\/comments?post=5017"}],"version-history":[{"count":1,"href":"https:\/\/neogeo.fr\/en\/wp-json\/wp\/v2\/posts\/5017\/revisions"}],"predecessor-version":[{"id":5019,"href":"https:\/\/neogeo.fr\/en\/wp-json\/wp\/v2\/posts\/5017\/revisions\/5019"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/neogeo.fr\/en\/wp-json\/wp\/v2\/media\/5018"}],"wp:attachment":[{"href":"https:\/\/neogeo.fr\/en\/wp-json\/wp\/v2\/media?parent=5017"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/neogeo.fr\/en\/wp-json\/wp\/v2\/categories?post=5017"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/neogeo.fr\/en\/wp-json\/wp\/v2\/tags?post=5017"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}