{"id":989,"date":"2010-11-01T15:58:48","date_gmt":"2010-11-01T13:58:48","guid":{"rendered":"http:\/\/linux.leunen.com\/?p=989"},"modified":"2010-11-01T15:58:48","modified_gmt":"2010-11-01T13:58:48","slug":"python-3-object-oriented-programming","status":"publish","type":"post","link":"https:\/\/www.leunen.com\/linux\/2010\/11\/python-3-object-oriented-programming\/","title":{"rendered":"Python 3 Object Oriented Programming"},"content":{"rendered":"<p><img loading=\"lazy\" src=\"http:\/\/linux.leunen.com\/wp-content\/uploads\/2010\/11\/python3-oop.jpg\" alt=\"Python 3 Object Oriented Programming\" title=\"Python 3 Object Oriented Programming\" width=\"243\" height=\"300\" class=\"left \" \/><br \/>\nJ&rsquo;ai toujours \u00e9t\u00e9 attir\u00e9 par la programmation objet et apr\u00e8s avoir lu pas mal de livres sur le C++, j&rsquo;ai \u00e9t\u00e9 attir\u00e9 par le livre <em>Python 3 Object Oriented Programming<\/em> \u00e9crit par <em>Dusty Phillips<\/em>. Pour une fois, il ne s&rsquo;agit pas de C++ mais de Python.<br \/>\nCe livre est \u00e9dit\u00e9 par <a href=\"http:\/\/www.packtpub.com\/\"><em>Packt Publishing<\/em><\/a>  qui dispose d&rsquo;un d\u00e9partement orient\u00e9 open source. <em>Packt Publishing<\/em> reverse, dans ce cadre, une partie du prix du livre que vous pay\u00e9 au projet open source dont parle le livre. Autrement dit, quand vous achetez un livre dans cette collection, vous aidez le logiciel libre.<\/p>\n<p>Voici la table des mati\u00e8res du livre. Ah oui, j&rsquo;oubliais de vous dire que ce livre est \u00e9videmment en anglais mais ce n&rsquo;est pas vraiment une surprise. Peu de bons livres techniques existent en fran\u00e7ais.<\/p>\n<ul>\n<li><strong>Chapter 1: Object-oriented Design<\/strong><br \/>\n\tUne introduction \u00e0 ce qu&rsquo;est la progammation objet et aux relations entre les objets. L&rsquo;auteur manifestement aime les diagrammes UML et nous y initie au cours de ce chapitre.<\/li>\n<li><strong>Chapter 2: Objects in Python<\/strong><br \/>\n\tInitiation aux classes mais aussi au modules et packages python.<\/li>\n<li><strong>Chapter 3: When Objects are Alike<\/strong><br \/>\n\tH\u00e9ritage, h\u00e9ritage multiple et polymorphisme.<\/li>\n<li><strong>Chapter 4: Expecting the Unexpected<\/strong><br \/>\n\tLes exceptions et les diff\u00e9rences qu&rsquo;il peut y avoir avec d&rsquo;autres langages comm le C++ dans l&rsquo;utilisation de celles-ci.<\/li>\n<li><strong>Chapter 5: When to Use Object-oriented Programming<\/strong><br \/>\n\tDans quels cas utiliser la programmation objet; quand utiliser l&rsquo;h\u00e9ritage ou la composition.<\/li>\n<li><strong>Chapter 6: Python Data Structures<\/strong><br \/>\n\tTuples, lists, dict, setsrappels et comment \u00e9tendre leurs propri\u00e9t\u00e9s.<\/li>\n<li><strong>Chapter 7: Python Object-oriented Shortcuts<\/strong><br \/>\n\tList comprehension, generator, nombre d&rsquo;arguments variables.<\/li>\n<li><strong>Chapter 8: Python Design Patterns I<\/strong><br \/>\n\tLes diff\u00e9rents pattern appliqu\u00e9s \u00e0 Python.<\/li>\n<li><strong>Chapter 9: Python Design Patterns II<\/strong><br \/>\n\tSuite du chapitre pr\u00e9c\u00e9dent.<\/li>\n<li><strong>Chapter 10: Files and Strings<\/strong><br \/>\n\tFichiers et cha\u00eenes de caract\u00e8res.<\/li>\n<li><strong>Chapter 11: Testing Object-oriented Programs<\/strong><br \/>\n\tUn important chapitre sur la cr\u00e9ation de programme de test au moyen des modules unittest ou py.test.<\/li>\n<li><strong>Chapter 12: Common Python 3 Libraries<\/strong><br \/>\n\tPr\u00e9sentation de quelques librairies python int\u00e9ressantes du point de vue de l&rsquo;auteur: Sqlite3, SQLAlchemy, tkinter, PyQt, xml, cherrypy.<\/li>\n<\/ul>\n<p>Est-ce un livre recommandable ? Oui, certainement. Surtout si vous \u00eates d\u00e9butant. La programmation objet y est d\u00e9crite de fa\u00e7on claire avec des exemples bien choisis. Le livre d\u00e9crit aussi un certain nombre de patterns de base m\u00eame si c&rsquo;est survol\u00e9 de mani\u00e8re rapide pour certains. Il faut bien dire, \u00e0 la d\u00e9charge de l&rsquo;auteur, que les patterns m\u00e9riteraient un livre \u00e0 eux seuls. Ce livre est donc une bonne introduction \u00e0 la programmation objet avec Python.<br \/>\nNotez aussi que les exemples du livre sont en Python 3 alors que c&rsquo;est Python 2.x qui est install\u00e9 par d\u00e9faut dans Ubuntu. Mais les diff\u00e9rences entre les deux versions de Python ne sont pas si importantes que vous ne sachiez adapter les exemples \u00e0 votre version de Python. Ceci dit, il vous est loisible d&rsquo;installer Python 3 sur votre PC. Python 3 cohabite tr\u00e8s bien avec Python 2.x.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>J&rsquo;ai toujours \u00e9t\u00e9 attir\u00e9 par la programmation objet et apr\u00e8s avoir lu pas mal de livres sur le C++, j&rsquo;ai \u00e9t\u00e9 attir\u00e9 par le livre Python 3 Object Oriented Programming \u00e9crit par Dusty Phillips. Pour une fois, il ne s&rsquo;agit pas de C++ mais de Python. Ce livre est \u00e9dit\u00e9 par Packt Publishing qui dispose [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[15],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/989"}],"collection":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/comments?post=989"}],"version-history":[{"count":5,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/989\/revisions"}],"predecessor-version":[{"id":995,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/989\/revisions\/995"}],"wp:attachment":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/media?parent=989"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/categories?post=989"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/tags?post=989"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}