import%20marimo%0A%0A__generated_with%20%3D%20%220.24.0%22%0Aapp%20%3D%20marimo.App(width%3D%22medium%22)%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20import%20marimo%20as%20mo%0A%20%20%20%20import%20markdown%0A%20%20%20%20md%20%3D%20markdown.Markdown(extensions%3D%5B'pymdownx.blocks.admonition'%5D)%0A%20%20%20%20return%20(mo%2C)%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%20Introduction%20et%20prise%20en%20main%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%201.%20Pr%C3%A9sentation%20du%20langage%20Python%0A%0A%20%20%20%20**G%C3%A9n%C3%A9ralit%C3%A9s**%0A%20%20%20%20-%20Python%20est%20un%20langage%20cr%C3%A9%C3%A9%20en%201991%20par%20%5BGuido%20van%20Rossum%5D(https%3A%2F%2Fgvanrossum.github.io%2F)%2C%20un%20d%C3%A9veloppeur%20n%C3%A9erlandais.%0A%20%20%20%20-%20Python%20est%20un%20langage%20_interpr%C3%A9t%C3%A9_%20(comme%20R%20ou%20Matlab)%20%3A%20le%20code%20source%20est%20lu%20et%20ex%C3%A9cut%C3%A9%20dans%20un%20interpr%C3%A9teur%20avec%20les%20donn%C3%A9es%20de%20travail%2C%20contrairement%20%C3%A0%20des%20langages%20_compil%C3%A9s_%20(tels%20que%20C%2FC%2B%2B%20ou%20Fortran)%20o%C3%B9%20le%20code%20source%20est%20lu%20par%20le%20compilateur%20et%20il%20g%C3%A9n%C3%A8re%20un%20binaire%20(ex%C3%A9cutable)%20%C3%A0%20lancer%20(ex%C3%A9cuter)%20en%20fournissant%20les%20donn%C3%A9es%20de%20travail.%0A%20%20%20%20-%20Contrairement%20%C3%A0%20la%20plupart%20des%20langages%2C%20l'indentation%20est%20_primordiale_%20sous%20Python.%20Attention%20%C3%A0%20donc%20toujours%20bien%20respecter%20les%20retours%20%C3%A0%20la%20ligne%20comme%20les%20tabulations.%0A%20%20%20%20-%20Python%20est%20un%20langage%20o%C3%B9%20les%20types%20sont%20_dynamiques_%20%3A%20le%20type%20d%E2%80%99une%20variable%20n%E2%80%99est%20pas%20d%C3%A9clar%C3%A9%2C%20il%20est%20d%C3%A9termin%C3%A9%20par%20son%20contenu%0A%0A%20%20%20%20**Pourquoi%20Python%20%3F**%0A%20%20%20%20-%201er%20au%20classement%20TIOBE%202026%20qui%20mesure%20la%20popularit%C3%A9%20des%20langages%20de%20programmation.%20Derri%C3%A8re%2C%20on%20retrouve%20C%2B%2B%20(3%C3%A8me%20au%20classement)%2C%20R%20(15%C3%A8me%20au%20classement)%2C%20Matlab%20(18%C3%A8me%20au%20classement)%2C%20Fortran%20(19%C3%A8me%20au%20classement)%20ou%20Julia%20(27%C3%A8me%20au%20classement).%0A%20%20%20%20-%20Comp%C3%A9tences%20en%20Python%20tr%C3%A8s%20demand%C3%A9es%20sur%20le%20march%C3%A9%20du%20travail.%0A%20%20%20%20-%20Langage%20g%C3%A9n%C3%A9raliste%20et%20facile%20%C3%A0%20apprendre.%0A%20%20%20%20-%20Une%20fois%20les%20bases%20de%20Python%20ma%C3%AEtris%C3%A9es%2C%20l'apprentissage%20d'autres%20langages%20comme%20Matlab%2C%20R%20ou%20Julia%20est%20facilit%C3%A9.%0A%0A%20%20%20%20**Avantages**%0A%20%20%20%20-%20Langage%20flexible%20en%20termes%20de%20paradigme%20(fa%C3%A7on%20dont%20le%20d%C3%A9veloppeur%20ou%20la%20d%C3%A9veloppeuse%20per%C3%A7oit%20son%20programme%20et%20son%20ex%C3%A9cution%2C%20ce%20qui%20change%20aussi%20la%20fa%C3%A7on%20dont%20le%20programme%20est%20construit)%3A%20Python%20supporte%20aussi%20bien%20la%20programmation%20proc%C3%A9durale%20que%20la%20programmation%20fonctionnelle%20ou%20orient%C3%A9e%20objet.%20Vous%20trouverez%20plus%20de%20d%C3%A9tails%20sur%20la%20notion%20de%20paradigme%20sur%20la%20page%20Wikip%C3%A9dia%20%5Bassoci%C3%A9e%5D(https%3A%2F%2Ffr.wikipedia.org%2Fwiki%2FParadigme_(programmation)).%0A%20%20%20%20-%20Communaut%C3%A9%20importante%20et%20active%3A%20la%20plupart%20des%20probl%C3%A8mes%20ou%20bugs%20que%20l'on%20rencontre%20ont%20une%20solution%20trouvable%20sur%20internet%20ou%20dans%20la%20documentation.%0A%20%20%20%20-%20Biblioth%C3%A8ques%20standards%20tr%C3%A8s%20riches.%0A%20%20%20%20-%20Biblioth%C3%A8ques%20scientifiques%20largement%20reconnues%2C%20compl%C3%A8tes%20et%20utilis%C3%A9es%20dans%20le%20milieu%20acad%C3%A9mique%20comme%20industriel.%0A%0A%20%20%20%20**Inconv%C3%A9nients**%0A%20%20%20%20-%20Lent%20(inh%C3%A9rent%20au%20caract%C3%A8re%20interpr%C3%A9t%C3%A9%20du%20langage).%0A%20%20%20%20-%20Grande%20consommation%20d'espace%20m%C3%A9moire.%0A%20%20%20%20-%20Parfois%20un%20manque%20de%20rigueur%20dans%20la%20structure%20et%20la%20gestion%20des%20types.%0A%20%20%20%20-%20Incompatibilit%C3%A9%20entre%20Python%202%20et%20Python%203%3A%20ce%20cours%20se%20concentre%20sur%20Python%203%2C%20le%20plus%20r%C3%A9pandu%20depuis%202010.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%202.%20Distributions%2C%20gestion%20du%20code%20et%20documentation%0A%0A%20%20%20%20**Distributions**%20La%20distribution%20officielle%20de%20Python%20est%20disponible%20sur%20le%20site%20%5Bwww.python.org%5D(https%3A%2F%2Fwww.python.org).%20La%20distribution%20de%20Python%20est%20accompagn%C3%A9e%20par%20le%20distributeur%20de%20paquets%20%60pip%60%20qui%20permet%20d%E2%80%99installer%20la%20majorit%C3%A9%20des%20biblioth%C3%A8ques.%20Dans%20le%20cas%20des%20biblioth%C3%A8ques%20scientifiques%2C%20leur%20installation%20est%20parfois%20compliqu%C3%A9e%3A%20une%20solution%20est%20d'utiliser%20une%20distribution%20avec%20un%20outil%20de%20gestion%20des%20paquets%20int%C3%A9gr%C3%A9%2C%20comme%20%5BAnaconda%5D(https%3A%2F%2Fwww.anaconda.com).%0A%0A%0A%20%20%20%20%2F%2F%2F%20admonition%20%7C%20Modules%20et%20biblioth%C3%A8ques%0A%20%20%20%20%20%20%20%20type%3A%20note%0A%0A%20%20%20%20Un%20_module_%20est%20un%20fichier%20Python%20(avec%20l%E2%80%99extension%20%60.py%60)%20qui%20contient%20du%20code%20r%C3%A9utilisable%20%3A%20des%20fonctions%2C%20des%20classes%2C%20des%20variables%2C%20etc.%20_Exemples%20%3A_%20les%20modules%20%60math%60%2C%20%60random%60%2C%20%60csv%60.%20On%20peut%20aussi%20cr%C3%A9er%20notre%20propre%20module.%20Le%20plus%20simple%20consiste%20%C3%A0%20enregistrer%20une%20fonction%20dans%20un%20fichier%20puis%20%C3%A0%20charger%20ce%20fichier.%0A%0A%20%20%20%20Une%20_biblioth%C3%A8que_%20est%20un%20ensemble%20th%C3%A9matique%20de%20modules.%20Il%20est%20habituel%20de%20consid%C3%A9rer%20le%20terme%20package%20(ou%20paquet)%20comme%20un%20synonyme%20de%20biblioth%C3%A8que.%20Mais%20au%20sens%20technique%2C%20c%E2%80%99est%20un%20dossier%20qui%20contient%20plusieurs%20modules%2C%20plus%20un%20fichier%20sp%C3%A9cial%20nomm%C3%A9%20%60_init_.py%60.%20_Exemples%20%3A_%20les%20biblioth%C3%A8ques%20%60numpy%60%2C%20%60scipy%60%2C%20%60matplotlib%60.%0A%0A%20%20%20%20Nous%20verrons%20plus%20tard%20comment%20charger%20des%20modules%20et%20des%20biblioth%C3%A8ques.%0A%20%20%20%20%2F%2F%2F%0A%0A%20%20%20%20**%C3%89crire%20et%20ex%C3%A9cuter%20du%20code%20Python**%20La%20fa%C3%A7on%20la%20plus%20%C3%A9dulcor%C3%A9e%20d'utiliser%20Python%20se%20fait%20en%20ligne%20de%20commande%20dans%20un%20terminal.%20Par%20exemple%2C%20sous%20Linux%2C%20il%20suffit%20d'ouvrir%20un%20terminal%20puis%20de%20taper%20la%20commande%20%60python%60%20pour%20ouvrir%20le%20%22shell%22%20Python%3A%20on%20peut%20alors%20directement%20ex%C3%A9cuter%20du%20code.%20Il%20est%20%C3%A9galement%20possible%20d'%C3%A9crire%20un%20script%20dans%20un%20%C3%A9diteur%20de%20texte%2C%20puis%20de%20l'ex%C3%A9cuter%20directement%20dans%20le%20shell%20Python%20avec%20la%20commande%0A%20%20%20%20%60%60%60%0A%20%20%20%20exec(open('fichier.py').read())%0A%20%20%20%20%60%60%60%0A%20%20%20%20Alternativement%2C%20la%20commande%0A%20%20%20%20%60%60%60%0A%20%20%20%20python%20fichier.py%0A%20%20%20%20%60%60%60%0A%20%20%20%20dans%20le%20terminal%20Linux%20ex%C3%A9cute%20le%20script%20%60fichier.py%60.%0A%0A%20%20%20%20Il%20existe%20%C3%A9galement%20des%20environnement%20de%20d%C3%A9veloppement%20(IDE)%20qui%20permettent%2C%20dans%20une%20m%C3%AAme%20application%2C%20d'%C3%A9crire%20du%20code%2C%20de%20l'ex%C3%A9cuter%2C%20d'acc%C3%A9der%20%C3%A0%20la%20documentation%2C%20etc.%20On%20peut%20citer%3A%0A%20%20%20%20-%20%5BPyzo%5D(https%3A%2F%2Fpyzo.org%2F)%2C%20disponible%20sur%20les%20ordinateurs%20de%20l'universit%C3%A9.%0A%20%20%20%20-%20%5BSpyder%5D(https%3A%2F%2Fwww.spyder-ide.org%2F)%2C%20disponible%20%C3%A9galement%20dans%20la%20distibution%20Anaconda.%0A%20%20%20%20-%20Des%20IDE%20plus%20polyvalents%20permettent%20aussi%20de%20d%C3%A9velopper%20en%20Python%20(VS%20Code%2C%20etc.)%20en%20les%20configurants%20proprement.%0A%0A%20%20%20%20Une%20autre%20possibilit%C3%A9%20est%20d'utiliser%20des%20%22notebooks%22%2C%20c'est%20%C3%A0%20dire%20des%20environnements%20interactifs%20de%20programmation%20dans%20un%20navigateur.%20Les%20notebooks%20les%20plus%20r%C3%A9pandus%20sont%20les%20%5BJupyter%20notebook%5D(https%3A%2F%2Fjupyter.org%2F).%0A%0A%20%20%20%20**Python%20%C3%A0%20l'UPJV**%20Sur%20les%20ordinateurs%20de%20l'universit%C3%A9%2C%20tout%20ce%20dont%20nous%20aurons%20besoin%20est%20install%C3%A9%20par%20d%C3%A9faut%2C%20vous%20pouvez%20donc%20utiliser%20Python%20comme%20vous%20le%20souhaitez.%20Je%20vous%20conseille%2C%20pour%20les%20premiers%20TP%2C%20d'utiliser%20l'%C3%A9diteur%20Pyzo.%20Nous%20verrons%20rapidemment%20comment%20utiliser%20Jupyter%20lors%20du%20dernier%20TP%2C%20mais%20vous%20pouvez%20d%C3%A9j%C3%A0%20regarder%20comment%20fonctionne%20un%20notebook%20sur%20le%20serveur%20Jupyter%20l'UJPV%3A%20https%3A%2F%2Fjupyter.u-picardie.fr%2F.%0A%0A%20%20%20%20**Documentation%20et%20r%C3%A9f%C3%A9rences**%20Nous%20verrons%20dans%20ce%20cours%20les%20bases%20de%20Python%20et%20comment%20s'en%20servir%20pour%20faire%20des%20math%C3%A9matiques.%20Mais%20Python%20est%20un%20langage%20beaucoup%20plus%20riche%2C%20et%20nous%20n'aurons%20pas%20le%20temps%20de%20tout%20voir.%20Si%20besoin%2C%20vous%20pouvez%20vous%20r%C3%A9f%C3%A9rer%20%C3%A0%20la%20documentation%20officielle%20%5Bhttps%3A%2F%2Fdocs.python.org%2F3%2F%5D(https%3A%2F%2Fdocs.python.org%2F3%2F)%20ou%20%C3%A0%20des%20forums%20d'entraide%20comme%20%5BStack%20Overflow%5D(https%3A%2F%2Fstackoverflow.com%2F).%20Vous%20pouvez%20%C3%A9galement%20consulter%20le%20%5Bwikibook%5D(https%3A%2F%2Ffr.wikibooks.org%2Fwiki%2FProgrammation_Python)%20d%C3%A9di%C3%A9%20%C3%A0%20la%20programmation%20Python%20pour%20un%20cours%20plus%20complet.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%2F%2F%2F%20admonition%20%7C%20Une%20note%20sur%20l'utilisation%20des%20LLMs%20(Large%20Language%20Models)%0A%20%20%20%20%20%20%20%20type%3A%20warning%0A%0A%20%20%20%20Vous%20n'%C3%AAtes%20pas%20sans%20savoir%20que%20ces%20derni%C3%A8res%20ann%C3%A9es%2C%20les%20LLMs%20(ChatGPT%2C%20Claude%2C%20Le%20Chat%2C%20...)%20ont%20eu%20un%20impact%20monumental%20sur%20de%20nombreux%20domaines%2C%20en%20particulier%20le%20d%C3%A9veloppement%20informatique%20et%20le%20code.%20Au-del%C3%A0%20du%20co%C3%BBt%20%C3%A9nerg%C3%A9tique%2C%20%C3%A9cologique%20et%20environnemental%20%5Bnon-soutenable%5D(https%3A%2F%2Freporterre.net%2FChatGPT-Deepseek-Gemini-combien-d-energie-coute-vraiment-une-requete)%20de%20ces%20outils%20et%20des%20questions%20%5Bphilosophiques%5D(https%3A%2F%2Fwww.radiofrance.fr%2Ffranceculture%2Fpodcasts%2Fun-monde-connecte%2Fl-usage-de-chatgpt-nous-rend-il-plus-bete-3403900)%20qu'ils%20soul%C3%A8vent%20(perte%20de%20l'esprit%20critique%2C%20perte%20de%20cr%C3%A9ativit%C3%A9%2C%20perte%20de%20la%20capacit%C3%A9%20%C3%A0%20raisonner%2C%20%C3%A0%20d%C3%A9battre%20de%20r%C3%A9sultats%2C%20etc...)%2C%20les%20LLMs%20ne%20sont%20pas%20des%20outils%20magiques.%20Il%20est%20alors%20important%20d'avoir%20plusieurs%20points%20en%20t%C3%AAte%20avant%20de%20continuer.%0A%0A%20%20%20%20-%20En%20ce%20qui%20concerne%20Python%2C%20vous%20n'aurez%20pas%20acc%C3%A8s%20%C3%A0%20internet%20le%20jour%20de%20l'examen%20et%20donc%20_a%20fortiori_%20%C3%A0%20ces%20outils.%20De%20m%C3%AAme%2C%20si%20votre%20objectif%20est%20de%20passer%20l'agr%C3%A9gation%2C%20vous%20n'aurez%20pas%20%C3%A0%20acc%C3%A8s%20%C3%A0%20internet%20pour%20votre%20oral%20d'option%20Mod%C3%A9lisation%20(qui%20n%C3%A9cessite%20du%20Python).%20Il%20faut%20donc%20que%20vous%20soyez%20capable%20de%20vous%20d%C3%A9brouiller%20seul.e.%0A%0A%20%20%20%20-%20En%20revanche%2C%20rien%20ne%20vous%20emp%C3%AAche%20d'avoir%20recours%20%C3%A0%20des%20LLMs%20pendant%20le%20semestre%20si%20c'est%20votre%20mani%C3%A8re%20de%20travailler.%20Attention%20cependant%20%C3%A0%20les%20utiliser%20de%20fa%C3%A7on%20efficace%20pour%20votre%20apprentissage%3A%20si%20les%20outils%20d'IA%20peuvent%20%C3%AAtre%20utiles%20pour%20gagner%20du%20temps%20sur%20des%20t%C3%A2ches%20longues%20et%20un%20peu%20p%C3%A9nibles%20(ce%20qui%20arrive%20quand%20on%20code%20beaucoup)%2C%20en%20phase%20d'apprentissage%20il%20ne%20faut%20pas%20se%20reposer%20uniquement%20sur%20leur%20utilisation.%20Il%20faut%20aussi%20vous%20assurer%20que%20vous%20%C3%AAtes%20capables%20de%20raisonner%20et%20coder%20par%20vous-m%C3%AAme%2C%20et%20ce%20pour%20plusieurs%20raisons.%0A%0A%20%20%20%20%20%20%20%20-%20Les%20LLMs%20peuvent%20se%20tromper%20(et%20vont%20m%C3%AAme%20souvent%20aller%20dans%20notre%20sens%20et%20ne%20pas%20nous%20contredire)%3A%20il%20faut%20%C3%AAtre%20capable%20de%20d%C3%A9tecter%20quand%20cela%20arrive%20et%20de%20pouvoir%20corriger%20ces%20erreurs.%0A%0A%20%20%20%20%20%20%20%20-%20Quand%20les%20codes%20commencent%20%C3%A0%20%C3%AAtre%20un%20peu%20longs%2C%20ceux%20g%C3%A9n%C3%A9r%C3%A9s%20par%20IA%20sont%20parfois%20alambiqu%C3%A9s%2C%20peu%20optimis%C3%A9s%2C%20organis%C3%A9s%20de%20fa%C3%A7on%20%C3%A9trange%2C%20etc...%0A%0A%20%20%20%20%20%20%20%20-%20Concernant%20la%20dynamique%20d'apprentissage%2C%20l'image%20ci-dessous%20(extraite%20d'une%20%5B%C3%A9tude%20r%C3%A9cente%5D(https%3A%2F%2Fpapers.ssrn.com%2Fsol3%2Fpapers.cfm%3Fabstract_id%3D6868618))%20montre%20la%20corr%C3%A9lation%20entre%20les%20notes%20de%20devoirs%20%C3%A0%20la%20maison%20et%20les%20notes%20d'examens%20chez%20des%20%C3%A9l%C3%A8ves%20de%20lyc%C3%A9es%20et%20coll%C3%A8ges%20en%20Chine%2C%20en%20distingant%20les%20%C3%A9l%C3%A8ves%20qui%20utilisent%20des%20outils%20d'IA%20de%20ceux%20qui%20n'en%20utilisent%20pas.%20L'%C3%A9tude%20analyse%20plusieurs%20aspects%20de%20la%20courbe%20rouge%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20-%20La%20partie%20de%20droite%20(notes%20excellentes%20%C3%A0%20la%20maison%20mais%20catastrophiques%20en%20examen)%20correspond%20%C3%A0%20des%20%C3%A9l%C3%A8ves%20qui%20utilisent%20l'IA%20pour%20passer%20un%20minimum%20de%20temps%20sur%20leurs%20devoirs%20(on%20est%20dans%20le%20_faire%20faire_%2C%20sans%20aucun%20effet%20sur%20l'apprentissage).%0A%20%20%20%20%20%20%20%20%20%20%20%20-%20La%20partie%20de%20gauche%20correspond%20%C3%A0%20i)%20des%20%C3%A9l%C3%A8ves%20qui%20utilisent%20l'IA%20depuis%20peu%20ou%20ii)%20des%20%C3%A9l%C3%A8ves%20qui%20utilisent%20l'IA%20en%20mode%20%22tuteur%22%2C%20et%20passent%20au%20final%20autant%20de%20temps%20sur%20leurs%20devoirs%20que%20les%20%C3%A9l%C3%A8ves%20qui%20n'utilisent%20pas%20l'IA.%20Dans%20cette%20partie%2C%20la%20courbe%20rouge%20est%20plus%20proche%20de%20la%20courbe%20grise%20et%20l'impact%20sur%20l'apprentissage%20plus%20important.%0A%20%20%20%20%2F%2F%2F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.image(src%3D%22AI.jpeg%22%2C%20width%3D400)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%203.%20Prise%20en%20main%0A%0A%20%20%20%20%23%23%23%203.0.%20Une%20calculatrice%0A%0A%20%20%20%20Une%20des%20fonctionnalit%C3%A9s%20de%20base%20de%20Python%20est%20celle%20d'une%20calculatrice%20scientifique%3A%20toutes%20les%20op%C3%A9rations%20math%C3%A9matiques%20de%20bases%20sont%20impl%C3%A9ment%C3%A9es%20et%20permettent%20de%20faire%20des%20calculs%20rapidement.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%202%20%2B%203%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%206%20-%2012%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%201234%20*%205678%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%205678%20%2F%201234%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%203.1.%20Variables%20et%20affectation%0A%0A%20%20%20%20Les%20donn%C3%A9es%20sont%20stock%C3%A9s%20dans%20la%20m%C3%A9moire%20de%20l%E2%80%99ordinateur.%20Pour%20manipuler%20ces%20donn%C3%A9es%2C%20l%E2%80%99ordinateur%20doit%20conna%C3%AEtre%20o%C3%B9%20elles%20se%20trouvent%20dans%20la%20m%C3%A9moire%20et%20le%20type%20de%20ces%20donn%C3%A9es.%20Dans%20les%20langages%20de%20programmation%20_imp%C3%A9ratifs_%20(comme%20Python)%2C%20on%20utilise%20des%20variables%20pour%20manipuler%20ces%20donn%C3%A9es%20en%20m%C3%A9moire%20et%20c%E2%80%99est%20l%E2%80%99interpr%C3%A9teur%20(ou%20le%20compilateur)%20qui%20fait%20la%20correspondance%20entre%20les%20variables%20et%20les%20adresses%20dans%20la%20m%C3%A9moire.%20Autrement%20dit%2C%20contrairement%20%C3%A0%20la%20notion%20math%C3%A9matique%20de%20variable%2C%20ici%20une%20variable%20est%20plut%C3%B4t%20l'identification%20d'un%20emplacement%20en%20m%C3%A9moire.%0A%0A%20%20%20%20Dans%20tous%20les%20langages%2C%20%C3%A0%20chaque%20variable%20est%20associ%C3%A9e%20un%20identificateur%2C%20ou%20nom.%20En%20Python%2C%20un%20identificateur%20est%20constitu%C3%A9%20de%20lettres%20non%20accentu%C3%A9es%2C%20de%20chiffres%20et%20du%20caract%C3%A8re%20%22%5C_%22%20(et%20c%E2%80%99est%20tout!).%20Un%20identificateur%20commence%20toujours%20par%20une%20lettre.%20En%20Python%2C%20on%20ne%20sp%C3%A9cifie%20pas%20explicitement%20le%20type%20d%E2%80%99une%20variable.%20Ce%20type%20est%20donn%C3%A9%20par%20celui%20de%20la%20donn%C3%A9e%20que%20l%E2%80%99on%20souhaite%20stocker%20dans%20la%20variable%20(type%20_dynamique_).%0A%0A%20%20%20%20%2F%2F%2F%20admonition%20%7C%20Programmation%20fonctionnelle%0A%20%20%20%20%20%20%20%20type%3A%20note%0A%0A%20%20%20%20Dans%20les%20langages%20_fonctionnels_%2C%20le%20programme%20est%20vu%20comme%20une%20suite%20d'%C3%A9valuation%20de%20fonctions%20math%C3%A9matiques.%20C'est%20une%20diff%C3%A9rence%20fondamentale%20avec%20la%20programmation%20imp%C3%A9rative%20qui%20met%20en%20avant%20plut%C3%B4t%20les%20changements%20d'%C3%A9tats%20du%20programme.%20Les%20variables%20des%20programmes%20fonctionnels%20sont%20alors%20des%20variables%20au%20sens%20math%C3%A9matique%20du%20terme.%20Nous%20n'irons%20pas%20plus%20loin%20dans%20cette%20direction%20car%20cela%20sort%20du%20cadre%20de%20ce%20cours.%0A%20%20%20%20%2F%2F%2F%0A%0A%20%20%20%20%2F%2F%2F%20admonition%20%7C%20Quelques%20conseils%0A%20%20%20%20%20%20%20%20type%3A%20tip%0A%0A%20%20%20%20-%20Ne%20pas%20mettre%20de%20%60l%60%20(minuscule)%2C%20%60O%60%20et%20%60I%60%20(majuscules)%20seuls%20pour%20nommer%20une%20variable%20%3A%20cela%20%C3%A9vite%20les%20confusions.%0A%20%20%20%20-%20Ne%20pas%20utiliser%20de%20caract%C3%A8res%20sp%C3%A9ciaux%20%3A%20se%20limiter%20aux%2026%20lettres%20de%20l'alphabet%20%2B%20%60_%60.%0A%20%20%20%20-%20%C3%89viter%20certaines%20formes%20qui%20sont%20utilis%C3%A9es%20par%20%60Python%60%2C%20par%20exemple%20(avec%20%60xxx%60%20repr%C3%A9sentant%20un%20nom%20quelconque)%20%3A%0A%20%20%20%20%20%20%20%20-%20%60_xxx%60%20%3A%20usage%20interne%0A%20%20%20%20%20%20%20%20-%20%60__xxx%60%20%3A%20attribut%20de%20classe%0A%20%20%20%20%20%20%20%20-%20%60___xxx___%60%20%3A%20nom%20sp%C3%A9cial%20r%C3%A9serv%C3%A9%0A%20%20%20%20%2F%2F%2F%0A%0A%20%20%20%20La%20syntaxe%20g%C3%A9n%C3%A9rale%20pour%20initialiser%20une%20variable%20est%0A%20%20%20%20%60%60%60%0A%20%20%20%20identificateur%20%3D%20expression%0A%20%20%20%20%60%60%60%0A%0A%20%20%20%20Ci-dessous%2C%20on%20affecte%20trois%20valeurs%20num%C3%A9riques%20aux%20variables%20%60a%60%2C%20%60b%60%20et%20%60c%60%2C%20puis%20dans%20la%20cellule%20suivante%20on%20affiche%20les%20valeurs%20enregistr%C3%A9es%20dans%20ces%20variables.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20a%20%3D%202%20%2B%202%0A%20%20%20%20b%20%3D%206%20*%208%0A%20%20%20%20c%20%3D%2022%20%2F%207%0A%20%20%20%20return%20a%2C%20b%2C%20c%0A%0A%0A%40app.cell%0Adef%20_(a%2C%20b%2C%20c)%3A%0A%20%20%20%20print(a)%0A%20%20%20%20print(b)%0A%20%20%20%20print(c)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20On%20peut%20%C3%A9galement%20faire%20des%20d%C3%A9clarations%20multiples%20sur%20une%20seule%20ligne.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20x_1%2C%20y_1%20%3D%2049%2C%203%20%20%23%20x%20recoit%2049%20et%20y%20recoit%203%0A%20%20%20%20print(x_1)%0A%20%20%20%20print(y_1)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20x_2%20%3D%204%0A%20%20%20%20x_2%2C%20y_2%20%3D%202%20*%20x_2%2C%20x_2%20-%204%20%20%23%20%C3%A0%20droite%20on%20%C3%A9value%20AVANT%20la%20premi%C3%A8re%20affectation%20%C3%A0%20x_2%20puis%20y_2%0A%20%20%20%20print(x_2)%0A%20%20%20%20print(y_2)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%203.2.%20Types%0A%0A%20%20%20%20Le%20_type_%20d'un%20objet%20ou%20d'une%20variable%20d%C3%A9finit%20la%20fa%C3%A7on%20dont%20elle%20est%20repr%C3%A9sent%C3%A9e%20dans%20la%20m%C3%A9moire%20de%20l'ordinateur%2C%20ce%20qui%20revient%20in%20fine%20au%20nombre%20d'octets%20n%C3%A9cessaires%20pour%20la%20stocker.%20On%20pr%C3%A9sente%20ci-dessous%20trois%20des%20types%20les%20plus%20simples%20et%20les%20plus%20utiles%20pour%20faire%20des%20maths%20ainsi%20que%20le%20type%20%60bool%60.%0A%0A%20%20%20%20%2F%2F%2F%20note%20%7C%20Le%20type%20entier%20(%60int%60)%0A%20%20%20%20Les%20entiers%20d%C3%A9clar%C3%A9s%20en%20Python%20sont%20de%20type%20%60int%60.%20%60int%60%20n%E2%80%99est%20limit%C3%A9%20en%20taille%20que%20par%20la%20taille%20m%C3%A9moire%20de%20la%20machine%2C%20ainsi%20sur%20une%20machine%2032-bits%2C%20la%20taille%20d'un%20int%20sera%20de%2032-bit%2C%20donc%20un%20int%20permettra%20de%20repr%C3%A9senter%20des%20nombres%20entre%20%24%E2%88%922%5E%7B31%7D%24%20et%20%242%5E%7B31%7D%E2%88%921%24%2C%20soit%20entre%20%24-2%20147%20483%20648%24%20et%20%242%20147%20483%20647%24.%0A%20%20%20%20%2F%2F%2F%0A%0A%20%20%20%20%2F%2F%2F%20note%20%7C%20Le%20type%20flottant%20(%60float%60)%0A%20%20%20%20Un%20nombre%20%C3%A0%20virgule%20flottante%20est%20un%20nombre%20d%C3%A9cimal%20qu'il%20est%20possible%20de%20repr%C3%A9senter%20par%20une%20_mantisse_%20et%20_un%20exposant_.%20Par%20exemple%2C%20le%20nombre%20%24125%2C789%24%20est%20repr%C3%A9sentable%20par%20le%20couple%20(mantisse%20%3D%20%241%2C25789%24%2C%20exposant%20%3D%20%242%24).%20La%20mantisse%20est%20toujours%20comprise%20entre%20%24-10%24%20et%20%2410%24%20exclus.%20Les%20nombres%20sont%20alors%20traduits%20par%20la%20formule%0A%20%20%20%20%5C%5B%20%5Ctext%7Bnombre%7D%20%3D%20%5Ctext%7Bmantisse%7D%20%5Ctimes%2010%5E%7B%5Ctext%7Bexposant%7D%7D%5C%5D%0A%20%20%20%20%2F%2F%2F%0A%0A%20%20%20%20%2F%2F%2F%20note%20%7C%20Le%20type%20complexe%20(%60complex%60)%0A%20%20%20%20Un%20nombre%20complexe%20est%20un%20nombre%20compos%C3%A9%20d'une%20partie%20r%C3%A9elle%20et%20d'une%20partie%20imaginaire.%20Dans%20certains%20contextes%2C%20(comme%20la%20physique)%2C%20la%20racine%20de%20%24-1%24%20est%20not%C3%A9e%20%24j%24%3A%20c'est%20ce%20qui%20se%20fait%20en%20Python.%20Un%20nombre%20complexe%20s'%C3%A9crit%20donc%20en%20Python%20sous%20la%20forme%20%60a%20%2B%20bj%60%2C%20avec%20%60a%60%20et%20%60b%60%20des%20variables%20de%20type%20%60float%60.%20Attention%2C%20%60j%60%20doit%20%C3%AAtre%20pr%C3%A9c%C3%A9d%C3%A9%20d'un%20nombre%20car%20sinon%2C%20Python%20l'interpr%C3%A9tera%20comme%20%C3%A9tant%20la%20variable%20%60j%60.%20Il%20ne%20doit%20pas%20y%20avoir%20d'espace%20entre%20ce%20nombre%20et%20%60j%60.%0A%20%20%20%20%2F%2F%2F%0A%0A%20%20%20%20%2F%2F%2F%20note%20%7C%20Le%20type%20bool%C3%A9en%20(%60bool%60)%0A%20%20%20%20Une%20variable%20bool%C3%A9enne%20est%20une%20variable%20qui%20peut%20prendre%20deux%20valeurs%3A%20%60True%60%20(vrai)%20et%20%60False%60%20(faux).%0A%20%20%20%20%2F%2F%2F%0A%0A%20%20%20%20Il%20existe%20des%20commandes%20pour%20passer%20d'un%20type%20%C3%A0%20l'autre.%20Par%20exemple%2C%20les%20commandes%20(ou%20fonctions)%20%60int()%60%20et%20%60round()%60%20permettent%20de%20convertir%20un%20flottant%20en%20entier%2C%20mais%20pas%20de%20la%20m%C3%AAme%20mani%C3%A8re%3A%0A%20%20%20%20-%20La%20fonction%20%60int()%60%20retourne%20la%20partie%20enti%C3%A8re%20du%20nombre.%0A%20%20%20%20-%20La%20fonction%20%60round()%60%20retourne%20l%E2%80%99entier%20le%20plus%20%22proche%22%20en%20terme%20de%20distance.%0A%0A%20%20%20%20Ci-dessous%2C%20quelques%20exemples%20d'utilisation%20de%20ces%20fonctions.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20int(3.4)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20round(3.4)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20int(3.5)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20round(3.5)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20round(4.6)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20int(3.6)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20round(3.6)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20round(3.2%20%2B%202j)%20%23%20erreur%2C%20round%20n'est%20pas%20d%C3%A9fini%20pour%20des%20nombres%20complexes...%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%2F%2F%2F%20admonition%20%7C%0A%20%20%20%20%20%20%20%20type%3A%20tip%0A%0A%20%20%20%20La%20commande%20%60type()%60%20renvoie%20le%20type%20d'une%20variable.%0A%20%20%20%20%2F%2F%2F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20type(3)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20type(3.)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20type(3%20%2B%206j)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20type(False)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%203.3.%20Op%C3%A9rateurs%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20Comme%20en%20math%C3%A9matiques%2C%20les%20op%C3%A9rateurs%20permettent%20d'effectuer%20des%20op%C3%A9rations%20entre%20les%20variables%20(on%20a%20d%C3%A9j%C3%A0%20vu%20comment%20utiliser%20les%20op%C3%A9rateurs%20de%20base).%0A%0A%20%20%20%20%7C%20**Symbole**%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20**Op%C3%A9rateur%20arithm%C3%A9tique**%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%3A-----------%3A%7C%3A-----------------------------------------------------------------------------------------------------------------%3A%7C%0A%20%20%20%20%7C%20%20%20%20%20%60%2B%60%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20addition%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%20%20%20%20%60-%60%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20soustraction%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%20%20%20%20%60*%60%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20multiplication%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%20%20%20%20%60%2F%60%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20division%20(retourne%20toujours%20un%20float)%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%20%20%20%20%60%2F%2F%60%20%20%20%20%7C%20division%20enti%C3%A8re%20(retourne%20un%20int%20si%20et%20seulement%20si%20les%20deux%20op%C3%A9randes%20sont%20de%20type%20int%20sinon%20retourne%20un%20float)%20%7C%0A%20%20%20%20%7C%20%20%20%20%20%60%25%60%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20reste%20de%20la%20division%20enti%C3%A8re%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%20%20%20%20%60**%60%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20puissance%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%0A%20%20%20%20%2F%2F%2F%20admonition%20%7C%20Ordre%20de%20priorit%C3%A9%20des%20op%C3%A9rateurs%0A%20%20%20%20%20%20%20%20type%3A%20warning%0A%0A%20%20%20%20L'ordre%20de%20priorit%C3%A9%20est%20%60**%20*%20%2F%20%2F%2F%20%25%20%2F%20%2B%20-%60.%20En%20cas%20d%E2%80%99%C3%A9galit%C3%A9%2C%20les%20op%C3%A9rations%20sont%20effectu%C3%A9es%20de%20gauche%20%C3%A0%20droite%20pour%20%60*%20%2F%20%2F%2F%60%20et%20de%20droite%20%C3%A0%20gauche%20pour%20%60**%60.%0A%20%20%20%20%2F%2F%2F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%2010%20%2F%202%20%2F%205%20%23%20vaut%201%20car%20se%20lit%20comme%20(10%2F2)%2F5%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%202%20**%203%20**%202%20%23%20vaut%20512%20car%20se%20lit%20comme%202**(3**2)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20**Op%C3%A9rateurs%20arithm%C3%A9tiques%20compos%C3%A9s**%20Il%20est%20aussi%20possible%20de%20_composer_%20des%20op%C3%A9rateurs%20arithm%C3%A9tiques%20avec%20%60%2B%3D%60%2C%20%60-%3D%60%2C%20%60*%3D%60%2C%20%60%2F%3D%60%2C%20%60%25%3D%60.%20Pour%20tous%20ces%20op%C3%A9rateurs%2C%20on%20a%20l'%C3%A9quivalence%0A%20%20%20%20%60%60%60%0A%20%20%20%20expression_1%20op%3D%20expression_2%20%20%3C%3D%3E%20%20expression_1%20%3D%20(expression_1)%20op%20(expression_2)%0A%20%20%20%20%60%60%60%0A%20%20%20%20Par%20exemple%2C%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20v%20%3D%203%0A%20%20%20%20v%20%2B%3D%202%0A%20%20%20%20v%20-%3D%201%0A%20%20%20%20v%20*%3D%203%0A%20%20%20%20print(v)%20%23%20v%20%3D%20(3%20%2B%202%20-%201)%20*%203%20%3D%2012%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%7C%20**Symbole**%20%7C%20**Op%C3%A9rateur%20logique**%20(ordre%20d%C3%A9croissant%20de%20priorit%C3%A9)%20%7C%0A%20%20%20%20%7C%3A-----------%3A%7C%3A-----------------------------------------------------%3A%7C%0A%20%20%20%20%7C%20%20%20%20%20%60%3D%3D%60%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%C3%A9galit%C3%A9%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%20%20%20%20%60!%3D%60%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20diff%C3%A9rent%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%20%20%60%3C%3D%2C%20%3C%60%20%20%20%7C%20%20%20%20%20%20%20%20inf%C3%A9rieur%20ou%20%C3%A9gal%2C%20strictement%20inf%C3%A9rieur%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%20%20%60%3E%3D%2C%20%3E%60%20%20%20%7C%20%20%20%20%20%20%20%20sup%C3%A9rieur%20ou%20%C3%A9gal%2C%20strictement%20sup%C3%A9rieur%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%20%20%20%60not%60%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20n%C3%A9gation%20logique%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%20%20%20%60and%60%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20et%20logique%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%20%20%20%20%60or%60%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ou%20logique%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%0A%20%20%20%20Par%20exemple%2C%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%2010%20%3C%201%20or%201%20%3D%3D%201%20%23%20faux%20ou%20vrai%20%3D%20vrai%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20not%2010%20%3C%201%20or%201%20%3D%3D%201%20%23%20vrai%20ou%20vrai%20%3D%20vrai%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20not%20(10%20%3C%201%20or%201%20%3D%3D%201)%20%23%20not%20(faux%20ou%20vrai)%20%3D%20not%20(vrai)%20%3D%20faux%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%2010%20%3C%201%20or%201%20!%3D%201%20%23%20faux%20ou%20faux%20%3D%20faux%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%2010%20%3C%201%20and%201%20%3D%3D%201%20%23%20faux%20et%20vrai%20%3D%20faux%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%2F%2F%2F%20admonition%20%7C%20Conseil%0A%20%20%20%20%20%20%20%20type%3A%20tip%0A%0A%20%20%20%20Pour%20la%20lisibilit%C3%A9%20de%20votre%20code%2C%20n%E2%80%99h%C3%A9sitez%20pas%20%C3%A0%20mettre%20des%20parenth%C3%A8ses%20quand%20vous%20manipulez%20des%20expressions%20bool%C3%A9ennes%2C%20m%C3%AAme%20si%20ce%20n%E2%80%99est%20pas%20n%C3%A9cessaire.%0A%20%20%20%20%2F%2F%2F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%203.4.%20Caract%C3%A8res%20et%20cha%C3%AEnes%20de%20caract%C3%A8res%0A%0A%20%20%20%20Python%20permet%20%C3%A9galement%20de%20manipuler%20des%20cha%C3%AEnes%20de%20caract%C3%A8res%2C%20qui%20correspondent%20grosso-modo%20%C3%A0%20des%20mots%20et%20phrases%20pour%20nous.%20Cela%20nous%20sera%20utile%20par%20la%20suite%20par%20exemple%20quand%20nous%20l%C3%A9genderons%20des%20graphiques.%0A%0A%20%20%20%20%2F%2F%2F%20admonition%20%7C%20Le%20type%20caract%C3%A8re%20(%60char%60)%0A%20%20%20%20%20%20%20%20type%3A%20note%0A%0A%20%20%20%20Un%20_caract%C3%A8re_%20est%20n'importe%20quel%20symbole%20(chiffre%2C%20lettre%2C%20ponctuation%2C%20etc.)%2C%20d%C3%A9finit%20entre%20deux%20guillemets%20%60'%60%20ou%20%60%22%60.%0A%20%20%20%20%2F%2F%2F%0A%0A%20%20%20%20%2F%2F%2F%20admonition%20%7C%20Les%20cha%C3%AEnes%20de%20caract%C3%A8res%20(%60string%60)%0A%20%20%20%20%20%20%20%20type%3A%20note%0A%0A%20%20%20%20Tout%20est%20dans%20le%20titre%2C%20il%20s'agit%20de%20suite%20de%20caract%C3%A8res.%0A%20%20%20%20%2F%2F%2F%0A%0A%20%20%20%20Par%20exemple%2C%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20ab%20%3D%20'c'%0A%20%20%20%20chaine%20%3D%20'ceci%20est%20une%20cha%C3%AEne%20de%20caract%C3%A8res'%0A%20%20%20%20print(ab%2C'a'%2C'B'%2C'0'%2C'9')%0A%20%20%20%20print(chaine)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20chaine_vide%20%3D%20''%20%23%20ceci%20est%20la%20cha%C3%AEne%20vide%0A%20%20%20%20print(chaine_vide)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20Il%20existe%20aussi%20des%20caract%C3%A8res%20sp%C3%A9ciaux%2C%20comme%20les%20tabulations%20ou%20les%20retours%20%C3%A0%20la%20ligne.%20Ceux-ci%20sont%20d%C3%A9finis%20avec%20un%20backslash%20%60%5C%60%3A%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20chaine_etrange%20%3D%20'ceci%20est%20une%20cha%C3%AEne%20de%20carac%5Ctt%C3%A8res%20avec%20une%20tabulation%20%3F%20et%20m%C3%AAme%5Cnun%20retour%20%C3%A0%20la%20ligne%20%3F%3F'%0A%20%20%20%20print(chaine_etrange)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20Pour%20ins%C3%A9rer%20des%20guillements%20dans%20une%20cha%C3%AEne%20de%20caract%C3%A8res%2C%20attention%20%C3%A0%20ne%20pas%20utiliser%20les%20m%C3%AAmes%20pour%20d%C3%A9limiter%20la%20cha%C3%AEne.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0Aapp._unparsable_cell(%0A%20%20%20%20r%22%22%22%0A%20%20%20%20chaineception_fail%20%3D%20'ceci%20est%20une%20'cha%C3%AEne'%20avec%20des%20guillemets'%20%23%20erreur%0A%20%20%20%20%22%22%22%2C%0A%20%20%20%20name%3D%22_%22%0A)%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20chaineception1%20%3D%20%22ceci%20est%20une%20'cha%C3%AEne'%20avec%20des%20guillemets%22%0A%20%20%20%20chaineception2%20%3D%20'ceci%20est%20une%20%22cha%C3%AEne%22%20avec%20des%20guillemets'%0A%20%20%20%20print(chaineception1)%0A%20%20%20%20print(chaineception2)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20**Op%C3%A9rations%20sur%20les%20cha%C3%AEnes%20de%20caract%C3%A8res**%0A%0A%20%20%20%20On%20peut%20**diviser**%20les%20longues%20cha%C3%AEnes%20de%20caract%C3%A8res%20avec%20le%20caract%C3%A8re%20%60%5C%60%20ou%20les%20parenth%C3%A8ses.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20longue_chaine1%20%3D%20'un%20deux%20trois'%20%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'%20quatre%20cinq'%0A%20%20%20%20longue_chaine2%20%3D%20('un%20deux'%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'%20trois%20quatre'%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'%20cinq')%0A%20%20%20%20print(longue_chaine1)%0A%20%20%20%20print(longue_chaine2)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20On%20peut%20**additionner**%20des%20cha%C3%AEnes%20de%20caract%C3%A8res%20et%20le%20r%C3%A9sultat%20est%20la%20concat%C3%A9nation%20de%20ces%20cha%C3%AEnes.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(s1%2C%20s2)%3A%0A%20%20%20%20str1%20%3D%20'bonjour'%0A%20%20%20%20str2%20%3D%20'monde'%0A%20%20%20%20s%20%3D%20s1%20%2B%20s2%0A%20%20%20%20print(s)%20%23%20il%20n'y%20a%20pas%20d'espace%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20On%20peut%20**multiplier**%20une%20cha%C3%AEne%20de%20caract%C3%A8res%20par%20un%20entier%20et%20le%20r%C3%A9sultat%20est%20la%20concat%C3%A9nation%20r%C3%A9p%C3%A9t%C3%A9e.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20str3%20%3D%20'ton'%0A%20%20%20%20str4%20%3D%202%20*%20str3%0A%20%20%20%20str5%20%3D%203%20*%20str3%0A%20%20%20%20print(str3)%0A%20%20%20%20print(str4)%0A%20%20%20%20print(str5)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20Voici%20quelques%20unes%20des%20fonctions%20de%20manipulation%20des%20cha%C3%AEnes%20de%20caract%C3%A8res%20les%20plus%20couramment%20utilis%C3%A9es.%0A%0A%20%20%20%20**Recherche%20de%20texte%20et%20test%20de%20contenu**%0A%0A%20%20%20%20%7C%20%20%20%20%20**Fonction**%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20**Effet**%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%3A--------------------%3A%7C%3A---------------------------------------------------%3A%7C%0A%20%20%20%20%7C%20%20%60endswith(suffix)%60%20%20%7C%20%20%20%20%20%20%20%20teste%20si%20la%20cha%C3%AEne%20finit%20par%20%60suffix%60%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%60startswith(suffix)%60%20%7C%20%20%20%20%20%20%20teste%20si%20la%20cha%C3%AEne%20commence%20par%20%60prefix%60%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%20%20%20%20%20%60isalpha()%60%20%20%20%20%20%7C%20%20vrai%20si%20compos%C3%A9e%20uniquement%20de%20lettres%20et%20non%20vide%20%7C%0A%20%20%20%20%7C%20%20%20%20%20%20%60isdigit()%60%20%20%20%20%20%7C%20vrai%20si%20compos%C3%A9e%20uniquement%20de%20chiffres%20et%20non%20vide%20%7C%0A%20%20%20%20%7C%20%20%20%20%20%20%60istitle()%60%20%20%20%20%20%7C%20%20%20%20vrai%20si%20seule%20la%201%C3%A8re%20lettre%20est%20en%20majuscule%20%20%20%20%7C%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20z%20%3D%20%22Picardie%22%0A%20%20%20%20print(z.endswith(%22ie%22))%0A%20%20%20%20print(z.startswith(%22ab%22))%0A%20%20%20%20print(z.isalpha())%0A%20%20%20%20print(z.istitle())%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20**Mise%20en%20forme**%0A%0A%20%20%20%20%7C%20%20%20%20%20%20**Fonction**%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20**Effet**%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%3A---------------------%3A%7C%3A--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------%3A%7C%0A%20%20%20%20%7C%20%20%20%20%20%20%20%60upper()%60%20%20%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20tout%20mettre%20en%20majuscule%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%20%20%20%20%20%20%60lower()%60%20%20%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20tout%20mettre%20en%20minuscule%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%20%20%20%20%60capitalize()%60%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20premi%C3%A8re%20lettre%20de%20la%20cha%C3%AEne%20en%20majuscule%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%20%20%20%20%20%20%60title()%60%20%20%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20premi%C3%A8re%20lettre%20de%20chaque%20mot%20dans%20la%20cha%C3%AEne%20en%20majuscule%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%20%20%20%20%20%60isdigit()%60%20%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20premi%C3%A8re%20lettre%20de%20chaque%20mot%20de%20la%20cha%C3%AEne%20en%20majuscule%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%60center(taille%2C%20str)%60%20%7C%20affiche%20la%20cha%C3%AEne%2C%20ajuste%20sa%20taille%20%C3%A0%20taille%20en%20ajoutant%20des%20caract%C3%A8res%20%60str%60%20centrant%20la%20cha%C3%AEne%20(si%20on%20ne%20met%20pas%20%60str%60%20alors%20par%20d%C3%A9faut%2C%20Python%20utilisera%20le%20caract%C3%A8re%20espace)%20%7C%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20z1%20%3D%20%22ceci%20est%20un%20essai%22%0A%20%20%20%20z2%20%3D%20%22TOTO%22%0A%20%20%20%20print(z1)%0A%20%20%20%20print(z1.upper())%0A%20%20%20%20print(z2.lower())%0A%20%20%20%20print(z1.capitalize())%0A%20%20%20%20print(z1.title())%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20s1%20%3D%20%22faisons%20ce%20test%22%0A%20%20%20%20print(s1)%0A%20%20%20%20print(len(s1))%20%23%20len%20renvoie%20la%20longueur%20d'une%20cha%C3%AEne%20de%20caract%C3%A8res%0A%20%20%20%20s2%20%3D%20s1.center(26%2C%20'-')%0A%20%20%20%20s3%20%3D%20s1.center(26)%0A%20%20%20%20print(s2)%0A%20%20%20%20print(len(s2))%0A%20%20%20%20print(s3)%0A%20%20%20%20print(len(s3))%0A%20%20%20%20return%20s1%2C%20s2%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20**%C3%89dition**%0A%0A%20%20%20%20%7C%20%20%20%20%20%20%20%20%20**Fonction**%20%20%20%20%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20**Effet**%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%3A----------------------------%3A%7C%3A-----------------------------------------------------------------------%3A%7C%0A%20%20%20%20%7C%20%20%20%20%20%20%60replace(old%2C%20new)%60%20%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20remplace%20tous%20les%20%60old%60%20en%20%60new%60%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%20%20%20%20%20%20%20%60strip(chars)%60%20%20%20%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20retire%20%60chars%60%20aux%20bouts%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%60str.join(str_1%2C...%2Cstr_n))%60%20%7C%20concat%C3%A9nation%20des%20cha%C3%AEnes%20%60str_1%2C...%2Cstr_n%60%20avec%20%60str%60%20comme%20s%C3%A9parateur%20%7C%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20t%20%3D%20%22restez%20calme%20et%20continuez%20%C3%A0%20lire...%22%0A%20%20%20%20t2%20%3D%20t.capitalize().strip(%22...%22).replace(%22continuez%20%C3%A0%20lire%22%2C%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22allons%20boire%20un%20verre%22)%20%2B%20%22!%22%0A%20%20%20%20print(t)%0A%20%20%20%20print(t2)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20r1%20%3D%20%22je%20suis%22%0A%20%20%20%20r2%20%3D%20%22malade%22%0A%20%20%20%20r3%20%3D%20%22...%22.join(%5Br1%2C%22tr%C3%A8s%22%2Cr2%5D)%0A%20%20%20%20print(r3)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%204.%20Remarques%20finales%0A%0A%20%20%20%20%2F%2F%2F%20admonition%20%7C%20L'importance%20des%20commentaires%0A%20%20%20%20%20%20%20%20type%3A%20tip%0A%0A%20%20%20%20Vous%20noterez%20l'apparition%20de%20commentaires%20dans%20les%20cellules%20pr%C3%A9c%C3%A9dentes.%20En%20pratique%2C%20quand%20on%20%C3%A9crit%20un%20code%20qui%20ex%C3%A9cute%20un%20algorithme%20complexe%20(ce%20que%20vous%20serez%20ammen%C3%A9%20%C3%A0%20faire%20par%20la%20suite)%2C%20il%20est%20fondamental%20de%20bien%20_commenter_%20votre%20code.%20Cela%20permet%20aux%20autres%20de%20comprendre%20ce%20que%20vous%20faites%2C%20mais%20aussi%20%C3%A0%20vous%20de%20vous%20relire%20ou%20de%20comprendre%20un%20code%20que%20vous%20avez%20%C3%A9crit%20il%20y%20a%20longtemps.%20Un%20commentaire%20peut%20%C3%AAtre%20ajout%C3%A9%20%C3%A0%20l'aide%20d'un%20di%C3%A8se%20%60%23%60%20%3A%20tout%20ce%20qui%20sera%20situ%C3%A9%20sur%20la%20m%C3%AAme%20ligne%20derri%C3%A8re%20ce%20symble%20constitue%20un%20commentaire%20et%20ne%20sera%20pas%20ex%C3%A9cut%C3%A9.%0A%20%20%20%20%2F%2F%2F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20u%20%3D%203%20%23%20ceci%20est%20un%20commentaire%0A%0A%20%20%20%20%23%20Si%20mon%20commentaire%20est%20trop%20long%2C%20il%20peut%20tenir%20sur%20une%20ligne%20enti%C3%A8re%0A%20%20%20%20u%20%3D%205%0A%0A%20%20%20%20%22%22%22%0A%20%20%20%20Voir%20m%C3%AAme%20sur%20plusieurs%20lignes%20si%20vraiment%20je%20dois%20%C3%A9crire%20un%20long%20texte%2C%0A%20%20%20%20par%20exemple%20de%20la%20documentation%20pour%20expliquer%20comment%20fonctionne%20une%20fonction%20%0A%20%20%20%20ou%20un%20algorithme.%20(Techniquement%2C%20il%20s'agit%20d'une%20cha%C3%AEne%20de%20caract%C3%A8res%20mais%20%0A%20%20%20%20comme%20elle%20n'est%20pas%20affect%C3%A9e%20%C3%A0%20une%20variable%2C%20Python%20l'ignorera.)%0A%20%20%20%20%22%22%22%0A%20%20%20%20u%20%3D%2042%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%2F%2F%2F%20admonition%20%7C%20Programmation%20orient%C3%A9e%20objet%0A%20%20%20%20%20%20%20%20type%3A%20note%0A%0A%20%20%20%20Comme%20on%20vient%20de%20le%20voir%20avec%20les%20commandes%20pr%C3%A9c%C3%A9dentes%2C%20et%20comme%20on%20le%20verra%20par%20la%20suite%2C%20la%20conception%20orient%C3%A9e%20objets%20(POO)%20constitue%20la%20base%20de%20la%20structuration%20Python.%20La%20syntaxe%0A%20%20%20%20%60%60%60%0A%20%20%20%20objet.membre%0A%20%20%20%20%60%60%60%0A%20%20%20%20est%20employ%C3%A9e.%20La%20POO%20est%20un%20mod%C3%A8le%20centr%C3%A9%20sur%20les%20%22donn%C3%A9es%22%20appel%C3%A9es%20%22objets%22%20car%20ils%20ne%20contiennent%20pas%20uniquement%20des%20variables%2Fdonn%C3%A9es%20mais%20aussi%20des%20fonctions%20(appel%C3%A9es%20%22m%C3%A9thodes%22)%20qui%20agissent%20sur%20ces%20donn%C3%A9es.%0A%0A%20%20%20%20Autrement%20dit%20en%20POO%2C%20les%20actions%20sont%20%22embarqu%C3%A9es%22%20dans%20les%20objets%2C%20qui%20poss%C3%A8dent%0A%20%20%20%20-%20des%20attributs%20%3D%20les%20donn%C3%A9es%0A%20%20%20%20-%20des%20m%C3%A9thodes%20%3D%20des%20%22fonctions%22%20qui%20sont%20naturellement%20associ%C3%A9es%20et%20font%20des%20actions%0A%0A%20%20%20%20Un%20exemple%20simple%20d'objet%20%3A%20nombre%20complexe%20abstrait%20en%20POO%2C%20nomm%C3%A9%20%60complex%60%20%3A%0A%20%20%20%20-%20attributs%20%3A%20%60re%60%20(partie%20r%C3%A9elle)%20et%20%60im%60%20(partie%20imaginaire)%0A%20%20%20%20-%20m%C3%A9thodes%20%3A%20%60mod%60%20(fonction%20qui%20calcule%20son%20module)%2C%20%60arg%60%20(son%20argument)%2C%20etc%0A%20%20%20%20Si%20%60a%60%20est%20un%20objet%20%60complex%60%2C%20alors%20les%20langages%20appellent%20souvent%20les%20attributs%20avec%20la%20notation%20%60a.re%60%2C%20%60a.im%60%20et%20les%20m%C3%A9thodes%20avec%20%60a.mod()%60%2C%20etc.%0A%0A%20%20%20%20On%20ne%20rentre%20pas%20dans%20les%20d%C3%A9tails%20mais%20la%20POO%20permet%20des%20gestions%20complexes%20des%20objets%20%C3%A0%20partir%20d'autres%20objets%20(h%C3%A9ritage%2C%20polymorphisme%2C%20surcharge%20d'op%C3%A9rateurs%2C%20etc).%20Elle%20permet%20aussi%20une%20meilleure%20r%C3%A9utilisation%20de%20codes.%0A%20%20%20%20%2F%2F%2F%0A%0A%20%20%20%20%2F%2F%2F%20admonition%20%7C%20Programmation%20proc%C3%A9durale%0A%20%20%20%20%20%20%20%20type%3A%20note%0A%0A%20%20%20%20La%20programmation%20proc%C3%A9durale%20d%C3%A9compose%20le%20programme%20en%20actions%20avec%20division%20en%20probl%C3%A8mes%20simples%20et%20r%C3%A9utilisation%20maximale%20de%20sous%20algorithmes%0A%20%20%20%20%2F%2F%2F%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0Aif%20__name__%20%3D%3D%20%22__main__%22%3A%0A%20%20%20%20app.run()%0A
1769a9f02001e09ee12395c6971a3772