{"id":15273,"date":"2021-10-22T20:19:51","date_gmt":"2021-10-22T18:19:51","guid":{"rendered":"https:\/\/www.valcon.it\/python\/?p=15273"},"modified":"2026-09-12T20:02:05","modified_gmt":"2026-09-12T18:02:05","slug":"match-case","status":"publish","type":"post","link":"https:\/\/www.valcon.it\/python\/match-case\/","title":{"rendered":"match case"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"alignright\"><img loading=\"lazy\" decoding=\"async\" width=\"263\" height=\"399\" src=\"https:\/\/www.valcon.it\/python\/wp-content\/uploads\/if3n.png\" alt=\"\" class=\"wp-image-1926\" srcset=\"https:\/\/www.valcon.it\/python\/wp-content\/uploads\/if3n.png 263w, https:\/\/www.valcon.it\/python\/wp-content\/uploads\/if3n-198x300.png 198w\" sizes=\"(max-width: 263px) 100vw, 263px\" \/><\/figure><\/div>\n\n\n<p>La versione <strong>3.10<\/strong> di Python introduce la struttura di controllo <strong>match case<\/strong><\/p>\n\n\n\n<ol>\n<li>rende pi\u00f9 leggibile la <a href=\"https:\/\/www.valcon.it\/pp\/selezione-multipla-2-2\/\">selezione multipla<\/a><\/li>\n\n\n\n<li>recupera la <em>distanza<\/em> da altri linguaggi che prevedono l&#8217;istruzione, anche se con altri nomi\n<ul>\n<li><em>BASIC<\/em>: <strong>select<\/strong><\/li>\n\n\n\n<li><em>C<\/em>: <strong>switch<\/strong><\/li>\n\n\n\n<li><em>PASCAL<\/em>: <strong>case<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>rilancia con una sintassi <em>mooolto pi\u00f9 completa<\/em><\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">1<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-layout-1 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\nmatch x:\n    case 1: ...\n    case 2: ... \n    case 3: ...\n<\/pre><\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Un caso per ogni singolo valore di una variabile \/ espressione <strong>x<\/strong><\/p>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">2<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-layout-2 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\nmatch x:\n    case 1: ...\n    case 2: ... \n    case other: ...\n<\/pre><\/div>\n\n\n<p>oppure<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\nmatch x:\n    case 1: ...\n    case 2: ... \n    case _: ...\n<\/pre><\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Un caso per ogni singolo valore di una variabile \/ espressione <strong>x<\/strong> e un caso per i <em>valori non previsti<\/em><\/p>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">3<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-layout-3 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\nmatch x:\n    case 1 | 2: ...\n    case 3 | 4 | 5: ...\n    case _: ...\n<\/pre><\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Un caso per <em>uno o pi\u00f9 valori<\/em> di una variabile \/ espressione <strong>x<\/strong><\/p>\n\n\n\n<ul>\n<li>1 oppure 2<\/li>\n\n\n\n<li>3 oppure 4 oppure 5<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">4<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\nmatch x: \n    case 1: ... \n    case 2 if(...): ... \n    case _: ...\n<\/pre><\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Con <em>controllo<\/em> (non \u00e8 sufficiente il match con <strong>x<\/strong>, deve essere superato il <em>test<\/em> successivo)<\/p>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">5<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-layout-5 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\nmatch x: \n    case x if(...): ... \n    case x if(...): ... \n    case _: ...\n<\/pre><\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Se il match con <strong>x<\/strong> \u00e8 <em>garantito&#8230;<\/em> allora rimane da superare l&#8217;<strong>if<\/strong><\/p>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">6<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; gutter: false; title: ; notranslate\" title=\"\">\nlista = &#x5B;0,1,2,3,4,5]\n\nmatch lista:\n    case &#x5B;1 ,2, 3, 4]: print(&quot;1 2 3 4&quot;)\n    case &#x5B;1, 2, *sub]: print(&quot;1 2 ...&quot;, sub)\n    case &#x5B;*sub, 4, 5]: print(sub, &quot;... 4 5&quot;)\n    case _: print('Altri casi')\n<\/pre><\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Confronto tra liste (con asterisco&#8230;)<\/p>\n\n\n\n<ul>\n<li>Uguale a 1 2 3 4?<\/li>\n\n\n\n<li>Comincia con 1 2?<\/li>\n\n\n\n<li>Finisce con 4 5?<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">7<\/h2>\n\n\n\n<p>&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La versione 3.10 di Python introduce la struttura di controllo match case 1 Un caso per ogni singolo valore di una variabile \/ espressione x 2 oppure Un caso per ogni singolo valore di una variabile \/ espressione x e un caso per i valori non previsti 3 Un caso per uno o pi\u00f9 valori &#8230; <a title=\"match case\" class=\"read-more\" href=\"https:\/\/www.valcon.it\/python\/match-case\/\" aria-label=\"Leggi di pi\u00f9 su match case\">Leggi tutto<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[64],"tags":[],"_links":{"self":[{"href":"https:\/\/www.valcon.it\/python\/wp-json\/wp\/v2\/posts\/15273"}],"collection":[{"href":"https:\/\/www.valcon.it\/python\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.valcon.it\/python\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.valcon.it\/python\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.valcon.it\/python\/wp-json\/wp\/v2\/comments?post=15273"}],"version-history":[{"count":41,"href":"https:\/\/www.valcon.it\/python\/wp-json\/wp\/v2\/posts\/15273\/revisions"}],"predecessor-version":[{"id":31112,"href":"https:\/\/www.valcon.it\/python\/wp-json\/wp\/v2\/posts\/15273\/revisions\/31112"}],"wp:attachment":[{"href":"https:\/\/www.valcon.it\/python\/wp-json\/wp\/v2\/media?parent=15273"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.valcon.it\/python\/wp-json\/wp\/v2\/categories?post=15273"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.valcon.it\/python\/wp-json\/wp\/v2\/tags?post=15273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}