Python has several built-in types.
If you create the
name variable assigning it the value “Roger”, automatically this variable is now representing a String data type.
name = "Roger"
You can check which type a variable is using the
type() function, passing the variable as an argument, and then comparing the result to
name = "Roger" type(name) == str #True
name = "Roger" isinstance(name, str) #True
Notice that to see the
Truevalue in Python, outside of a REPL, you need to wrap this code inside
print(), but for clarity reasons I avoid using it
We used the
str class here, but the same works for other data types.
First, we have numbers. Integer numbers are represented using the
int class. Floating point numbers (fractions) are of type
age = 1 type(age) == int #True
fraction = 0.1 type(fraction) == float #True
You saw how to create a type from a value literal, like this:
name = "Flavio" age = 20
Python automatically detects the type from the value type.
You can also create a variable of a specific type by using the class constructor, passing a value literal or a variable name:
name = str("Flavio") anotherName = str(name)
You can also convert from one type to another by using the class constructor. Python will try to determine the correct value, for example extracting a number from a string:
age = int("20") print(age) #20 fraction = 0.1 intFraction = int(fraction) print(intFraction) #0
This is called casting. Of course this conversion might not always work depending on the value passed. If you write
test instead of
20 in the above string, you’ll get a
ValueError: invalid literal for int() with base 10: 'test' error.
Those are just the basics of types. We have a lot more types in Python:
complexfor complex numbers
We’ll explore them all soon.
Download my free Python Handbook
More python tutorials:
- The PEP8 Python style guide
- Python Lists
- Python Annotations
- Python Docstrings
- Python Recursion
- Python Functions
- How to check if a variable is a number in Python
- Python Sets
- Python, the `with` statement