Book Image

Dancing with Python

By : Robert S. Sutor
Book Image

Dancing with Python

By: Robert S. Sutor

Overview of this book

Dancing with Python helps you learn Python and quantum computing in a practical way. It will help you explore how to work with numbers, strings, collections, iterators, and files. The book goes beyond functions and classes and teaches you to use Python and Qiskit to create gates and circuits for classical and quantum computing. Learn how quantum extends traditional 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 programming the latest and most powerful quantum computers, the Pythonic way.
Table of Contents (29 chapters)
Part I: Getting to Know Python
PART II: Algorithms and Circuits
PART III: Advanced Features and Libraries
Other Books You May Enjoy
Appendix C: The Complete UniPoly Class
Appendix D: The Complete Guitar Class Hierarchy
Appendix F: Production Notes

1.3 Functions

The notion of “expression” includes functions and all that goes into writing and using them. The syntax of their definition varies significantly among programming languages, unlike simple arithmetic expressions. In words, I can say

The function maximum(x, y) returns x
if it is larger than y. Otherwise, it returns y.

Let’s consider this informal definition.

  • It has a descriptive name: maximum.
  • There are two variables within parentheses: x and y. These are the parameters of the function.
  • A function may have zero, one, two, or more parameters. To remain readable, it shouldn’t have too many.
  • When we employ the function as in maximum(3, -2) to get the larger value, we call the function maximum on the arguments 3 and -2.
  • To repeat: x and y are parameters, and 3 and -2 are arguments. However, it’s not unusual for coders to call them all arguments.
  • The body of the function is what does the work. The statement involving if-then-otherwise is called a conditional. Though “if” is often used in programming languages, the “then” and “otherwise” may be implicit in the syntax used to write the expression. “else” or a variation may be present instead of “otherwise.”
  • The test “x larger than y” is the inequality x > y. This returns a Boolean true or false. Some languages use “predicate” to refer to an expression that returns a Boolean.
  • maximum returns a value that you can use in further computation. Coders create some functions for their actions, like updating a database. They might not return anything.

For comparison, this is one way of writing maximum in the C programming language:

int maximum(int x, int y) {
    if (x > y) {
        return x;
    return y;

This is a Python version with a similar definition:

def maximum(x, y):
    if x > y:
        return x
    return y

There are several variations within each language for accomplishing the same result. Since they look so similar in different languages, you should always ask, “Am I doing this the best way in this programming language?”. If not, why are you using this language instead of another?

Expressions can take up several lines, particularly function definitions. C uses braces “{ }” to group parts together, while Python uses indentation.