Impractical Python Projects

Impractical Python Projects PDF Author: Lee Vaughan
Publisher: No Starch Press
ISBN: 1593278918
Category : Computers
Languages : en
Pages : 426

Get Book Here

Book Description
Impractical Python Projects is a collection of fun and educational projects designed to entertain programmers while enhancing their Python skills. It picks up where the complete beginner books leave off, expanding on existing concepts and introducing new tools that you'll use every day. And to keep things interesting, each project includes a zany twist featuring historical incidents, pop culture references, and literary allusions. You'll flex your problem-solving skills and employ Python's many useful libraries to do things like: - Help James Bond crack a high-tech safe with a hill-climbing algorithm - Write haiku poems using Markov Chain Analysis - Use genetic algorithms to breed a race of gigantic rats - Crack the world's most successful military cipher using cryptanalysis - Derive the anagram, "I am Lord Voldemort" using linguistical sieves - Plan your parents' secure retirement with Monte Carlo simulation - Save the sorceress Zatanna from a stabby death using palingrams - Model the Milky Way and calculate our odds of detecting alien civilizations - Help the world's smartest woman win the Monty Hall problem argument - Reveal Jupiter's Great Red Spot using optical stacking - Save the head of Mary, Queen of Scots with steganography - Foil corporate security with invisible electronic ink Simulate volcanoes, map Mars, and more, all while gaining valuable experience using free modules like Tkinter, matplotlib, Cprofile, Pylint, Pygame, Pillow, and Python-Docx. Whether you're looking to pick up some new Python skills or just need a pick-me-up, you'll find endless educational, geeky fun with Impractical Python Projects.

Impractical Python Projects

Impractical Python Projects PDF Author: Lee Vaughan
Publisher: No Starch Press
ISBN: 1593278918
Category : Computers
Languages : en
Pages : 426

Get Book Here

Book Description
Impractical Python Projects is a collection of fun and educational projects designed to entertain programmers while enhancing their Python skills. It picks up where the complete beginner books leave off, expanding on existing concepts and introducing new tools that you'll use every day. And to keep things interesting, each project includes a zany twist featuring historical incidents, pop culture references, and literary allusions. You'll flex your problem-solving skills and employ Python's many useful libraries to do things like: - Help James Bond crack a high-tech safe with a hill-climbing algorithm - Write haiku poems using Markov Chain Analysis - Use genetic algorithms to breed a race of gigantic rats - Crack the world's most successful military cipher using cryptanalysis - Derive the anagram, "I am Lord Voldemort" using linguistical sieves - Plan your parents' secure retirement with Monte Carlo simulation - Save the sorceress Zatanna from a stabby death using palingrams - Model the Milky Way and calculate our odds of detecting alien civilizations - Help the world's smartest woman win the Monty Hall problem argument - Reveal Jupiter's Great Red Spot using optical stacking - Save the head of Mary, Queen of Scots with steganography - Foil corporate security with invisible electronic ink Simulate volcanoes, map Mars, and more, all while gaining valuable experience using free modules like Tkinter, matplotlib, Cprofile, Pylint, Pygame, Pillow, and Python-Docx. Whether you're looking to pick up some new Python skills or just need a pick-me-up, you'll find endless educational, geeky fun with Impractical Python Projects.

The Big Book of Small Python Projects

The Big Book of Small Python Projects PDF Author: Al Sweigart
Publisher: No Starch Press
ISBN: 1718501242
Category : Computers
Languages : en
Pages : 433

Get Book Here

Book Description
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!

Real-World Python

Real-World Python PDF Author: Lee Vaughan
Publisher: No Starch Press
ISBN: 1718500637
Category : Computers
Languages : en
Pages : 361

Get Book Here

Book Description
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!

Tiny Python Projects

Tiny Python Projects PDF Author: Ken Youens-Clark
Publisher: Simon and Schuster
ISBN: 1638350833
Category : Computers
Languages : en
Pages : 438

Get Book Here

Book Description
”Tiny Python Projects is a gentle and amusing introduction to Python that will firm up key programming concepts while also making you giggle.”—Amanda Debler, Schaeffler Key Features Learn new programming concepts through 21-bitesize programs Build an insult generator, a Tic-Tac-Toe AI, a talk-like-a-pirate program, and more Discover testing techniques that will make you a better programmer Code-along with free accompanying videos on YouTube Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About The Book The 21 fun-but-powerful activities in Tiny Python Projects teach Python fundamentals through puzzles and games. You’ll be engaged and entertained with every exercise, as you learn about text manipulation, basic algorithms, and lists and dictionaries, and other foundational programming skills. Gain confidence and experience while you create each satisfying project. Instead of going quickly through a wide range of concepts, this book concentrates on the most useful skills, like text manipulation, data structures, collections, and program logic with projects that include a password creator, a word rhymer, and a Shakespearean insult generator. Author Ken Youens-Clark also teaches you good programming practice, including writing tests for your code as you go. What You Will Learn Write command-line Python programs Manipulate Python data structures Use and control randomness Write and run tests for programs and functions Download testing suites for each project This Book Is Written For For readers familiar with the basics of Python programming. About The Author Ken Youens-Clark is a Senior Scientific Programmer at the University of Arizona. He has an MS in Biosystems Engineering and has been programming for over 20 years. Table of Contents 1 How to write and test a Python program 2 The crow’s nest: Working with strings 3 Going on a picnic: Working with lists 4 Jump the Five: Working with dictionaries 5 Howler: Working with files and STDOUT 6 Words count: Reading files and STDIN, iterating lists, formatting strings 7 Gashlycrumb: Looking items up in a dictionary 8 Apples and Bananas: Find and replace 9 Dial-a-Curse: Generating random insults from lists of words 10 Telephone: Randomly mutating strings 11 Bottles of Beer Song: Writing and testing functions 12 Ransom: Randomly capitalizing text 13 Twelve Days of Christmas: Algorithm design 14 Rhymer: Using regular expressions to create rhyming words 15 The Kentucky Friar: More regular expressions 16 The Scrambler: Randomly reordering the middles of words 17 Mad Libs: Using regular expressions 18 Gematria: Numeric encoding of text using ASCII values 19 Workout of the Day: Parsing CSV files, creating text table output 20 Password strength: Generating a secure and memorable password 21 Tic-Tac-Toe: Exploring state 22 Tic-Tac-Toe redux: An interactive version with type hints

Python Crash Course

Python Crash Course PDF Author: Eric Matthes
Publisher: No Starch Press
ISBN: 1593277393
Category : Computers
Languages : en
Pages : 564

Get Book Here

Book Description
Python Crash Course is a fast-paced, thorough introduction to Python that will have you writing programs, solving problems, and making things that work in no time. In the first half of the book, you’ll learn about basic programming concepts, such as lists, dictionaries, classes, and loops, and practice writing clean and readable code with exercises for each topic. You’ll also learn how to make your programs interactive and how to test your code safely before adding it to a project. In the second half of the book, you’ll put your new knowledge into practice with three substantial projects: a Space Invaders–inspired arcade game, data visualizations with Python’s super-handy libraries, and a simple web app you can deploy online. As you work through Python Crash Course you’ll learn how to: –Use powerful Python libraries and tools, including matplotlib, NumPy, and Pygal –Make 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progresses –Work with data to generate interactive visualizations –Create and customize Web apps and deploy them safely online –Deal with mistakes and errors so you can solve your own programming problems If you’ve been thinking seriously about digging into programming, Python Crash Course will get you up to speed and have you writing real programs fast. Why wait any longer? Start your engines and code! Uses Python 2 and 3

Publishing Python Packages

Publishing Python Packages PDF Author: Dane Hillard
Publisher: Simon and Schuster
ISBN: 1638351686
Category : Computers
Languages : en
Pages : 369

Get Book Here

Book Description
Create masterful, maintainable Python packages! This book includes pro tips for design, automation, testing, deployment, and even release as an open source project! In Publishing Python Packages you will learn how to: Build extensions and console script commands Use tox to automate packaging, installing, and testing Build a continuous integration pipeline using GitHub Actions Improve code quality and reduce manual review using black, mypy, and flake8 Create published documentation for your packages Keep packages up to date with pyupgrade and Dependabot Foster an open source community using GitHub features Publishing Python Packages teaches you how to easily share your Python code with your team and the outside world. Learn a repeatable and highly automated process for package maintenance that’s based on the best practices, tools, and standards of Python packaging. This book walks you through creating a complete package, including a C extension, and guides you all the way to publishing on the Python Package Index. Whether you’re entirely new to Python packaging or looking for optimal ways to maintain and scale your packages, this fast-paced and engaging guide is for you. Foreword by David Beazley. About the technology Successful Python packages install easily, run flawlessly, and stay reliably up to date. Publishing perfect Python packages requires a rigorous process that supports systematic testing and review, along with excellent documentation. Fortunately, the Python ecosystem includes tools and techniques to automate package creation and publishing. About the book Publishing Python Packages presents a practical process for sharing Python code in an automated and scalable way. Get hands-on experience with the latest packaging tools, and learn the ins and outs of package testing and continuous integration. You’ll even get pro tips for setting up a maintainable open source project, including licensing, documentation, and nurturing a community of contributors. What's inside Build extensions and console script commands Improve code quality with automated review and testing Create excellent documentation Keep packages up to date with pyupgrade and Dependabot About the reader For intermediate Python programmers. About the author Dane Hillard has spent the majority of his development career using Python to build web applications. Table of Contents PART 1 FOUNDATIONS 1 The what and why of Python packages 2 Preparing for package development 3 The anatomy of a minimal Python package PART 2 CREATING A VIABLE PACKAGE 4 Handling package dependencies, entry points, and extensions 5 Building and maintaining a test suite 6 Automating code quality tooling PART 3 GOING PUBLIC 7 Automating work through continuous integration 8 Authoring and maintaining documentation 9 Making a package evergreen 10 Scaling and solidifying your practices 11 Building a community

Serious Python

Serious Python PDF Author: Julien Danjou
Publisher: No Starch Press
ISBN: 1593278799
Category : Computers
Languages : en
Pages : 242

Get Book Here

Book Description
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!

Beyond the Basic Stuff with Python

Beyond the Basic Stuff with Python PDF Author: Al Sweigart
Publisher: No Starch Press
ISBN: 1593279663
Category : Computers
Languages : en
Pages : 385

Get Book Here

Book Description
BRIDGE THE GAP BETWEEN NOVICE AND PROFESSIONAL You've completed a basic Python programming tutorial or finished Al Sweigart's bestseller, Automate the Boring Stuff with Python. What's the next step toward becoming a capable, confident software developer? Welcome to Beyond the Basic Stuff with Python. More than a mere collection of advanced syntax and masterful tips for writing clean code, you'll learn how to advance your Python programming skills by using the command line and other professional tools like code formatters, type checkers, linters, and version control. Sweigart takes you through best practices for setting up your development environment, naming variables, and improving readability, then tackles documentation, organization and performance measurement, as well as object-oriented design and the Big-O algorithm analysis commonly used in coding interviews. The skills you learn will boost your ability to program--not just in Python but in any language. You'll learn: Coding style, and how to use Python's Black auto-formatting tool for cleaner code Common sources of bugs, and how to detect them with static analyzers How to structure the files in your code projects with the Cookiecutter template tool Functional programming techniques like lambda and higher-order functions How to profile the speed of your code with Python's built-in timeit and cProfile modules The computer science behind Big-O algorithm analysis How to make your comments and docstrings informative, and how often to write them How to create classes in object-oriented programming, and why they're used to organize code Toward the end of the book you'll read a detailed source-code breakdown of two classic command-line games, the Tower of Hanoi (a logic puzzle) and Four-in-a-Row (a two-player tile-dropping game), and a breakdown of how their code follows the book's best practices. You'll test your skills by implementing the program yourself. Of course, no single book can make you a professional software developer. But Beyond the Basic Stuff with Python will get you further down that path and make you a better programmer, as you learn to write readable code that's easy to debug and perfectly Pythonic Requirements: Covers Python 3.6 and higher

Computer Graphics from Scratch

Computer Graphics from Scratch PDF Author: Gabriel Gambetta
Publisher: No Starch Press
ISBN: 1718500769
Category : Computers
Languages : en
Pages : 250

Get Book Here

Book Description
Computer Graphics from Scratch demystifies the algorithms used in modern graphics software and guides beginners through building photorealistic 3D renders. Computer graphics programming books are often math-heavy and intimidating for newcomers. Not this one. Computer Graphics from Scratch takes a simpler approach by keeping the math to a minimum and focusing on only one aspect of computer graphics, 3D rendering. You’ll build two complete, fully functional renderers: a raytracer, which simulates rays of light as they bounce off objects, and a rasterizer, which converts 3D models into 2D pixels. As you progress you’ll learn how to create realistic reflections and shadows, and how to render a scene from any point of view. Pseudocode examples throughout make it easy to write your renderers in any language, and links to live JavaScript demos of each algorithm invite you to explore further on your own. Learn how to: Use perspective projection to draw 3D objects on a 2D plane Simulate the way rays of light interact with surfaces Add mirror-like reflections and cast shadows to objects Render a scene from any camera position using clipping planes Use flat, Gouraud, and Phong shading to mimic real surface lighting Paint texture details onto basic shapes to create realistic-looking objects Whether you’re an aspiring graphics engineer or a novice programmer curious about how graphics algorithms work, Gabriel Gambetta’s simple, clear explanations will quickly put computer graphics concepts and rendering techniques within your reach. All you need is basic coding knowledge and high school math. Computer Graphics from Scratch will cover the rest.

Learn to Code by Solving Problems

Learn to Code by Solving Problems PDF Author: Daniel Zingaro
Publisher: No Starch Press
ISBN: 1718501331
Category : Computers
Languages : en
Pages : 398

Get Book Here

Book Description
Learn to Code by Solving Problems is a practical introduction to programming using Python. It uses coding-competition challenges to teach you the mechanics of coding and how to think like a savvy programmer. Computers are capable of solving almost any problem when given the right instructions. That’s where programming comes in. This beginner’s book will have you writing Python programs right away. You’ll solve interesting problems drawn from real coding competitions and build your programming skills as you go. Every chapter presents problems from coding challenge websites, where online judges test your solutions and provide targeted feedback. As you practice using core Python features, functions, and techniques, you’ll develop a clear understanding of data structures, algorithms, and other programming basics. Bonus exercises invite you to explore new concepts on your own, and multiple-choice questions encourage you to think about how each piece of code works. You’ll learn how to: Run Python code, work with strings, and use variables Write programs that make decisions Make code more efficient with while and for loops Use Python sets, lists, and dictionaries to organize, sort, and search data Design programs using functions and top-down design Create complete-search algorithms and use Big O notation to design more efficient code By the end of the book, you’ll not only be proficient in Python, but you’ll also understand how to think through problems and tackle them with code. Programming languages come and go, but this book gives you the lasting foundation you need to start thinking like a programmer.