Author: Rongpeng Li
Publisher: CRC Press
ISBN: 1000993000
Category : Computers
Languages : en
Pages : 152
Book Description
This book is one of its own kind. It is not an encyclopedia or a hands-on tutorial that traps readers in the tutorial hell. It is a distillation of just one common Python user’s learning experience. The experience is packaged with exceptional teaching techniques, careful dependence unraveling and, most importantly, passion. Learning Advanced Python by Studying Open Source Projects helps readers overcome the difficulty in their day-to-day tasks and seek insights from solutions in famous open source projects. Different from a technical manual, this book mixes the technical knowledge, real-world applications and more theoretical content, providing readers with a practical and engaging approach to learning Python. Throughout this book, readers will learn how to write Python code that is efficient, readable and maintainable, covering key topics such as data structures, algorithms, object-oriented programming and more. The author’s passion for Python shines through in this book, making it an enjoyable and inspiring read for both beginners and experienced programmers.
Learning Advanced Python by Studying Open Source Projects
Author: Rongpeng Li
Publisher: CRC Press
ISBN: 1000993000
Category : Computers
Languages : en
Pages : 152
Book Description
This book is one of its own kind. It is not an encyclopedia or a hands-on tutorial that traps readers in the tutorial hell. It is a distillation of just one common Python user’s learning experience. The experience is packaged with exceptional teaching techniques, careful dependence unraveling and, most importantly, passion. Learning Advanced Python by Studying Open Source Projects helps readers overcome the difficulty in their day-to-day tasks and seek insights from solutions in famous open source projects. Different from a technical manual, this book mixes the technical knowledge, real-world applications and more theoretical content, providing readers with a practical and engaging approach to learning Python. Throughout this book, readers will learn how to write Python code that is efficient, readable and maintainable, covering key topics such as data structures, algorithms, object-oriented programming and more. The author’s passion for Python shines through in this book, making it an enjoyable and inspiring read for both beginners and experienced programmers.
Publisher: CRC Press
ISBN: 1000993000
Category : Computers
Languages : en
Pages : 152
Book Description
This book is one of its own kind. It is not an encyclopedia or a hands-on tutorial that traps readers in the tutorial hell. It is a distillation of just one common Python user’s learning experience. The experience is packaged with exceptional teaching techniques, careful dependence unraveling and, most importantly, passion. Learning Advanced Python by Studying Open Source Projects helps readers overcome the difficulty in their day-to-day tasks and seek insights from solutions in famous open source projects. Different from a technical manual, this book mixes the technical knowledge, real-world applications and more theoretical content, providing readers with a practical and engaging approach to learning Python. Throughout this book, readers will learn how to write Python code that is efficient, readable and maintainable, covering key topics such as data structures, algorithms, object-oriented programming and more. The author’s passion for Python shines through in this book, making it an enjoyable and inspiring read for both beginners and experienced programmers.
Powerful Python
Author: Aaron Maxwell
Publisher:
ISBN: 9780692878972
Category : Python (Computer program language)
Languages : en
Pages : 220
Book Description
There are many books for those new to Python, new to programming, or both. Powerful Python is different. Written for experienced developers like you, its carefully crafted chapters teach intermediate and advanced strategies, patterns, and tools for modern Python. Focused on Python 3, with full support for 2.7. DRM-free digital upgrade: powerfulpython.com/book-upgrade "Feels like Neo learning Jiu jitsu in the Matrix." - John Beauford (@johnbeauford) "I just wanted to let you know what an excellent book this is... I keep going back to your book to learn Python." - Fahad Qazi, London, UK "Thanks. Keep up the good work. Your chapter on decorators is the best I have seen on that topic." - Leon Tietz, Minnesota, USA "Powerful Python is already helping me get huge optimization gains." - Timothy Dobbins (@TmthyDobbins) "What have I found good and valuable about the book so far? Everything honestly. The clear explanations, solid code examples have really helped me advance as a Python coder... Thank you! It has really helped me grasp some advanced concepts that I felt were beyond my abilities." - Nick S., Colorado, USA For data scientists, back-end engineers, web developers, sysadmins, devops, QA testers and more. What's included: An unrelenting selective spotlight on what's most valuable and impactful to working, full-time, professional Python developers Well-researched, detailed, realistic code on almost every page, powerfully illustrating key points. Very little "toy code" How to use decorators to add rich features to functions and classes; untangle distinct, frustratingly intertwined concerns in your code; and build powerful, extensible software frameworks How to use Python in ways that incentivize other developers to use and re-use your code, again and again... amplifying the impact of the code you write, and boosting your reputation among your peers Powerfully and easily weave iterators and generators throughout your applications, making them massively scalable, highly performant, and far more readable and maintainable How to fully leverage Python's exception and error model... giving you a detailed understanding even experienced Pythonistas often lack, and putting some of the most powerfully Pythonic exception-handling patterns in your toolbox How "magic methods" imbue natural, readable, expressive syntax into your classes and objects... and how to "break the rules" to craft stunningly intuitive, compellingly reusable library interfaces Valuable and powerful design patterns, and how Python's special language features give you uniquely powerful implementations not possible in other languages Deep and detailed instruction on how to write practical, realistic unit tests... using test-driven development to easily get into a state of flow... where you find yourself implementing feature after feature, keeping your focus with ease for long periods of time How to rapidly set up effective logging for scripts, sprawling Python applications, and everything in between An enthusiastic and unapologetic focus on Python 3, and what makes it great... with full explanation and support for getting the same results with Python 2.7 More at PowerfulPython.com.
Publisher:
ISBN: 9780692878972
Category : Python (Computer program language)
Languages : en
Pages : 220
Book Description
There are many books for those new to Python, new to programming, or both. Powerful Python is different. Written for experienced developers like you, its carefully crafted chapters teach intermediate and advanced strategies, patterns, and tools for modern Python. Focused on Python 3, with full support for 2.7. DRM-free digital upgrade: powerfulpython.com/book-upgrade "Feels like Neo learning Jiu jitsu in the Matrix." - John Beauford (@johnbeauford) "I just wanted to let you know what an excellent book this is... I keep going back to your book to learn Python." - Fahad Qazi, London, UK "Thanks. Keep up the good work. Your chapter on decorators is the best I have seen on that topic." - Leon Tietz, Minnesota, USA "Powerful Python is already helping me get huge optimization gains." - Timothy Dobbins (@TmthyDobbins) "What have I found good and valuable about the book so far? Everything honestly. The clear explanations, solid code examples have really helped me advance as a Python coder... Thank you! It has really helped me grasp some advanced concepts that I felt were beyond my abilities." - Nick S., Colorado, USA For data scientists, back-end engineers, web developers, sysadmins, devops, QA testers and more. What's included: An unrelenting selective spotlight on what's most valuable and impactful to working, full-time, professional Python developers Well-researched, detailed, realistic code on almost every page, powerfully illustrating key points. Very little "toy code" How to use decorators to add rich features to functions and classes; untangle distinct, frustratingly intertwined concerns in your code; and build powerful, extensible software frameworks How to use Python in ways that incentivize other developers to use and re-use your code, again and again... amplifying the impact of the code you write, and boosting your reputation among your peers Powerfully and easily weave iterators and generators throughout your applications, making them massively scalable, highly performant, and far more readable and maintainable How to fully leverage Python's exception and error model... giving you a detailed understanding even experienced Pythonistas often lack, and putting some of the most powerfully Pythonic exception-handling patterns in your toolbox How "magic methods" imbue natural, readable, expressive syntax into your classes and objects... and how to "break the rules" to craft stunningly intuitive, compellingly reusable library interfaces Valuable and powerful design patterns, and how Python's special language features give you uniquely powerful implementations not possible in other languages Deep and detailed instruction on how to write practical, realistic unit tests... using test-driven development to easily get into a state of flow... where you find yourself implementing feature after feature, keeping your focus with ease for long periods of time How to rapidly set up effective logging for scripts, sprawling Python applications, and everything in between An enthusiastic and unapologetic focus on Python 3, and what makes it great... with full explanation and support for getting the same results with Python 2.7 More at PowerfulPython.com.
Fluent Python
Author: Luciano Ramalho
Publisher: "O'Reilly Media, Inc."
ISBN: 1491946253
Category : Computers
Languages : en
Pages : 755
Book Description
Python’s simplicity lets you become productive quickly, but this often means you aren’t using everything it has to offer. With this hands-on guide, you’ll learn how to write effective, idiomatic Python code by leveraging its best—and possibly most neglected—features. Author Luciano Ramalho takes you through Python’s core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time. Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside of their experience. With this book, those Python programmers will thoroughly learn how to become proficient in Python 3. This book covers: Python data model: understand how special methods are the key to the consistent behavior of objects Data structures: take full advantage of built-in types, and understand the text vs bytes duality in the Unicode age Functions as objects: view Python functions as first-class objects, and understand how this affects popular design patterns Object-oriented idioms: build classes by learning about references, mutability, interfaces, operator overloading, and multiple inheritance Control flow: leverage context managers, generators, coroutines, and concurrency with the concurrent.futures and asyncio packages Metaprogramming: understand how properties, attribute descriptors, class decorators, and metaclasses work
Publisher: "O'Reilly Media, Inc."
ISBN: 1491946253
Category : Computers
Languages : en
Pages : 755
Book Description
Python’s simplicity lets you become productive quickly, but this often means you aren’t using everything it has to offer. With this hands-on guide, you’ll learn how to write effective, idiomatic Python code by leveraging its best—and possibly most neglected—features. Author Luciano Ramalho takes you through Python’s core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time. Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside of their experience. With this book, those Python programmers will thoroughly learn how to become proficient in Python 3. This book covers: Python data model: understand how special methods are the key to the consistent behavior of objects Data structures: take full advantage of built-in types, and understand the text vs bytes duality in the Unicode age Functions as objects: view Python functions as first-class objects, and understand how this affects popular design patterns Object-oriented idioms: build classes by learning about references, mutability, interfaces, operator overloading, and multiple inheritance Control flow: leverage context managers, generators, coroutines, and concurrency with the concurrent.futures and asyncio packages Metaprogramming: understand how properties, attribute descriptors, class decorators, and metaclasses work
Learn Python 3 the Hard Way
Author: Zed A. Shaw
Publisher: Addison-Wesley Professional
ISBN: 0134693906
Category : Computers
Languages : en
Pages : 752
Book Description
You Will Learn Python 3! Zed Shaw has perfected the world’s best system for learning Python 3. Follow it and you will succeed—just like the millions of beginners Zed has taught to date! You bring the discipline, commitment, and persistence; the author supplies everything else. In Learn Python 3 the Hard Way, you’ll learn Python by working through 52 brilliantly crafted exercises. Read them. Type their code precisely. (No copying and pasting!) Fix your mistakes. Watch the programs run. As you do, you’ll learn how a computer works; what good programs look like; and how to read, write, and think about code. Zed then teaches you even more in 5+ hours of video where he shows you how to break, fix, and debug your code—live, as he’s doing the exercises. Install a complete Python environment Organize and write code Fix and break code Basic mathematics Variables Strings and text Interact with users Work with files Looping and logic Data structures using lists and dictionaries Program design Object-oriented programming Inheritance and composition Modules, classes, and objects Python packaging Automated testing Basic game development Basic web development It’ll be hard at first. But soon, you’ll just get it—and that will feel great! This course will reward you for every minute you put into it. Soon, you’ll know one of the world’s most powerful, popular programming languages. You’ll be a Python programmer. This Book Is Perfect For Total beginners with zero programming experience Junior developers who know one or two languages Returning professionals who haven’t written code in years Seasoned professionals looking for a fast, simple, crash course in Python 3
Publisher: Addison-Wesley Professional
ISBN: 0134693906
Category : Computers
Languages : en
Pages : 752
Book Description
You Will Learn Python 3! Zed Shaw has perfected the world’s best system for learning Python 3. Follow it and you will succeed—just like the millions of beginners Zed has taught to date! You bring the discipline, commitment, and persistence; the author supplies everything else. In Learn Python 3 the Hard Way, you’ll learn Python by working through 52 brilliantly crafted exercises. Read them. Type their code precisely. (No copying and pasting!) Fix your mistakes. Watch the programs run. As you do, you’ll learn how a computer works; what good programs look like; and how to read, write, and think about code. Zed then teaches you even more in 5+ hours of video where he shows you how to break, fix, and debug your code—live, as he’s doing the exercises. Install a complete Python environment Organize and write code Fix and break code Basic mathematics Variables Strings and text Interact with users Work with files Looping and logic Data structures using lists and dictionaries Program design Object-oriented programming Inheritance and composition Modules, classes, and objects Python packaging Automated testing Basic game development Basic web development It’ll be hard at first. But soon, you’ll just get it—and that will feel great! This course will reward you for every minute you put into it. Soon, you’ll know one of the world’s most powerful, popular programming languages. You’ll be a Python programmer. This Book Is Perfect For Total beginners with zero programming experience Junior developers who know one or two languages Returning professionals who haven’t written code in years Seasoned professionals looking for a fast, simple, crash course in Python 3
Python for Finance
Author: Yves Hilpisch
Publisher: "O'Reilly Media, Inc."
ISBN: 1492024295
Category : Computers
Languages : en
Pages : 720
Book Description
The financial industry has recently adopted Python at a tremendous rate, with some of the largest investment banks and hedge funds using it to build core trading and risk management systems. Updated for Python 3, the second edition of this hands-on book helps you get started with the language, guiding developers and quantitative analysts through Python libraries and tools for building financial applications and interactive financial analytics. Using practical examples throughout the book, author Yves Hilpisch also shows you how to develop a full-fledged framework for Monte Carlo simulation-based derivatives and risk analytics, based on a large, realistic case study. Much of the book uses interactive IPython Notebooks.
Publisher: "O'Reilly Media, Inc."
ISBN: 1492024295
Category : Computers
Languages : en
Pages : 720
Book Description
The financial industry has recently adopted Python at a tremendous rate, with some of the largest investment banks and hedge funds using it to build core trading and risk management systems. Updated for Python 3, the second edition of this hands-on book helps you get started with the language, guiding developers and quantitative analysts through Python libraries and tools for building financial applications and interactive financial analytics. Using practical examples throughout the book, author Yves Hilpisch also shows you how to develop a full-fledged framework for Monte Carlo simulation-based derivatives and risk analytics, based on a large, realistic case study. Much of the book uses interactive IPython Notebooks.
Artificial Intelligence with Python
Author: Prateek Joshi
Publisher: Packt Publishing Ltd
ISBN: 1786469677
Category : Computers
Languages : en
Pages : 437
Book Description
Build real-world Artificial Intelligence applications with Python to intelligently interact with the world around you About This Book Step into the amazing world of intelligent apps using this comprehensive guide Enter the world of Artificial Intelligence, explore it, and create your own applications Work through simple yet insightful examples that will get you up and running with Artificial Intelligence in no time Who This Book Is For This book is for Python developers who want to build real-world Artificial Intelligence applications. This book is friendly to Python beginners, but being familiar with Python would be useful to play around with the code. It will also be useful for experienced Python programmers who are looking to use Artificial Intelligence techniques in their existing technology stacks. What You Will Learn Realize different classification and regression techniques Understand the concept of clustering and how to use it to automatically segment data See how to build an intelligent recommender system Understand logic programming and how to use it Build automatic speech recognition systems Understand the basics of heuristic search and genetic programming Develop games using Artificial Intelligence Learn how reinforcement learning works Discover how to build intelligent applications centered on images, text, and time series data See how to use deep learning algorithms and build applications based on it In Detail Artificial Intelligence is becoming increasingly relevant in the modern world where everything is driven by technology and data. It is used extensively across many fields such as search engines, image recognition, robotics, finance, and so on. We will explore various real-world scenarios in this book and you'll learn about various algorithms that can be used to build Artificial Intelligence applications. During the course of this book, you will find out how to make informed decisions about what algorithms to use in a given context. Starting from the basics of Artificial Intelligence, you will learn how to develop various building blocks using different data mining techniques. You will see how to implement different algorithms to get the best possible results, and will understand how to apply them to real-world scenarios. If you want to add an intelligence layer to any application that's based on images, text, stock market, or some other form of data, this exciting book on Artificial Intelligence will definitely be your guide! Style and approach This highly practical book will show you how to implement Artificial Intelligence. The book provides multiple examples enabling you to create smart applications to meet the needs of your organization. In every chapter, we explain an algorithm, implement it, and then build a smart application.
Publisher: Packt Publishing Ltd
ISBN: 1786469677
Category : Computers
Languages : en
Pages : 437
Book Description
Build real-world Artificial Intelligence applications with Python to intelligently interact with the world around you About This Book Step into the amazing world of intelligent apps using this comprehensive guide Enter the world of Artificial Intelligence, explore it, and create your own applications Work through simple yet insightful examples that will get you up and running with Artificial Intelligence in no time Who This Book Is For This book is for Python developers who want to build real-world Artificial Intelligence applications. This book is friendly to Python beginners, but being familiar with Python would be useful to play around with the code. It will also be useful for experienced Python programmers who are looking to use Artificial Intelligence techniques in their existing technology stacks. What You Will Learn Realize different classification and regression techniques Understand the concept of clustering and how to use it to automatically segment data See how to build an intelligent recommender system Understand logic programming and how to use it Build automatic speech recognition systems Understand the basics of heuristic search and genetic programming Develop games using Artificial Intelligence Learn how reinforcement learning works Discover how to build intelligent applications centered on images, text, and time series data See how to use deep learning algorithms and build applications based on it In Detail Artificial Intelligence is becoming increasingly relevant in the modern world where everything is driven by technology and data. It is used extensively across many fields such as search engines, image recognition, robotics, finance, and so on. We will explore various real-world scenarios in this book and you'll learn about various algorithms that can be used to build Artificial Intelligence applications. During the course of this book, you will find out how to make informed decisions about what algorithms to use in a given context. Starting from the basics of Artificial Intelligence, you will learn how to develop various building blocks using different data mining techniques. You will see how to implement different algorithms to get the best possible results, and will understand how to apply them to real-world scenarios. If you want to add an intelligence layer to any application that's based on images, text, stock market, or some other form of data, this exciting book on Artificial Intelligence will definitely be your guide! Style and approach This highly practical book will show you how to implement Artificial Intelligence. The book provides multiple examples enabling you to create smart applications to meet the needs of your organization. In every chapter, we explain an algorithm, implement it, and then build a smart application.
Python For Dummies
Author: Stef Maruch
Publisher: John Wiley & Sons
ISBN: 1118084845
Category : Computers
Languages : en
Pages : 443
Book Description
Python is one of the most powerful, easy-to-read programming languages around, but it does have its limitations. This general purpose, high-level language that can be extended and embedded is a smart option for many programming problems, but a poor solution to others. Python For Dummies is the quick-and-easy guide to getting the most out of this robust program. This hands-on book will show you everything you need to know about building programs, debugging code, and simplifying development, as well as defining what actions it can perform. You’ll wrap yourself around all of its advanced features and become an expert Python user in no time. This guide gives you the tools you need to: Master basic elements and syntax Document, design, and debug programs Work with strings like a pro Direct a program with control structures Integrate integers, complex numbers, and modules Build lists, stacks, and queues Create an organized dictionary Handle functions, data, and namespace Construct applications with modules and packages Call, create, extend, and override classes Access the Internet to enhance your library Understand the new features of Python 2.5 Packed with critical idioms and great resources to maximize your productivity, Python For Dummies is the ultimate one-stop information guide. In a matter of minutes you’ll be familiar with Python’s building blocks, strings, dictionaries, and sets; and be on your way to writing the program that you’ve dreamed about!
Publisher: John Wiley & Sons
ISBN: 1118084845
Category : Computers
Languages : en
Pages : 443
Book Description
Python is one of the most powerful, easy-to-read programming languages around, but it does have its limitations. This general purpose, high-level language that can be extended and embedded is a smart option for many programming problems, but a poor solution to others. Python For Dummies is the quick-and-easy guide to getting the most out of this robust program. This hands-on book will show you everything you need to know about building programs, debugging code, and simplifying development, as well as defining what actions it can perform. You’ll wrap yourself around all of its advanced features and become an expert Python user in no time. This guide gives you the tools you need to: Master basic elements and syntax Document, design, and debug programs Work with strings like a pro Direct a program with control structures Integrate integers, complex numbers, and modules Build lists, stacks, and queues Create an organized dictionary Handle functions, data, and namespace Construct applications with modules and packages Call, create, extend, and override classes Access the Internet to enhance your library Understand the new features of Python 2.5 Packed with critical idioms and great resources to maximize your productivity, Python For Dummies is the ultimate one-stop information guide. In a matter of minutes you’ll be familiar with Python’s building blocks, strings, dictionaries, and sets; and be on your way to writing the program that you’ve dreamed about!
Python Packages
Author: Tomas Beuzen
Publisher: CRC Press
ISBN: 9781003189251
Category : Computers
Languages : en
Pages : 200
Book Description
"Python Packages introduces Python packaging at an introductory and practical level that's suitable for those with no previous packaging experience. Despite this, the text builds up to advanced topics such as automated testing, creating documentation, versioning and updating a package, and implementing continuous integration and deployment. Covering the entire Python packaging life cycle, this essential guide takes readers from package creation all the way to effective maintenance and updating. Python Packages focuses on the use of current and best-practice packaging tools and services like poetry, cookiecutter, pytest, sphinx, GitHub, and GitHub Actions"--
Publisher: CRC Press
ISBN: 9781003189251
Category : Computers
Languages : en
Pages : 200
Book Description
"Python Packages introduces Python packaging at an introductory and practical level that's suitable for those with no previous packaging experience. Despite this, the text builds up to advanced topics such as automated testing, creating documentation, versioning and updating a package, and implementing continuous integration and deployment. Covering the entire Python packaging life cycle, this essential guide takes readers from package creation all the way to effective maintenance and updating. Python Packages focuses on the use of current and best-practice packaging tools and services like poetry, cookiecutter, pytest, sphinx, GitHub, and GitHub Actions"--
Learning Python
Author: Mark Lutz
Publisher: "O'Reilly Media, Inc."
ISBN: 1449355714
Category : Computers
Languages : en
Pages : 1645
Book Description
"Based on author Mark Lutz's popular training course, this updated fifth edition will help you quickly write efficient, high-quality code with Python. It's an ideal way to begin, whether you're new to programming or a professional developer versed in other languages."--Provided by publisher.
Publisher: "O'Reilly Media, Inc."
ISBN: 1449355714
Category : Computers
Languages : en
Pages : 1645
Book Description
"Based on author Mark Lutz's popular training course, this updated fifth edition will help you quickly write efficient, high-quality code with Python. It's an ideal way to begin, whether you're new to programming or a professional developer versed in other languages."--Provided by publisher.
Data Structures and Algorithms in Python
Author: Michael T. Goodrich
Publisher: Wiley Global Education
ISBN: 1118476735
Category : Computers
Languages : en
Pages : 770
Book Description
Based on the authors' market leading data structures books in Java and C++, this book offers a comprehensive, definitive introduction to data structures in Python by authoritative authors. Data Structures and Algorithms in Python is the first authoritative object-oriented book available for Python data structures. Designed to provide a comprehensive introduction to data structures and algorithms, including their design, analysis, and implementation, the text will maintain the same general structure as Data Structures and Algorithms in Java and Data Structures and Algorithms in C++. Begins by discussing Python's conceptually simple syntax, which allows for a greater focus on concepts. Employs a consistent object-oriented viewpoint throughout the text. Presents each data structure using ADTs and their respective implementations and introduces important design patterns as a means to organize those implementations into classes, methods, and objects. Provides a thorough discussion on the analysis and design of fundamental data structures. Includes many helpful Python code examples, with source code provided on the website. Uses illustrations to present data structures and algorithms, as well as their analysis, in a clear, visual manner. Provides hundreds of exercises that promote creativity, help readers learn how to think like programmers, and reinforce important concepts. Contains many Python-code and pseudo-code fragments, and hundreds of exercises, which are divided into roughly 40% reinforcement exercises, 40% creativity exercises, and 20% programming projects.
Publisher: Wiley Global Education
ISBN: 1118476735
Category : Computers
Languages : en
Pages : 770
Book Description
Based on the authors' market leading data structures books in Java and C++, this book offers a comprehensive, definitive introduction to data structures in Python by authoritative authors. Data Structures and Algorithms in Python is the first authoritative object-oriented book available for Python data structures. Designed to provide a comprehensive introduction to data structures and algorithms, including their design, analysis, and implementation, the text will maintain the same general structure as Data Structures and Algorithms in Java and Data Structures and Algorithms in C++. Begins by discussing Python's conceptually simple syntax, which allows for a greater focus on concepts. Employs a consistent object-oriented viewpoint throughout the text. Presents each data structure using ADTs and their respective implementations and introduces important design patterns as a means to organize those implementations into classes, methods, and objects. Provides a thorough discussion on the analysis and design of fundamental data structures. Includes many helpful Python code examples, with source code provided on the website. Uses illustrations to present data structures and algorithms, as well as their analysis, in a clear, visual manner. Provides hundreds of exercises that promote creativity, help readers learn how to think like programmers, and reinforce important concepts. Contains many Python-code and pseudo-code fragments, and hundreds of exercises, which are divided into roughly 40% reinforcement exercises, 40% creativity exercises, and 20% programming projects.