Automate the Boring Stuff with Python, 3rd Edition
Al Sweigart
The bestselling introduction to Python programming, revised to include the latest Python features, improved explanations, and new chapters about databases and sound files. If you’ve ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you could have your computer do this work for you? In this fully revised third edition of Automate the Boring Stuff with Python, you’ll learn how to use Python to write programs that do in minutes what would take you hours to do by hand—no prior programming experience required. Early chapters will teach you the fundamentals of Python through clear explanations and engaging examples. You’ll write your first Python program; work with strings, lists, dictionaries, and other data structures; then use regular expressions to find and manipulate text patterns. Once you’ve mastered the basics, you’ll tackle projects that teach you to use Python to automate tasks like: Searching the web, downloading content, and filling out forms Finding, extracting, and manipulating text and data in files and spreadsheets Copying, moving, renaming, or compressing saved files on your computerSplitting, merging, and extracting text from PDFs and Word documents Interacting with applications through custom mouse and keyboard macros Managing your inbox, unsubscribing from lists, and sending email or text notifications New to this edition: All code and examples have been thoroughly updated. You’ll also find four new chapters on database integration, speech recognition, and audio and video editing, as well as 16 new programming projects and expanded coverage of developer techniques like creating command line programs. Don’t spend your time on work a well-trained monkey could do. Even if you’ve never written a line of code, you can pass off that grunt work to your computer. Learn how in Automate the Boring Stuff with Python.
show more
The Big Book of Small Python Projects
Al Sweigart
Best-selling author Al Sweigart shows you how to easily build over 80 fun programs with minimal code and maximum creativity. If you’ve mastered basic Python syntax and you’re ready to start writing programs, you’ll find The Big Book of Small Python Projects both enlightening and fun. This collection of 81 Python projects will have you making digital art, games, animations, counting pro- grams, and more right away. Once you see how the code works, you’ll practice re-creating the programs and experiment by adding your own custom touches. These simple, text-based programs are 256 lines of code or less. And whether it’s a vintage screensaver, a snail-racing game, a clickbait headline generator, or animated strands of DNA, each project is designed to be self-contained so you can easily share it online. You’ll create: • Hangman, Blackjack, and other games to play against your friends or the computer • Simulations of a forest fire, a million dice rolls, and a Japanese abacus • Animations like a virtual fish tank, a rotating cube, and a bouncing DVD logo screensaver • A first-person 3D maze game • Encryption programs that use ciphers like ROT13 and Vigenère to conceal text If you’re tired of standard step-by-step tutorials, you’ll love the learn-by-doing approach of The Big Book of Small Python Projects. It’s proof that good things come in small programs!
show more
Computer Science from Scratch
David Kopec
You know how to write Python. Now master the computer science that makes it work. If you’ve been programming for a while, you may have found yourself wondering about the deeper principles behind the code. How are programming languages implemented? What does an interpreter really do? How does the microprocessor execute instructions at a fundamental level? How does a machine learning algorithm make decisions? Computer Science from Scratch is for experienced Python programmers who want to fill in those gaps—not through abstract lectures, but through carefully designed projects that bring core CS concepts to life. Understanding these fundamental building blocks will make you a more versatile and effective programmer. Each chapter presents a focused, hands-on project that teaches a fundamental idea in computer science: INTERPRETERS: Understand syntax, parsing, and evaluation by writing a BASIC interpreter EMULATORS: Learn computer architecture by building an NES emulator from the ground up GRAPHICS: Explore image manipulation and algorithmic art through computer graphics projects MACHINE LEARNING: Demystify classification by implementing a simple, readable KNN model These projects aren’t about building tools—they’re structured lessons that use code to reveal how computing works. Each chapter concludes with real-world context, thoughtful extensions, and exercises to deepen your understanding. Authored by David Kopec, a computer science professor and author of the popular Classic Computer Science Problems series, this is not a beginner’s book, and it’s not a theory-heavy academic text. It’s a practical, code-driven introduction to the essential ideas and mechanisms of computer science—written for programmers who want more than syntax. If you’ve been writing Python and are ready to explore the foundations behind computing, this book will guide you there—with clarity, depth, and purpose.
show more
Cracking Codes with Python
Al Sweigart
Learn how to program in Python while making and breaking ciphers—algorithms used to create and send secret messages! After a crash course in Python programming basics, you’ll learn to make, test, and hack programs that encrypt text with classical ciphers like the transposition cipher and Vigenère cipher. You’ll begin with simple programs for the reverse and Caesar ciphers and then work your way up to public key cryptography, the type of encryption used to secure today’s online transactions, including digital signatures, email, and Bitcoin. Each program includes the full code and a line-by-line explanation of how things work. By the end of the book, you’ll have learned how to code in Python and you’ll have the clever programs to prove it! You’ll also learn how to: - Combine loops, variables, and flow control statements into real working programs - Use dictionary files to instantly detect whether decrypted messages are valid English or gibberish - Create test programs to make sure that your code encrypts and decrypts correctly - Code (and hack!) a working example of the affine cipher, which uses modular arithmetic to encrypt a message - Break ciphers with techniques such as brute-force and frequency analysis There’s no better way to learn to code than to play with real programs. Cracking Codes with Python makes the learning fun!
show more
Dead Simple Python
Jason C. McDonald
The complete core language for existing programmers. Dead Simple Python is a thorough introduction to every feature of the Python language for programmers who are impatient to write production code. Instead of revisiting elementary computer science topics, you’ll dive deep into idiomatic Python patterns so you can write professional Python programs in no time. After speeding through Python’s basic syntax and setting up a complete programming environment, you’ll learn to work with Python’s dynamic data typing, its support for both functional and object-oriented programming techniques, special features like generator expressions, and advanced topics like concurrency. You’ll also learn how to package, distribute, debug, and test your Python project. Master how to: Make Python's dynamic typing work for you to produce cleaner, more adaptive code. Harness advanced iteration techniques to structure and process your data. Design classes and functions that work without unwanted surprises or arbitrary constraints. Use multiple inheritance and introspection to write classes that work intuitively. Improve your code's responsiveness and performance with asynchrony, concurrency, and parallelism. Structure your Python project for production-grade testing and distribution The most pedantically pythonic primer ever printed, Dead Simple Python will take you from working with the absolute basics to coding applications worthy of publication.
show more
Make Python Talk
Mark Liu
A project-based book that teaches beginning Python programmers how to build working, useful, and fun voice-controlled applications. This fun, hands-on book will take your basic Python skills to the next level as you build voice-controlled apps to use in your daily life. Starting with a Python refresher and an introduction to speech-recognition/text-to-speech functionalities, you’ll soon ease into more advanced topics, like making your own modules and building working voice-controlled apps. Each chapter scaffolds multiple projects that allow you to see real results from your code at a manageable pace, while end-of-chapter exercises strengthen your understanding of new concepts. You’ll design interactive games, like Connect Four and Tic-Tac-Toe, and create intelligent computer opponents that talk and take commands; you’ll make a real-time language translator, and create voice-activated financial-market apps that track the stocks or cryptocurrencies you are interested in. Finally, you’ll load all of these features into the ultimate virtual personal assistant – a conversational VPA that tells jokes, reads the news, and gives you hands-free control of your email, browser, music player, desktop files, and more. Along the way, you’ll learn how to: ● Build Python modules, implement animations, and integrate live data into an app ● Use web-scraping skills for voice-controlling podcasts, videos, and web searches ● Fine-tune the speech recognition to accept a variety of input ● Associate regular tasks like opening files and accessing the web with speech commands ● Integrate functionality from other programs into a single VPA with computational knowledge engines to answer almost any question Packed with cross-platform code examples to download, practice activities and exercises, and explainer images, you’ll quickly become proficient in Python coding in general and speech recognition/text to speech in particular.
show more
Modeling and Simulation in Python
Allen B. Downey
Modeling and Simulation in Python teaches readers how to analyze real-world scenarios using the Python programming language, requiring no more than a background in high school math. Modeling and Simulation in Python is a thorough but easy-to-follow introduction to physical modeling—that is, the art of describing and simulating real-world systems. Readers are guided through modeling things like world population growth, infectious disease, bungee jumping, baseball flight trajectories, celestial mechanics, and more while simultaneously developing a strong understanding of fundamental programming concepts like loops, vectors, and functions. Clear and concise, with a focus on learning by doing, the author spares the reader abstract, theoretical complexities and gets right to hands-on examples that show how to produce useful models and simulations.
show more
Object-Oriented Python
Irv Kalb
Power up your Python with object-oriented programming and learn how to write powerful, efficient, and re-usable code. Object-Oriented Python is an intuitive and thorough guide to mastering object-oriented programming from the ground up. You’ll cover the basics of building classes and creating objects, and put theory into practice using the pygame package with clear examples that help visualize the object-oriented style. You’ll explore the key concepts of object-oriented programming — encapsulation, polymorphism, and inheritance — and learn not just how to code with objects, but the absolute best practices for doing so. Finally, you’ll bring it all together by building a complex video game, complete with full animations and sounds. The book covers two fully functional Python code packages that will speed up development of graphical user interface (GUI) programs in Python.
show more
Practical Deep Learning, 2nd Edition
Ronald T. Kneusel
Deep learning made simple. Dip into deep learning without drowning in theory with this fully updated edition of Practical Deep Learning from experienced author and AI expert Ronald T. Kneusel. After a brief review of basic math and coding principles, you’ll dive into hands-on experiments and learn to build working models for everything from image analysis to creative writing, and gain a thorough understanding of how each technique works under the hood. Whether you’re a developer looking to add AI to your toolkit or a student seeking practical machine learning skills, this book will teach you: How neural networks work and how they’re trained How to use classical machine learning models How to develop a deep learning model from scratch How to evaluate models with industry-standard metrics How to create your own generative AI models Each chapter emphasizes practical skill development and experimentation, building to a case study that incorporates everything you’ve learned to classify audio recordings. Examples of working code you can easily run and modify are provided, and all code is freely available on GitHub. With Practical Deep Learning, second edition, you’ll gain the skills and confidence you need to build real AI systems that solve real problems. New to this edition: Material on computer vision, fine-tuning and transfer learning, localization, self-supervised learning, generative AI for novel image creation, and large language models for in-context learning, semantic search, and retrieval-augmented generation (RAG).
show more
Python Crash Course, 3rd Edition
Eric Matthes
Python Crash Course is the world’s bestselling programming book, with over 1,500,000 copies sold to date! Python Crash Course is the world’s best-selling guide to the Python programming language. This fast-paced, thorough introduction will have you writing programs, solving problems, and developing functioning applications in no time. You’ll start by learning basic programming concepts, such as variables, lists, classes, and loops, and practice writing clean code with exercises for each topic. You’ll also learn how to make your programs interactive and test your code safely before adding it to a project. You’ll put your new knowledge into practice by creating a Space Invaders–inspired arcade game, building a set of data visualizations with Python’s handy libraries, and deploying a simple application online. As you work through the book, you’ll learn how to: Use powerful Python libraries and tools, including pytest, Pygame, Matplotlib, Plotly, and Django Make increasingly complex 2D games that respond to keypresses and mouse clicks Generate interactive data visualizations using a variety of datasets Build apps that allow users to create accounts and manage their own data, and deploy your apps online Troubleshoot coding errors and solve common programming problems New to this edition: This third edition is completely revised to reflect the latest in Python code. New and updated coverage includes VS Code for text editing, the pathlib module for file handling, pytest for testing your code, as well as the latest features of Matplotlib, Plotly, and Django. If you’ve been thinking about digging into programming, Python Crash Course will provide you with the skills to write real programs fast. Why wait any longer? Start your engines and code! Covers Python 3.x
show more
Python for Excel Users
Tracy Stephens
When Excel isn’t enough, it’s time to learn Python. If you’re comfortable in Excel, but you’ve hit a wall—slow files, broken formulas, hours spent on repetitive tasks—this book offers a way forward. It shows you how to take the work you already do in spreadsheets and make it faster, smarter, and more powerful with Python. You’ll start by setting up your environment and getting comfortable with Python through short, Excel-inspired exercises. From there, you’ll gradually move into writing scripts that automate manual work, structure your data, and generate consistent results—no prior programming knowledge required. You’ll use your preexisting Excel skills to learn how to: Translate spreadsheet logic into Python code Use pandas to clean, reshape, and filter data Automate reports you’d normally build by hand Read and write Excel files directly from Python Connect to databases and APIs Create professional visualizations with Plotly and Dash Organize code into sharable modules and write simple tests Throughout the book, you’ll find practical examples that show why and how to move your work out of spreadsheets and into scripts, and how to resolve issues along the way. Author Tracy Stephens has extensive practical experience with both Excel and Python. Her approach is grounded in real workflows, and she introduces each concept through tasks you’ve likely handled in Excel. This book won’t ask you to replace everything you do in spreadsheets, but it will help you use Python to work faster, more reliably, and with greater flexibility than you ever could with Excel.
show more
Python One-Liners
Christian Mayer
Python programmers will improve their computer science skills with these useful one-liners. Python One-Liners will teach you how to read and write "one-liners": concise statements of useful functionality packed into a single line of code. You'll learn how to systematically unpack and understand any line of Python code, and write eloquent, powerfully compressed Python like an expert. The book's five chapters cover tips and tricks, regular expressions, machine learning, core data science topics, and useful algorithms. Detailed explanations of one-liners introduce key computer science concepts and boost your coding and analytical skills. You'll learn about advanced Python features such as list comprehension, slicing, lambda functions, regular expressions, map and reduce functions, and slice assignments. You'll also learn how to: Leverage data structures to solve real-world problems, like using Boolean indexing to find cities with above-average pollution Use NumPy basics such as array, shape, axis, type, broadcasting, advanced indexing, slicing, sorting, searching, aggregating, and statistics Calculate basic statistics of multidimensional data arrays and the K-Means algorithms for unsupervised learning Create more advanced regular expressions using grouping and named groups, negative lookaheads, escaped characters, whitespaces, character sets (and negative characters sets), and greedy/nongreedy operators Understand a wide range of computer science topics, including anagrams, palindromes, supersets, permutations, factorials, prime numbers, Fibonacci numbers, obfuscation, searching, and algorithmic sorting By the end of the book, you'll know how to write Python at its most refined, and create concise, beautiful pieces of "Python art" in merely a single line.
show more
Python Playground, 2nd Edition
Mahesh Venkitachalam
Put the fun back in Python programming and build your skills as you create 3D simulations and graphics, speech-recognition machine-learning systems, IoT devices, and more. The fully updated 2nd edition is here, now with 5 brand-new projects! Harness the power of Python as you turn code into tangible creations with Python Playground, a collection of 15 inventive projects that will expand your programming horizons, spark your curiosity, and elevate your coding skills. Go beyond the basics as you write programs to generate art and music, simulate real-world phenomena, and interact with hardware, all through the use of Python and common libraries such as numpy, matplotlib, and Pillow. As you work through the book’s projects, you will: Craft intricate Spirograph-like designs with parametric equations and the turtle module Generate music by synthesizing plucked string sounds Transform everyday images into ASCII art, photomosaics, and eye-popping autostereograms Design engaging cellular automata and flocking simulations Explore the realm of 3D graphics, from basic shape rendering to visualizing MRI scan data Build a Raspberry Pi–powered laser show that dances along with music New to this edition: We’ve expanded your playground with five new projects: you’ll draw fractals, bring Conway’s Game of Life into 3D space, and use a Raspberry Pi and Python to create a musical instrument, an IoT garden monitor, and even a machine learning–driven speech recognition system. Whether you’re a seasoned professional or just getting started, you’ll find Python Playground to be a great way to learn, experiment with, and master this versatile programming language. Covers Python 3.x
show more
Real-World Python
Lee Vaughan
A project-based approach to learning Python programming for beginners. Intriguing projects teach you how to tackle challenging problems with code. You've mastered the basics. Now you're ready to explore some of Python's more powerful tools. Real-World Python will show you how. Through a series of hands-on projects, you'll investigate and solve real-world problems using sophisticated computer vision, machine learning, data analysis, and language processing tools. You'll be introduced to important modules like OpenCV, NumPy, Pandas, NLTK, Bokeh, Beautiful Soup, Requests, HoloViews, Tkinter, turtle, matplotlib, and more. You'll create complete, working programs and think through intriguing projects that show you how to: Save shipwrecked sailors with an algorithm designed to prove the existence of God Detect asteroids and comets moving against a starfield Program a sentry gun to shoot your enemies and spare your friends Select landing sites for a Mars probe using real NASA maps Send unbreakable messages based on a book code Survive a zombie outbreak using data science Discover exoplanets and alien megastructures orbiting distant stars Test the hypothesis that we're all living in a computer simulation And more! If you're tired of learning the bare essentials of Python Programming with isolated snippets of code, you'll relish the relevant and geeky fun of Real-World Python!
show more
Serious Python
Julien Danjou
An indispensable collection of practical tips and real-world advice for tackling common Python problems and taking your code to the next level. Features interviews with high-profile Python developers who share their tips, tricks, best practices, and real-world advice gleaned from years of experience. Sharpen your Python skills as you dive deep into the Python programming language with Serious Python. You'll cover a range of advanced topics like multithreading and memorization, get advice from experts on things like designing APIs and dealing with databases, and learn Python internals to help you gain a deeper understanding of the language itself. Written for developers and experienced programmers, Serious Python brings together over 15 years of Python experience to teach you how to avoid common mistakes, write code more efficiently, and build better programs in less time. As you make your way through the book's extensive tutorials, you'll learn how to start a project and tackle topics like versioning, layouts, coding style, and automated checks. You'll learn how to package your software for distribution, optimize performance, use the right data structures, define functions efficiently, pick the right libraries, build future-proof programs, and optimize your programs down to the bytecode. You'll also learn how to: - Make and use effective decorators and methods, including abstract, static, and class methods - Employ Python for functional programming using generators, pure functions, and functional functions - Extend flake8 to work with the abstract syntax tree (AST) to introduce more sophisticated automatic checks into your programs - Apply dynamic performance analysis to identify bottlenecks in your code - Work with relational databases and effectively manage and stream data with PostgreSQL If you've been looking for a way to take your Python skills from good to great, Serious Python will help you get there. Learn from the experts and get seriously good at Python with Serious Python!
show more