𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Dancing with Python: Learn Python software development from scratch and get started with quantum computing

✍ Scribed by Robert S. Sutor


Publisher
Packt Publishing - ebooks Account
Year
2021
Tongue
English
Leaves
745
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Develop skills in Python by implementing exciting algorithms, including mathematical functions, classical searching, data analysis, plotting data, machine learning techniques, and quantum circuits

Key Features

  • Learn Python basics to write elegant and efficient code
  • Create quantum circuits and algorithms using Qiskit and run them on quantum computing hardware and simulators
  • Delve into Python's advanced features, including machine learning, analyzing data, and searching

Book Description

Coding is the art and engineering of creating software, and Python has been one of the core coding languages for many years. This introductory Python book helps you learn classical and quantum computing in a unified and practical way. It will help you work with numbers, strings, collections, iterators, and files.

The book goes beyond functions and classes and teaches you how to use Python and Qiskit to create gates and circuits for classical and quantum computing. Learn how quantum extends classical techniques using the Grover search algorithm and the code that implements it. Dive into some advanced and widely used applications of Python and revisit strings with more sophisticated tools such as regular expressions and basic natural language processing (NLP). The final chapters introduce you to data analysis, visualizations, and supervised and unsupervised machine learning. By the end of the book, you will be proficient in classical coding and programming using the latest and most powerful quantum computers.

What you will learn

  • Create Python code using numbers, strings, collections, classes, objects, functions, conditionals, loops, and operators
  • Write succinct code the Pythonic way using magic methods, iterators, and generators
  • Explore different quantum gates and use them to build quantum circuits
  • Analyze data, build basic machine learning models, and plot the results
  • Search for information using traditional methods and the quantum Grover search algorithm
  • Optimize and test your code to run efficiently

Who this book is for

The book is for Python and coding beginners. Basic familiarity with algebra, geometry, trigonometry, and logarithms is required as the book does not cover the detailed mathematics and theory of quantum computing. You can check out the author’s Dancing with Qubits book, also published by Packt, for an approachable and comprehensive introduction to quantum computing.

Table of Contents

  1. Doing The Things That Coders Do
  2. Working with Expressions
  3. Collecting Things Together
  4. Stringing You Along
  5. Computing and Calculating
  6. Defining and Using Functions
  7. Organizing Objects into Classes
  8. Working with Files
  9. Understanding Gates and Circuits
  10. Optimizing and Testing Your Code
  11. Searching for the Quantum Improvement
  12. Searching and Changing Text
  13. Creating Plots and Charts
  14. Analyzing Data
  15. Learning Briefly
  16. Appendix A Tools
  17. Appendix B. Staying Current
  18. Appendix C The Complete UniPoly Class
  19. Appendix D The Complete Guitar Class Hierarchy
  20. Appendix E. Notices
  21. Appendix F. Production Notes

✦ Table of Contents


Cover
Copyright
Dedication
Contributors
Table of Contents
List of Figures
Preface
Why did I write this book?
For whom did I write this book?
What does this book cover?
What conventions do I use in this book?
Download the example code files
Download the color images
Get in touch
Chapter 1: Doing the Things That Coders Do
1.1 Data
1.2 Expressions
1.3 Functions
1.4 Libraries
1.5 Collections
1.6 Conditional processing
1.7 Loops
1.8 Exceptions
1.9 Records
1.10 Objects and classes
1.11 Qubits
1.12 Circuits
1.13 Summary
Part I: Getting to Know Python
Chapter 2: Working with Expressions
2.1 Numbers
2.2 Strings
2.3 Lists
2.4 Variables and assignment
2.5 True and False
2.6 Arithmetic
2.7 String operations
2.8 List operations
2.9 Printing
2.10 Conditionals
2.11 Loops
2.12 Functions
2.13 Summary
Chapter 3: Collecting Things Together
3.1 The big three
3.2 Lists
3.3 The joy of O(1)
3.4 Tuples
3.5 Comprehensions
3.6 What does β€œPythonic” mean?
3.7 Nested comprehensions
3.8 Parallel traverse
3.9 Dictionaries
3.10 Sets
3.11 Summary
Chapter 4: Stringing You Along
4.1 Single, double, and triple quotes
4.2 Testing for substrings
4.3 Accessing characters
4.4 Creating strings
4.5 Strings and iterations
4.6 Strings and slicing
4.7 String tests
4.8 Splitting and stripping
4.9 Summary
Chapter 5: Computing and Calculating
5.1 Using Python modules
5.2 Integers
5.3 Floating-point numbers
5.4 Rational numbers
5.5 Complex numbers
5.6 Symbolic computation
5.7 Random numbers
5.8 Quantum randomness
5.9 Summary
Chapter 6: Defining and Using Functions
6.1 The basic form
6.2 Parameters and arguments
6.3 Naming conventions
6.4 Return values
6.5 Keyword arguments
6.6 Default argument values
6.7 Formatting conventions
6.8 Nested functions
6.9 Variable scope
6.10 Functions are objects
6.11 Anonymous functions
6.12 Recursion
6.13 Summary
Chapter 7: Organizing Objects into Classes
7.1 Objects
7.2 Classes, methods, and variables
7.3 Object representation
7.4 Magic methods
7.5 Attributes and properties
7.6 Naming conventions and encapsulation
7.7 Commenting Python code
7.8 Documenting Python code
7.9 Enumerations
7.10 More polynomial magic
7.11 Class variables
7.12 Class and static methods
7.13 Inheritance
7.14 Iterators
7.15 Generators
7.16 Objects in collections
7.17 Creating modules
7.18 Summary
Chapter 8: Working with Files
8.1 Paths and the file system
8.2 Moving around the file system
8.3 Creating and removing directories
8.4 Lists of files and folders
8.5 Names and locations
8.6 Types of files
8.7 Reading and writing files
8.8 Saving and restoring data
8.9 Summary
Part II: Algorithms and Circuits
Chapter 9: Understanding Gates and Circuits
9.1 The software stack
9.2 Boolean operations and bit logic gates
9.3 Logic circuits
9.4 Simplifying bit expressions
9.5 Universality for bit gates
9.6 Quantum gates and operations
9.7 Quantum circuits
9.8 Universality for quantum gates
9.9 Summary
Chapter 10: Optimizing and Testing Your Code
10.1 Testing your code
10.2 Timing how long your code takes to run
10.3 Optimizing your code
10.4 Looking for orphan code
10.5 Defining and using decorators
10.6 Summary
Chapter 11: Searching for the Quantum Improvement
11.1 Classical searching
11.2 Quantum searching via Grover
11.3 Oracles
11.4 Inversion about the mean
11.5 Amplitude amplification
11.6 Searching over two qubits
11.7 Summary
Part III: Advanced Features and Libraries
Chapter 12: Searching and Changing Text
12.1 Core string search and replace methods
12.2 Regular expressions
12.3 Introduction to Natural Language Processing
12.4 Summary
Chapter 13: Creating Plots and Charts
13.1 Function plots
13.2 Bar charts
13.3 Histograms
13.4 Pie charts
13.5 Scatter plots
13.6 Moving to three dimensions
13.7 Summary
Chapter 14: Analyzing Data
14.1 Statistics
14.2 Cats and commas
14.3 pandas DataFrames
14.4 Data cleaning
14.5 Statistics with pandas
14.6 Converting categorical data
14.7 Cats by gender in each locality
14.8 Are all tortoiseshell cats female?
14.9 Cats in trees and circles
14.10 Summary
Chapter 15: Learning, Briefly
15.1 What is machine learning?
15.2 Cats again
15.3 Feature scaling
15.4 Feature selection and reduction
15.5 Clustering
15.6 Classification
15.7 Linear regression
15.8 Concepts of neural networks
15.9 Quantum machine learning
15.10 Summary
Appendices
Appendix A: Tools
A.1 The operating system command line
A.2 Installing Python
A.3 Installing Python modules and packages
A.4 Installing a virtual environment
A.5 Installing the Python packages used in this book
A.6 The Python interpreter
A.7 IDLE
A.8 Visual Studio Code
A.9 Jupyter notebooks
A.10 Installing and setting up Qiskit
A.11 The IBM Quantum Composer and Lab
A.12 Linting
Appendix B: Staying Current
B.1 python.org
B.2 qiskit.org
B.3 Python expert sites
B.4 Asking questions and getting answers
Appendix C: The Complete UniPoly Class
Appendix D: The Complete Guitar Class Hierarchy
Appendix E: Notices
E.1 Photos, images, and diagrams
E.2 Data
E.3 Trademarks
E.4 Python 3 license
Appendix F: Production Notes
References
Packt Page
Other Books You May Enjoy
Index
Index Formatting Examples


πŸ“œ SIMILAR VOLUMES


Data Analysis From Scratch With Python:
✍ Peters Morgan πŸ“‚ Library πŸ“… 2018 πŸ› AI Sciences LLC 🌐 English

***** BUY NOW (Will soon return to 25.59) ******Free eBook for customers who purchase the print book from Amazon****** Are you thinking of becoming a data analyst using Python? If you are looking for a complete guide to data analysis using Python language and its library that will help you to become

Getting Started with Raspberry Pi: Elect
✍ Richardson, Matt;Wallace, Shawn πŸ“‚ Library πŸ“… 2014 πŸ› O'Reilly Media, Inc.;Maker Media, Inc 🌐 English

What can you do with Raspberry Pi, the inexpensive credit card-sized computer? All sorts of things! If you're learning how to program, or looking to build new electronic projects, this hands-on guide will show you just how valuable this flexible little platform can be. This book takes you step-by-st

Getting Started with Python
✍ Fabrizio Romano πŸ“‚ Library πŸ“… 2019 πŸ› Packt Publishing 🌐 English

<p><b>Harness the power of Python objects and data structures to implement algorithms for analyzing your data and efficiently extracting information</b><p><b>Key Features</b><p><li>Turn your designs into working software by learning the Python syntax<li>Write robust code with a solid understanding o

Getting Started with Python
✍ Thomas Theis πŸ“‚ Library πŸ“… 2024 πŸ› Rheinwerk Computing 🌐 English

<p><span>If you want to program with Python, you’ve come to the right place! Take your first steps with this Python crash course that teaches you to use core language elements, from variables to branches to loops. Follow expert guidance to work with data types, functions, and modulesβ€”and learn how t