This is an archived version of the course. Please see the latest version of the course.

Basic built-in data types

In line with its philosophy of keeping things simple, Python offers a much more stripped down collection of basic data types compared to C++. The following are the main basic Python data types:

  • Numbers: int, float, complex
  • Booleans: bool
  • Strings: str

That’s mainly it! (There’s also a bytes type, but you probably will not be using it much).

Also, a definition: literal is a succint and ‘direct’ way to write a value, e.g. 558, 2.6, "hello", True.

Numbers

Numbers can be

  • int (integers)
  • float (floating points) - these are actually equivalent to double precision in C++
  • complex (complex numbers)

There is no fine-grained distinction e.g. short, long, double, and unsigned. An int is an int, a float is a float. As simple as that.

Try typing these into an interactive Python interpreter and see what you get:

>>> type(42)
>>> type(3.412)
>>> type(3.2e-12)
>>> type(1+2j)

Booleans

Booleans (bool) can be either True or False. Note that these are Capitalised and not lowercase as in C++. Try these out!

>>> type(True)
>>> type(False)

Strings

Strings (str) are a sequence of characters.

In Python, you surround string literals with either 'single quotes', "double quotes", '''triple quotes''' or """triple double-quotes""".

Try these:

>>> 'Is Python that easy?'
>>> "Is Python that easy?"
>>> '''Is Python that easy?'''
>>> """Is Python that easy?"""

All four are equivalent. So 'my string' is identical to "my string".

You can also write multiline strings with '''triple quotes''' or """triple double-quotes""". The whitespaces (spaces, newlines) are retained.

>>> ''' Never gonna give you up,
... Never gonna let you down,
... Never gonna run around and desert you.
... '''

Note #1: There is no char type in Python. Just use str (of length 1)!

Note #2: There is also no \0 delimiter at the end of a string to worry about. So the length of a string is really what you’d expect it to be!