Python Concepts/Basic data types
Overview
editThis page serves as a generalized introduction to the variable types present within Python.
Types
editThough different languages may handle variable types uniquely, most are quite similar. Python variable types, like the rest of the language, are quite simple. Variable types are determined by the value stored within the variable. Unlike most other languages, keywords like "int", "String", or "bool" are not required in Python, as Python supports type inferencing. The most general compatible variable type is chosen.
There are three main categories of variable types in Python (and every other programming language). They are listed below, ordered by increasing complexity.
Primitive Variables
editPrimitive variables are the most basic, hence their "primitive" title. They are capable of storing a single value. In Python there are seven primitive variable types, which are listed below.
Special types
editNoneType
editNone
Boolean
editTrue, False
Numeric types
editint
edit12
float
edit12.00
complex
edit12+34j
(Note that this represents a single value, not an arithmetic operation!)
Sequence types
editStrings
edit"twelve"
In Python, there is no "char" variable type. Instead, characters are represented with a string with a length of one.
Bytes
editb"\x12\x34"
Compound Variable
editComplex Variable
editTypes are a category for things within Python with which Python will work. Types are
- integer
- Whole numbers from negative infinity to infinity, such as 1, 0, -5, etc.
- float
- Short for "floating point number," any rational number, usually used with decimals such as 2.8 or 3.14159.
- string
- A set of letters, numbers, or other characters.
- tuple
- A list with a fixed number of elements. ie x=(1,2,3) parentheses makes it a tuple.
- list
- A list without a fixed number of elements. ie x=[1,2,3] note the square brackets, a list
- dictionaries
- A type with multiple elements i.e. x = {1: 'a','b': 2,3: 3} where you address the elements with, e.g., a text.
Opening IDLE
editFirst open IDLE and then open a shell. To open the shell look through the menu bar, some have it under windows, and some have their own shell list. Many also have the short-cut F5.
The shell prompts with ">>>" - the following examples are in the shell.
Integers
editIntegers are numeric values and can be stored, manipulated, and expressed inside variables without quotes.
Type:
>>> 23
23
Notice how it returns the number 23
.
Type:
>>> -44
-44
You can also perform basic math using integers as well.
Type:
>>> 45 - 19
26
Strings
editStrings are a type. They are the basic unit of text in Python and all the other types except integers may contain strings. it contains the single or sequence of characters. Type the following into the shell:
>>>"I Love Python"
It will return
'I Love Python'
You can also make a variable refer to a string.
Type:
>>>x = "I Love Python"
Now Type:
>>>x
'I Love Python'
Now Type:
>>>print (x)
I Love Python
The print command prints the value that 'x' stands for on the screen. It removes the quotations. Whenever you type something into a type that isn't an integer, syntax (the commands that you give python, such as print), or variable (such as x just was) you need to put it into quotations. You can use 'single' or "double" quotations. If you wrote parenthesis outside of the quotations you would have made a tuple (the 'u' sounds like 'touch', not 'tooch') instead of a string. You can also call on a single element in a string.
Type either:
>>>print (x[3])
OR
>>>x[3]
o
Now Type either:
>>>print (x[9])
OR
>>>x[9]
t
As you can see the elements are numbered starting with 0 (due to Python using Ordinals).
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
I | L | o | v | e | P | y | t | h | o | n |
Tuples
editA tuple is an unchangeable sequence of values. When you typed ('I love Python') you included only one element.
Type:
>>> x = ("element 1", "element 2", "element 3")
When you do this you create a tuple with three elements. You can access these elements individually by typing the variable and then, inside brackets directly to the right of the variable, type the number of the element to which you are referring.
Type:
>>> print (x[1])
element 2
You may think that it is odd that it returned element 2 instead of element 1. Python starts numbering at 0. element 1 = x[0], element 2= x[1], element 3= x[2]. You can also call on the elements in reverse order.
Type:
>>> print (x[-1])
element 3
Python returned element 3 and not element 2 because x[0]
and x[-0]
are the same:
>>> x[0] == x[-0] == "element 1"
True
>>>
For numbering in reverse Python begins with -1.
>>> x[2] == x[-1] == "element 3"
True
>>> x[1] == x[-2] == "element 2"
True
>>>
If you used brackets instead of parentheses you would have made a list.
Lists
editA list is a changeable sequence of data. A list is contained by square brackets i.e. [1,2,3]
Type:
>>> x = ["I", "Love", "Python"]
>>> x[2] = "Wikiversity"
>>> print(x)
['I', 'Love', 'Wikiversity']
The above code changes element number 2 in x
. The last thing we learn is dictionaries.
Dictionaries
editDictionaries contain a key and a value. { } enclose dictionaries (Note, that you can also construct a set with curly brackets)
Type:
>>> x = {'key1':'value1', 'key2':'value2'}
Now Type:
>>> print(x)
{'Key2':'value2', 'key1':'value1'}
Depending on what IDLE you are using these may be in different order. The reason for the different order is because dictionaries have no order. You cannot type x[0] and be referring to 'key1':'value1' . What you do to refer to a value is type the key.
Type:
>>> x['key1'] = 'I Love Python'
Now Type:
>>> print(x)
{'Key2':'value2', 'key1':'I Love Python'}
The keys stay the same but the values are changeable. You can also only have one occurrence of a key in a dictionary, but you may have the values all be the same.
Type:
>>> x = {'key':'value1', 'key':'value2'}
Now Type:
>>> print(x)
{'key': 'value2'}
The first key is overwritten by the second.
Type:
>>> x = {'key1':'value', 'key2':'value'}
Now Type:
>>> print(x)
{'key2': 'value', 'key1': 'value'}
This example shows that you can create two separate keys with the same value.
data types quiz
edit
Or take the:
next: Python Operators