{"id":1943,"date":"2020-04-11T19:08:14","date_gmt":"2020-04-11T17:08:14","guid":{"rendered":"http:\/\/www.ardpylab.fr\/?page_id=1943"},"modified":"2020-05-10T15:34:12","modified_gmt":"2020-05-10T13:34:12","slug":"les-scripts-python","status":"publish","type":"page","link":"https:\/\/www.ardpylab.fr\/?page_id=1943","title":{"rendered":"Les scripts Python"},"content":{"rendered":"\n<h6>&nbsp;<\/h6>\n<h6><span style=\"color: #999999;\">(<em>Cliquez pour afficher la version PDF)<\/em><\/span><\/h6>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/scriptspython0.pdf\">Les scripts python<\/a><a href=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/scriptspython0.pdf\" class=\"wp-block-file__button\" download>T\u00e9l\u00e9charger<\/a><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<p>En mode interactif, les lignes d\u2019instructions ne sont plus accessibles une fois ex\u00e9cut\u00e9es. Mais il est bien-s\u00fbr possible d\u2019\u00e9crire et de conserver un programme (un script), \u00e0 l\u2019aide d\u2019un \u00e9diteur, pour pouvoir l\u2019ex\u00e9cuter \u00e0 loisir ou pour le modifier ult\u00e9rieurement.<\/p>\n<p>Il existe de nombreux \u00e9diteurs de scripts Python qui int\u00e8gre \u00e9galement un interpr\u00e9teur pour ex\u00e9cuter les programmes. C\u2019est ce qu\u2019on appelle un IDE ou Environnement de d\u00e9veloppement (Integrated Development Environment).<\/p>\n<p>C\u2019est un environnement de programmation complet qui se pr\u00e9sente sous la forme d&rsquo;une application. Il se compose g\u00e9n\u00e9ralement d&rsquo;un \u00e9diteur de code, d&rsquo;un interpr\u00e9teur, d&rsquo;un d\u00e9bogueur&#8230; On peut citer <strong>Pycharm<\/strong>, <strong>Spider<\/strong>\u2026<\/p>\n<p>Mais pour une initiation \u00e0 la programmation en Python, l\u2019utilisation de l\u2019interpr\u00e9teur <strong>IDLE <\/strong>qui permet \u00e9galement d\u2019\u00e9diter des scripts est tout \u00e0 fait adapter&nbsp;:<\/p>\n<p>&#8211; Dans la fen\u00eatre Python Shell (celle du mode interactif), s\u00e9lectionnez \u201d<strong>New File<\/strong>\u201d dans le menu \u201d<strong>File<\/strong>\u201d :<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"688\" height=\"311\" class=\"wp-image-1946 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonscript1.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonscript1.png 688w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonscript1-300x136.png 300w\" sizes=\"auto, (max-width: 688px) 100vw, 688px\" \/><\/figure>\n<\/div>\n\n\n\n<p><br>&#8211; Une nouvelle fen\u00eatre s\u2019ouvre alors. C\u2019est dans cette fen\u00eatre que l\u2019on va \u00e9crire notre premier programme&nbsp;(calcul de la surface d\u2019un disque de rayon R) :<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"687\" height=\"150\" class=\"wp-image-1948 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonscript2.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonscript2.png 687w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonscript2-300x66.png 300w\" sizes=\"auto, (max-width: 687px) 100vw, 687px\" \/><\/figure>\n<\/div>\n\n\n\n<p><br>&#8211; Enregistrement du programme : S\u00e9lectionnez \u201d<strong>Save as\u201d<\/strong> dans le menu \u201d<strong>File\u201d<\/strong>&nbsp;:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"685\" height=\"312\" class=\"wp-image-1950 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonscript3.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonscript3.png 685w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonscript3-300x137.png 300w\" sizes=\"auto, (max-width: 685px) 100vw, 685px\" \/><\/figure>\n<\/div>\n\n\n\n<p><br>Une fen\u00eatre d\u2019enregistrement s\u2019ouvre alors. Choisissez dans l\u2019arborescence le dossier dans lequel vous voulez enregistrer le programme, puis dans le champ d\u2019enregistrement du fichier saisissez le nom du programme suivi de l\u2019extension \u201d.py\u201d, puis cliquez sur enregistrer.<\/p>\n<p>&#8211; Pour ouvrir un programme python pr\u00e9c\u00e9demment enregistr\u00e9, il suffira de s\u00e9lectionner \u201d<strong>Open<\/strong>\u201d dans le menu \u201d<strong>File<\/strong>\u201d de l\u2019environnement IDLE puis de chercher dans vos dossiers le fichier python \u00e0 ouvrir.<\/p>\n<p>&#8211; Ex\u00e9cution du programme : Pour ex\u00e9cuter le programme, il suffit de s\u00e9lectionner \u201d<strong>Run Module<\/strong>\u201d dans le menu \u201d<strong>Run<\/strong>\u201d (si une modification du script a \u00e9t\u00e9 effectu\u00e9e, on vous proposera d\u2019enregistrer le script modifi\u00e9 avant de l\u2019ex\u00e9cuter).<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"685\" height=\"149\" class=\"wp-image-1952 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonscript4.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonscript4.png 685w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonscript4-300x65.png 300w\" sizes=\"auto, (max-width: 685px) 100vw, 685px\" \/><\/figure>\n<\/div>\n\n\n\n<p><br>Le programme s\u2019ex\u00e9cute dans la fen\u00eatre Python shell&nbsp;:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"688\" height=\"172\" class=\"wp-image-1953 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonscript5.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonscript5.png 688w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonscript5-300x75.png 300w\" sizes=\"auto, (max-width: 688px) 100vw, 688px\" \/><\/figure>\n<\/div>\n\n\n\n<p><br \/>On pourra alors modifier notre premier programme, en demandant par exemple \u00e0 l\u2019utilisateur de saisir le rayon du disque. Les modifications seront enregistr\u00e9es et le programme r\u00e9-ex\u00e9cut\u00e9 autant de fois que vous souhaitez.<\/p>\n<p>\u00a0<\/p>\n<h4><strong>1. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=1959\" data-wplink-url-error=\"true\"><span style=\"text-decoration: underline;\">Structure des scripts Python<\/span><\/a><\/strong><\/h4>\n<p style=\"padding-left: 40px;\"><strong>. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=1959\/#struct1\" data-wplink-url-error=\"true\">Les instructions<\/a><br \/>. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=1959\/#struct2\" data-wplink-url-error=\"true\">Les blocs d\u2019instructions<\/a><br \/>. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=1959\/#struct3\" data-wplink-url-error=\"true\">Les entr\u00e9es-sorties<\/a><br \/>. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=1959\/#struct4\" data-wplink-url-error=\"true\">Les conversions<\/a><br \/>. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=1998\" data-wplink-url-error=\"true\">Structures conditionnelles<\/a><br \/><\/strong>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0&#8211; <a href=\"https:\/\/www.ardpylab.fr\/?page_id=1998\/#if1\" data-wplink-url-error=\"true\">Condition <strong>if<\/strong><\/a><br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0&#8211; <a href=\"https:\/\/www.ardpylab.fr\/?page_id=1998\/#if2\" data-wplink-url-error=\"true\">Condition <strong>if \/ else<\/strong><\/a>\u00a0<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0&#8211; <a href=\"https:\/\/www.ardpylab.fr\/?page_id=1998\/#if3\">Condition <strong>elif<\/strong><\/a><br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0&#8211; <a href=\"https:\/\/www.ardpylab.fr\/?page_id=1998\/#if4\" data-wplink-url-error=\"true\"><strong>AND<\/strong> \/ <strong>OR<\/strong><\/a><br \/><strong>. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=2024\" data-wplink-url-error=\"true\">Structures it\u00e9ratives<\/a><br \/><\/strong>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0&#8211; <a href=\"https:\/\/www.ardpylab.fr\/?page_id=2024\/#it1\" data-wplink-url-error=\"true\">boucle <strong>while<\/strong><\/a><br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0&#8211; <a href=\"https:\/\/www.ardpylab.fr\/?page_id=2024\/#it2\">boucle <strong>for<\/strong><\/a><br \/><strong>. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=2062\" data-wplink-url-error=\"true\">Les exceptions \u2013 Gestion des erreurs dans les scripts<\/a><br \/>. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=2093\" data-wplink-url-error=\"true\">Synth\u00e8se structure des scripts<\/a><\/strong><\/p>\n<h4><strong><br \/>2. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=2106\" data-wplink-url-error=\"true\"><span style=\"text-decoration: underline;\">Les fonctions<\/span><\/a><br \/><\/strong><\/h4>\n<p style=\"padding-left: 40px;\"><strong>. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=2106\/#fct1\" data-wplink-url-error=\"true\">Fonctions avec return<\/a><br \/><\/strong><span style=\"color: #333333;\"><strong>. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=2106\/#fct2\" data-wplink-url-error=\"true\">Fonctions lambda<\/a><br \/><br \/><\/strong><\/span><\/p>\n<h4><strong>3. <span style=\"text-decoration: underline;\"><a href=\"https:\/\/www.ardpylab.fr\/?page_id=2147\" data-wplink-url-error=\"true\">Les fichiers<\/a><br \/><\/span><\/strong><\/h4>\n<p style=\"padding-left: 40px;\"><strong>. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=2147\/#fich1\" data-wplink-url-error=\"true\">Lecture d\u2019un fichier<\/a><br \/>.\u00a0<a href=\"https:\/\/www.ardpylab.fr\/?page_id=2147\/#fich2\" data-wplink-url-error=\"true\">Ecrire dans un fichier<\/a><br \/>. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=2147\/#fich3\" data-wplink-url-error=\"true\">Autre m\u00e9thode d\u2019ouverture de fichiers<\/a><br \/>.\u00a0<a href=\"https:\/\/www.ardpylab.fr\/?page_id=2147\/#fich4\" data-wplink-url-error=\"true\">Synth\u00e8se sur la manipulation des fichiers<\/a><br \/><\/strong><span style=\"color: #333333;\"><strong>. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=2147\/#fich5\" data-wplink-url-error=\"true\">Exemple d\u2019application<\/a><br \/><br \/><\/strong><\/span><\/p>\n<h4><strong>4. <span style=\"text-decoration: underline;\"><a href=\"https:\/\/www.ardpylab.fr\/?page_id=2201\" data-wplink-url-error=\"true\">Les modules \u2013 les packages<\/a><br \/><\/span><\/strong><\/h4>\n<p style=\"padding-left: 40px;\"><strong>. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=2201\/#mod1\" data-wplink-url-error=\"true\">Les modules<\/a><br \/>. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=2201\/#mod2\" data-wplink-url-error=\"true\">Les packages<\/a><br \/>. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=2201\/#mod3\" data-wplink-url-error=\"true\">La biblioth\u00e8que standard de Python<\/a><br \/>. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=2201\/#mod4\" data-wplink-url-error=\"true\">Installation de biblioth\u00e8ques Python<\/a><br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0&#8211; <\/strong><a href=\"https:\/\/www.ardpylab.fr\/?page_id=2276\" data-wplink-url-error=\"true\">La biblioth\u00e8que <strong>numpy<\/strong><\/a><br \/><strong>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0&#8211; <\/strong><a href=\"https:\/\/www.ardpylab.fr\/?page_id=2324\" data-wplink-url-error=\"true\">La biblioth\u00e8que <strong>matplotlib<\/strong><\/a><br \/><br \/><\/p>\n<h4><strong>5. <a href=\"https:\/\/www.ardpylab.fr\/?page_id=2370\" data-wplink-url-error=\"true\"><span style=\"text-decoration: underline;\">La programmation orient\u00e9e objet (classes et objets)<\/span><\/a><\/strong><\/h4>\n<p>\u00a0<\/p>\n\n\n<div  class=\"grids-section grids-is-stretch\" style=\"--_gs-gap-desktop:0px 0px;--_gs-m-desktop:0 0 0 0;--_gs-p-desktop:0 0 0 0;--_gs-bg-desktop:transparent none;--_gs-bg-xp-desktop:0px;--_gs-zi-desktop:auto;--_gs-d-desktop:block;--_gs-mw-desktop:calc(100% - 0 - 0);--_gs-gap-tablet:0px 0px;--_gs-m-tablet:0 0 0 0;--_gs-p-tablet:0 0 0 0;--_gs-bg-tablet:transparent none;--_gs-bg-xp-tablet:0px;--_gs-zi-tablet:auto;--_gs-d-tablet:block;--_gs-mw-tablet:calc(100% - 0 - 0);--_gs-gap-mobile:0px 0px;--_gs-m-mobile:0 0 0 0;--_gs-p-mobile:0 0 0 0;--_gs-bg-mobile:transparent none;--_gs-bg-xp-mobile:0px;--_gs-zi-mobile:auto;--_gs-d-mobile:block;--_gs-mw-mobile:calc(100% - 0 - 0);--_gs-columns:2;--_gs-rows:1\"><div class=\"grids-s-w_i\">\n<div class=\"grids-area\" style=\"--_ga-column:1\/2;--_ga-row:1\/2;--_ga-m-desktop:0 0 0 0;--_ga-p-desktop:0 0 0 0;--_ga-bg-desktop:transparent none;--_ga-zi-desktop:auto;--_ga-d-desktop:flex;--_ga-mw-desktop:calc(100% - 0 - 0);--_ga-m-tablet:0 0 0 0;--_ga-p-tablet:0 0 0 0;--_ga-bg-tablet:transparent none;--_ga-zi-tablet:auto;--_ga-d-tablet:flex;--_ga-mw-tablet:calc(100% - 0 - 0);--_ga-m-mobile:0 0 0 0;--_ga-p-mobile:0 0 0 0;--_ga-bg-mobile:transparent none;--_ga-zi-mobile:auto;--_ga-d-mobile:flex;--_ga-mw-mobile:calc(100% - 0 - 0)\">\n\n<div class=\"wp-block-image\"><figure class=\"alignleft size-large\"><a href=\"https:\/\/www.ardpylab.fr\/?page_id=1927\"><img loading=\"lazy\" decoding=\"async\" width=\"50\" height=\"28\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/moins.jpg\" alt=\"\" class=\"wp-image-107\"\/><\/a><\/figure><\/div>\n\n<\/div>\n\n<div class=\"grids-area\" style=\"--_ga-column:2\/3;--_ga-row:1\/2;--_ga-m-desktop:0 0 0 0;--_ga-p-desktop:0 0 0 0;--_ga-bg-desktop:transparent none;--_ga-zi-desktop:auto;--_ga-d-desktop:flex;--_ga-mw-desktop:calc(100% - 0 - 0);--_ga-m-tablet:0 0 0 0;--_ga-p-tablet:0 0 0 0;--_ga-bg-tablet:transparent none;--_ga-zi-tablet:auto;--_ga-d-tablet:flex;--_ga-mw-tablet:calc(100% - 0 - 0);--_ga-m-mobile:0 0 0 0;--_ga-p-mobile:0 0 0 0;--_ga-bg-mobile:transparent none;--_ga-zi-mobile:auto;--_ga-d-mobile:flex;--_ga-mw-mobile:calc(100% - 0 - 0)\">\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-large\"><a href=\"https:\/\/www.ardpylab.fr\/?page_id=1959\"><img loading=\"lazy\" decoding=\"async\" width=\"50\" height=\"28\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/plus.jpg\" alt=\"\" class=\"wp-image-106\"\/><\/a><\/figure><\/div>\n\n<\/div>\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>&nbsp; (Cliquez pour afficher la version PDF) &nbsp; En mode interactif, les lignes d\u2019instructions ne sont plus accessibles une fois ex\u00e9cut\u00e9es. Mais il est bien-s\u00fbr possible d\u2019\u00e9crire et de conserver un programme (un script), \u00e0 l\u2019aide d\u2019un \u00e9diteur, pour pouvoir l\u2019ex\u00e9cuter \u00e0 loisir ou pour le modifier ult\u00e9rieurement. Il existe de nombreux \u00e9diteurs de scripts [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1943","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/1943","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1943"}],"version-history":[{"count":0,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/1943\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1943"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}