{"product_id":"python-object-oriented-programming-4-e-pbuild-robust-and-maintainable-object-oriented-python-applications-and-libraries-paperback-p","title":"Python Object-Oriented Programming, 4\/e","description":"\u003ch4 style=\"box-sizing: border-box; padding: 0px 0px 4px; margin: 0px; text-rendering: optimizelegibility; font-weight: 700; font-size: 18px; line-height: 24px; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif\u003e\u003cspan style=\"box-sizing: border-box;\"\u003eKey Features\u003c\/span\u003e\u003c\/h4\u003e\u003cul class=\"a-unordered-list a-vertical\" style=\"box-sizing: border-box; margin: 0px 0px 0px 18px; color: rgb(15, 17, 17); padding-right: 0px; padding-left: 0px; font-family: \" amazon ember arial sans-serif\u003e\n\u003cli style=\"box-sizing: border-box; list-style: disc; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eBuild an intuitive understanding of object-oriented design, from introductory to mature programs\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: disc; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eLearn the ins and outs of Python syntax, libraries, and best practices\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: disc; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eExamine a machine-learning case study at the end of each chapter\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch4 style=\"box-sizing: border-box; padding: 0px 0px 4px; margin: 0px; text-rendering: optimizelegibility; font-weight: 700; font-size: 18px; line-height: 24px; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif\u003e\u003cspan style=\"box-sizing: border-box;\"\u003eBook Description\u003c\/span\u003e\u003c\/h4\u003e\u003cp style=\"box-sizing: border-box; padding: 0px; margin: 0px 0px 14px; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif\u003e\u003cspan style=\"box-sizing: border-box;\"\u003eObject-oriented programming (OOP) is a popular design paradigm in which data and behaviors are encapsulated in such a way that they can be manipulated together. Python Object-Oriented Programming, Fourth Edition dives deep into the various aspects of OOP, Python as an OOP language, common and advanced design patterns, and hands-on data manipulation and testing of more complex OOP systems. These concepts are consolidated by open-ended exercises, as well as a real-world case study at the end of every chapter, newly written for this edition. All example code is now compatible with Python 3.9+ syntax and has been updated with type hints for ease of learning.\u003c\/span\u003e\u003c\/p\u003e\u003cp style=\"box-sizing: border-box; padding: 0px; margin: -4px 0px 14px; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif\u003e\u003cspan style=\"box-sizing: border-box;\"\u003eSteven and Dusty provide a comprehensive, illustrative tour of important OOP concepts, such as inheritance, composition, and polymorphism, and explain how they work together with Python’s classes and data structures to facilitate good design. In addition, the book also features an in-depth look at Python’s exception handling and how functional programming intersects with OOP. Two very powerful automated testing systems, unittest and pytest, are introduced. The final chapter provides a detailed discussion of Python's concurrent programming ecosystem.\u003c\/span\u003e\u003c\/p\u003e\u003cp style=\"box-sizing: border-box; padding: 0px; margin: -4px 0px 14px; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif\u003e\u003cspan style=\"box-sizing: border-box;\"\u003eBy the end of the book, you will have a thorough understanding of how to think about and apply object-oriented principles using Python syntax and be able to confidently create robust and reliable programs.\u003c\/span\u003e\u003c\/p\u003e\u003ch4 style=\"box-sizing: border-box; padding: 0px 0px 4px; margin: 0px; text-rendering: optimizelegibility; font-weight: 700; font-size: 18px; line-height: 24px; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif\u003e\u003cspan style=\"box-sizing: border-box;\"\u003eWhat you will learn\u003c\/span\u003e\u003c\/h4\u003e\u003cul class=\"a-unordered-list a-vertical\" style=\"box-sizing: border-box; margin: 0px 0px 0px 18px; color: rgb(15, 17, 17); padding-right: 0px; padding-left: 0px; font-family: \" amazon ember arial sans-serif\u003e\n\u003cli style=\"box-sizing: border-box; list-style: disc; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eImplement objects in Python by creating classes and defining methods\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: disc; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eExtend class functionality using inheritance\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: disc; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eUse exceptions to handle unusual situations cleanly\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: disc; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eUnderstand when to use object-oriented features, and more importantly, when not to use them\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: disc; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eDiscover several widely used design patterns and how they are implemented in Python\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: disc; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eUncover the simplicity of unit and integration testing and understand why they are so important\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: disc; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eLearn to statically type check your dynamic code\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: disc; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eUnderstand concurrency with asyncio and how it speeds up programs\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch4 style=\"box-sizing: border-box; padding: 0px 0px 4px; margin: 0px; text-rendering: optimizelegibility; font-weight: 700; font-size: 18px; line-height: 24px; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif\u003e\u003cspan style=\"box-sizing: border-box;\"\u003eWho this book is for\u003c\/span\u003e\u003c\/h4\u003e\u003cp style=\"box-sizing: border-box; padding: 0px; margin: 0px 0px 14px; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif\u003e\u003cspan style=\"box-sizing: border-box;\"\u003eIf you are new to object-oriented programming techniques, or if you have basic Python skills and wish to learn how and when to correctly apply OOP principles in Python, this is the book for you. Moreover, if you are an object-oriented programmer coming from other languages or seeking a leg up in the new world of Python, you will find this book a useful introduction to Python. Minimal previous experience with Python is necessary.\u003c\/span\u003e\u003c\/p\u003e\u003ch4 style=\"box-sizing: border-box; padding: 0px 0px 4px; margin: 0px; text-rendering: optimizelegibility; font-weight: 700; font-size: 18px; line-height: 24px; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif\u003e\u003cspan style=\"box-sizing: border-box;\"\u003eTable of Contents\u003c\/span\u003e\u003c\/h4\u003e\u003col class=\"a-ordered-list a-vertical\" style=\"box-sizing: border-box; margin: 0px 0px 0px 20px; color: rgb(15, 17, 17); padding-right: 0px; padding-left: 0px; font-family: \" amazon ember arial sans-serif\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eObject-Oriented Design\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eObjects in Python\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eWhen Objects Are Alike\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eExpecting the Unexpected\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eWhen to Use Object-Oriented Programming\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eAbstract Base Classes and Operator Overloading\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003ePython Data Structures\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eThe Intersection of Object-Oriented and Functional Programming\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eStrings, Serialization, and File Paths\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eThe Iterator Pattern\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eCommon Design Patterns\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eAdvanced Design Patterns\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eTesting Object-Oriented Programs\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eConcurrency\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ol\u003e\u003cp style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e \u003c\/p\u003e\u003ch3 style=\"box-sizing: border-box; padding: 0px 0px 4px; margin: 0px; text-rendering: optimizelegibility; font-weight: 700; font-size: 18px; line-height: 24px; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif\u003e\u003cspan style=\"box-sizing: border-box;\"\u003e About the Author\u003c\/span\u003e\u003c\/h3\u003e\u003cdiv class=\"a-section a-spacing-small a-padding-small\" style=\"box-sizing: border-box; margin-bottom: 0px; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif padding:=\"\"\u003e\n\u003cspan style=\"box-sizing: border-box;\"\u003e\u003cstrong\u003eSteven F. Lott \u003c\/strong\u003ehas been programming since the 70s, when computers were large, expensive, and rare. As a contract software developer and architect, he has worked on hundreds of projects, from very small to very large. He's been using Python to solve business problems for almost 20 years.\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cstrong\u003eDusty Phillips \u003c\/strong\u003eis a Canadian software developer and an author currently living in New Brunswick. He has been active in the open-source community for 2 decades and has been programming in Python for nearly as long. He holds a master's degree in computer science and has worked for Facebook, the United Nations, and several startups.\u003c\/span\u003e \u003cspan style=\"box-sizing: border-box;\"\u003e--This text refers to the \u003c\/span\u003e\u003ca class=\"a-link-normal\" href=\"https:\/\/www.amazon.in\/dp\/1801077266?ie=UTF8\u0026amp;n=1571277031\" style=\"box-sizing: border-box; text-decoration-line: none; color: rgb(0, 113, 133);\"\u003epaperback\u003c\/a\u003e\u003cspan style=\"box-sizing: border-box;\"\u003e edition.\u003c\/span\u003e\n\u003c\/div\u003e","brand":"Packt Publishing","offers":[{"title":"Default Title","offer_id":50506250420294,"sku":"9781801077262","price":2959.2,"currency_code":"INR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0754\/2797\/1142\/files\/617-Cgub2dL.jpg?v=1790324230","url":"https:\/\/cb-india.com\/products\/python-object-oriented-programming-4-e-pbuild-robust-and-maintainable-object-oriented-python-applications-and-libraries-paperback-p","provider":"Computer Bookshop (India) Pvt Ltd","version":"1.0","type":"link"}