0% found this document useful (0 votes)
3 views26 pages

2 Python Varibles and Data types

The document covers Python variables and data types, explaining how to create and assign values to variables, as well as the distinction between global and local variables. It also details various built-in data types in Python, including numeric, sequence types (strings, lists, tuples), and their characteristics. Additionally, it provides examples and rules for naming variables and accessing elements within different data structures.

Uploaded by

Ianbrown Wekesa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
3 views26 pages

2 Python Varibles and Data types

The document covers Python variables and data types, explaining how to create and assign values to variables, as well as the distinction between global and local variables. It also details various built-in data types in Python, including numeric, sequence types (strings, lists, tuples), and their characteristics. Additionally, it provides examples and rules for naming variables and accessing elements within different data structures.

Uploaded by

Ianbrown Wekesa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 26

Python Variables and Data Types

1. Variables
2. Data Types

1.0 Variables
Introduction.

Variables help programs become much more dynamic, and allow a program to always reference
a value in one spot, rather than the programmer needing to repeatedly type it out, and, worse,
change it if they decide to use a different definition for it.

Variables can be called just about whatever you want. You wouldn't want them
to conflict with function names, and they also cannot start with a number.

Variables are containers for storing data values. Unlike other programming languages, Python
has no command for declaring a variable. A variable is created the moment you first assign a
value to it

Objectives
Objectives by the end of this topic you should be able to:

• Create variables
• Assign value to multiple variables
• Differentiate between global and local variables

Learning activities
Learning Activity 4.1: Reading
Read further on declaring local and global variables.
Learning Activity 4.2: Journal
Write a python program to demonstrate usage of different variables.
Learning Activity 4.3: Discussion
Write a Python program to check the sum of three elements (each from an array) from three
arrays is equal to a target value. Print all those three-element combinations.
Assessment
Topic resources
1. The Python Tutorial¶. (n.d.). Retrieved from https://docs.python.org/3/tutorial/index.html
2. Mueller, J. P. (n.d.). Beginning Programming with Python For Dummies. S.l.: For
Dummies.
3. (n.d.). Python 3.7.4 documentation. Retrieved from https://docs.python.org/3
4. (n.d.). Git Handbook. Retrieved from https://guides.github.com/introduction/git-
handbook/
5. Shaw, Z. (2017). Learn Python 3 the hard way: a very simple introduction to the
terrifyingly beautiful world of computers and code. Boston: Addison-Wesley.
6. Bader, D. (2018). Python tricks: the book. Vancouver, BC: Dan Bader.
7. Downey, A. B. (2015). Think Python. Sebastopol: OReilly.
8. Ramalho, L. (2016). Fluent Python:Beijing: OReilly.

URL Links
https://www.tutorialspoint.com//python_variable_types.htm
https://www.geeksforgeeks.org/global-local-variables-python/
https://www.geeksforgeeks.org/python-scope-of-variables/?ref=rp
https://www.geeksforgeeks.org/private-variables-python/?ref=rp
https://www.geeksforgeeks.org/python-program-to-swap-two-variables/?ref=rp
https://www.youtube.com/watch?v=wrb7Gge9yoE - How to push Code to Github

TOPIC 4 NOTES
Python is not “statically typed”. We do not need to declare variables before using them, or
declare their type. A variable is created the moment we first assign a value to it.

Output:
45
1456.8
John
Rules for creating variables in Python are same as they are in other high-level languages. They
are:
a) A variable name must start with a letter or the underscore character.
b) A variable name cannot start with a number.
c) A variable name can only contain alpha-numeric characters and underscores (A-z, 0-9, and _ ).
d) Variable names are case-sensitive (name, Name and NAME are three different variables).
e) The reserved words(keywords) cannot be used naming the variable.

Assigning a single value to multiple variables:


Also Python allows to assign a single value to several variables simultaneously.
For example:

Output:
10
10
10

Assigning a different values to multiple variables:

Output:
1
20.2
Python Prorgamming

Can we use same name for different types?


If we use same name, the variable starts referring to new value and type.

Output:
Python Programming

How does + operator work with variables?

Output:
30
Programming in Python

Can we use + for different types also?


No using for different types would produce error.

Output :
TypeError: unsupported operand type(s) for +: 'int' and 'str'
Creating objects (or variables of a class type):
Please refer Class, Object and Members for more details.

Output:
cse
cse
101
cse
Global and Local Variables in Python
Global variables are the one that are defined and declared outside a function and we need to use
them inside a function
Output:
I love programming in Python

If a variable with same name is defined inside the scope of function as well then it will print the
value given inside the function only and not the global value.

Output:
Me too.
I love programming in Python.
The variable s is defined as the string “I love programming in Python”, before we call the
function f(). The only statement in f() is the “print s” statement. As there is no local s, the value
from the global s will be used.
The question is, what will happen, if we change the value of s inside of the function f()? Will it
affect the global s as well? We test it in the following piece of code:
Output:
Line 2: undefined: Error: local variable 's' referenced before assignment
To make the above program work, we need to use “global” keyword. We only need to use global
keyword in a function if we want to do assignments / change them. global is not needed for
printing and accessing. Why? Python “assumes” that we want a local variable due to the
assignment to s inside of f(), so the first print statement throws this error message. Any variable
which is changed or created inside of a function is local, if it hasn’t been declared as a global
variable. To tell Python, that we want to use the global variable, we have to use the
keyword “global”, as can be seen in the following example:

Now there is no ambiguity.


Output:
Python is great!
Look for programming in Python Section.
Look for programming in Python Section.
A good Example
Output:
global : 1
Inside f() : 1
global : 1
Inside g() : 2
global : 1
Inside h() : 3
global : 3

Revision questions
1. What is the output of the following code

x = 50
def fun1():
x = 25
print(x)
fun1()
print(x)
2. What is the output of the following code

def func1():
x = 50
return x
func1()
print(x)

3. Select all the valid String creation in Python


• str1 = “str1”
• str1 = ‘str1’
• str1 = ”’str1”’
• str1 = str(“str1”)
4. Write a Python program to iterate over an enum class and display individual member and
their value. Go to the editor
Expected Output:
Afghanistan = 93
Albania = 355
Algeria = 213
Andorra = 376
Angola = 244
Antarctica = 672
Click me to see the sample solution
2.0 Data Types
Data types are the classification or categorization of data items. It represents the kind of value
that tells what operations can be performed on a particular data. Since everything is an object
in Python programming, data types are actually classes and variables are instance (object) of
these classes.
Following are the standard or built-in data type of Python:
• Numeric
• Sequence Type
• Boolean
• Set
• Dictionary

Numeric
In Python, numeric data type represent the data which has numeric value. Numeric value can
be integer, floating number or even complex numbers. These values are defined
as int, float and complex class in Python.
• Integers – This value is represented by int class. It contains positive or negative
whole numbers (without fraction or decimal). In Python there is no limit to how
long an integer value can be.
• Float – This value is represented by float class. It is a real number with floating
point representation. It is specified by a decimal point. Optionally, the character e or
E followed by a positive or negative integer may be appended to specify scientific
notation.
• Complex Numbers – Complex number is represented by complex class. It is
specified as (real part) + (imaginary part)j. For example – 2+3j
Note – type() function is used to determine the type of data type.

# Python program to

# demonstrate numeric value

a = 5

print("Type of a: ", type(a))

b = 5.0

print("\nType of b: ", type(b))

c = 2 + 4j

print("\nType of c: ", type(c))

Output:
Type of a: <class 'int'>
Type of b: <class 'float'>
Type of c: <class 'complex'>

Sequence Type
In Python, sequence is the ordered collection of similar or different data types. Sequences
allows to store multiple values in an organized and efficient fashion. There are several
sequence types in Python –
• String
• List
• Tuple
1) String
In Python, Strings are arrays of bytes representing Unicode characters. A string is a collection
of one or more characters put in a single quote, double-quote or triple quote. In python there is
no character data type, a character is a string of length one. It is represented by str class.

Creating String
Strings in Python can be created using single quotes or double quotes or even triple quotes.

# Python Program for

# Creation of String

# Creating a String

# with single Quotes

String1 = 'Welcome to the Geeks World'

print("String with the use of Single Quotes: ")

print(String1)

# Creating a String

# with double Quotes

String1 = "I'm a Geek"

print("\nString with the use of Double Quotes: ")

print(String1)

print(type(String1))

# Creating a String

# with triple Quotes

String1 = '''I'm a Geek and I live in a world of "Geeks"'''

print("\nString with the use of Triple Quotes: ")

print(String1)

print(type(String1))

# Creating String with triple

# Quotes allows multiple lines


String1 = '''Geeks

For

Life'''

print("\nCreating a multiline String: ")

print(String1)

Output:
String with the use of Single Quotes:
Welcome to the Geeks World

String with the use of Double Quotes:


I'm a Geek
<class 'str'>

String with the use of Triple Quotes:


I'm a Geek and I live in a world of "Geeks"
<class 'str'>

Creating a multiline String:


Geeks
For
Life

Accessing elements of String


In Python, individual characters of a String can be accessed by using the method of Indexing.
Indexing allows negative address references to access characters from the back of the String,
e.g. -1 refers to the last character, -2 refers to the second last character and so on.
# Python Program to Access

# characters of String

String1 = "GeeksForGeeks"

print("Initial String: ")

print(String1)

# Printing First character

print("\nFirst character of String is: ")

print(String1[0])

# Printing Last character

print("\nLast character of String is: ")

print(String1[-1])

Output:
Initial String:
GeeksForGeeks

First character of String is:


G

Last character of String is:


s

Note – To know more about strings, refer Python String.


2) List
Lists are just like the arrays, declared in other languages which is a ordered collection of data.
It is very flexible as the items in a list do not need to be of the same type.

Creating List
Lists in Python can be created by just placing the sequence inside the square brackets[].
# Python program to demonstrate

# Creation of List

# Creating a List

List = []

print("Initial blank List: ")

print(List)

# Creating a List with

# the use of a String

List = ['GeeksForGeeks']

print("\nList with the use of String: ")

print(List)

# Creating a List with

# the use of multiple values

List = ["Geeks", "For", "Geeks"]

print("\nList containing multiple values: ")

print(List[0])

print(List[2])

# Creating a Multi-Dimensional List

# (By Nesting a list inside a List)

List = [['Geeks', 'For'], ['Geeks']]

print("\nMulti-Dimensional List: ")

print(List)

Output:
Initial blank List:
[]

List with the use of String:


['GeeksForGeeks']

List containing multiple values:


Geeks
Geeks

Multi-Dimensional List:
[['Geeks', 'For'], ['Geeks']]

Accessing elements of List


In order to access the list items refer to the index number. Use the index operator [ ] to access
an item in a list. In Python, negative sequence indexes represent positions from the end of the
array. Instead of having to compute the offset as in List[len(List)-3], it is enough to just
write List[-3]. Negative indexing means beginning from the end, -1 refers to the last item, -2
refers to the second-last item, etc.

# Python program to demonstrate

# accessing of element from list

# Creating a List with

# the use of multiple values

List = ["Geeks", "For", "Geeks"]

# accessing a element from the

# list using index number

print("Accessing element from the list")

print(List[0])

print(List[2])
# accessing a element using

# negative indexing

print("Accessing element using negative indexing")

# print the last element of list

print(List[-1])

# print the third last element of list

print(List[-3])

Output:
Accessing element from the list
Geeks
Geeks
Accessing element using negative indexing
Geeks
Geeks
Note – To know more about Lists, refer Python List.

3) Tuple
Just like list, tuple is also an ordered collection of Python objects. The only difference between
tuple and list is that tuples are immutable i.e. tuples cannot be modified after it is created. It is
represented by tuple class.

Creating Tuple
In Python, tuples are created by placing a sequence of values separated by ‘comma’ with or
without the use of parentheses for grouping of the data sequence. Tuples can contain any
number of elements and of any datatype (like strings, integers, list, etc.).
Note: Tuples can also be created with a single element, but it is a bit tricky. Having one
element in the parentheses is not sufficient, there must be a trailing ‘comma’ to make it a tuple.

# Python program to demonstrate

# creation of Set

# Creating an empty tuple

Tuple1 = ()
print("Initial empty Tuple: ")

print (Tuple1)

# Creating a Tuple with

# the use of Strings

Tuple1 = ('Geeks', 'For')

print("\nTuple with the use of String: ")

print(Tuple1)

# Creating a Tuple with

# the use of list

list1 = [1, 2, 4, 5, 6]

print("\nTuple using List: ")

print(tuple(list1))

# Creating a Tuple with the

# use of built-in function

Tuple1 = tuple('Geeks')

print("\nTuple with the use of function: ")

print(Tuple1)

# Creating a Tuple

# with nested tuples

Tuple1 = (0, 1, 2, 3)

Tuple2 = ('python', 'geek')

Tuple3 = (Tuple1, Tuple2)

print("\nTuple with nested tuples: ")


print(Tuple3)

Output:
Initial empty Tuple:
()

Tuple with the use of String:


('Geeks', 'For')

Tuple using List:


(1, 2, 4, 5, 6)

Tuple with the use of function:


('G', 'e', 'e', 'k', 's')

Tuple with nested tuples:


((0, 1, 2, 3), ('python', 'geek'))

Note – Creation of Python tuple without the use of parentheses is known as Tuple Packing.
Accessing elements of Tuple
In order to access the tuple items refer to the index number. Use the index operator [ ] to access
an item in a tuple. The index must be an integer. Nested tuples are accessed using nested
indexing.

# Python program to

# demonstrate accessing tuple

tuple1 = tuple([1, 2, 3, 4, 5])

# Accessing element using indexing

print("First element of tuple")

print(tuple1[0])

# Accessing element from last

# negative indexing

print("\nLast element of tuple")

print(tuple1[-1])
print("\nThird last element of tuple")

print(tuple1[-3])

Output:
First element of tuple
1

Last element of tuple


5

Third last element of tuple


3
Note – To know more about tuples, refer Python Tuples.

Boolean
Data type with one of the two built-in values, True or False. Boolean objects that are equal to
True are truthy (true), and those equal to False are falsy (false). But non-Boolean objects can
be evaluated in Boolean context as well and determined to be true or false. It is denoted by the
class bool.
Note – True and False with capital ‘T’ and ‘F’ are valid booleans otherwise python will throw
an error.

# Python program to

# demonstrate boolean type

print(type(True))

print(type(False))

print(type(true))

Output:
<class 'bool'>
<class 'bool'>
Traceback (most recent call last):
File "/home/7e8862763fb66153d70824099d4f5fb7.py", line 8, in
print(type(true))
NameError: name 'true' is not defined
Set
In Python, Set is an unordered collection of data type that is iterable, mutable and has no
duplicate elements. The order of elements in a set is undefined though it may consist of various
elements.
Creating Sets
Sets can be created by using the built-in set() function with an iterable object or a sequence by
placing the sequence inside curly braces, separated by ‘comma’. Type of elements in a set need
not be the same, various mixed-up data type values can also be passed to the set.

# Python program to demonstrate

# Creation of Set in Python

# Creating a Set

set1 = set()

print("Initial blank Set: ")

print(set1)

# Creating a Set with

# the use of a String

set1 = set("GeeksForGeeks")

print("\nSet with the use of String: ")

print(set1)

# Creating a Set with

# the use of a List

set1 = set(["Geeks", "For", "Geeks"])

print("\nSet with the use of List: ")

print(set1)

# Creating a Set with

# a mixed type of values


# (Having numbers and strings)

set1 = set([1, 2, 'Geeks', 4, 'For', 6, 'Geeks'])

print("\nSet with the use of Mixed Values")

print(set1)

Output:
Initial blank Set:
set()

Set with the use of String:


{'F', 'o', 'G', 's', 'r', 'k', 'e'}

Set with the use of List:


{'Geeks', 'For'}

Set with the use of Mixed Values


{1, 2, 4, 6, 'Geeks', 'For'}

Accessing elements of Sets


Set items cannot be accessed by referring to an index, since sets are unordered the items has no
index. But you can loop through the set items using a for loop, or ask if a specified value is
present in a set, by using the in keyword.

# Python program to demonstrate

# Accessing of elements in a set

# Creating a set

set1 = set(["Geeks", "For", "Geeks"])

print("\nInitial set")

print(set1)

# Accessing element using

# for loop

print("\nElements of set: ")


for i in set1:

print(i, end =" ")

# Checking the element

# using in keyword

print("Geeks" in set1)

Output:
Initial set:
{'Geeks', 'For'}

Elements of set:
Geeks For

True

Note – To know more about sets, refer Python Sets.

Dictionary
Dictionary in Python is an unordered collection of data values, used to store data values like a
map, which unlike other Data Types that hold only single value as an element, Dictionary
holds key:value pair. Key-value is provided in the dictionary to make it more optimized. Each
key-value pair in a Dictionary is separated by a colon :, whereas each key is separated by a
‘comma’.
Creating Dictionary
In Python, a Dictionary can be created by placing a sequence of elements within
curly {} braces, separated by ‘comma’. Values in a dictionary can be of any datatype and can
be duplicated, whereas keys can’t be repeated and must be immutable. Dictionary can also be
created by the built-in function dict(). An empty dictionary can be created by just placing it to
curly braces{}.
Note – Dictionary keys are case sensitive, same name but different cases of Key will be treated
distinctly.

# Creating an empty Dictionary

Dict = {}

print("Empty Dictionary: ")


print(Dict)

# Creating a Dictionary

# with Integer Keys

Dict = {1: 'Geeks', 2: 'For', 3: 'Geeks'}

print("\nDictionary with the use of Integer Keys: ")

print(Dict)

# Creating a Dictionary

# with Mixed keys

Dict = {'Name': 'Geeks', 1: [1, 2, 3, 4]}

print("\nDictionary with the use of Mixed Keys: ")

print(Dict)

# Creating a Dictionary

# with dict() method

Dict = dict({1: 'Geeks', 2: 'For', 3:'Geeks'})

print("\nDictionary with the use of dict(): ")

print(Dict)

# Creating a Dictionary

# with each item as a Pair

Dict = dict([(1, 'Geeks'), (2, 'For')])

print("\nDictionary with each item as a pair: ")

print(Dict)

Output:
Empty Dictionary:
{}
Dictionary with the use of Integer Keys:
{1: 'Geeks', 2: 'For', 3: 'Geeks'}

Dictionary with the use of Mixed Keys:


{1: [1, 2, 3, 4], 'Name': 'Geeks'}

Dictionary with the use of dict():


{1: 'Geeks', 2: 'For', 3: 'Geeks'}

Dictionary with each item as a pair:


{1: 'Geeks', 2: 'For'}

Accessing elements of Dictionary


In order to access the items of a dictionary refer to its key name. Key can be used inside square
brackets. There is also a method called get() that will also help in accessing the element from a
dictionary.

# Python program to demonstrate

# accessing a element from a Dictionary

# Creating a Dictionary

Dict = {1: 'Geeks', 'name': 'For', 3: 'Geeks'}

# accessing a element using key

print("Accessing a element using key:")

print(Dict['name'])

# accessing a element using get()

# method

print("Accessing a element using get:")

print(Dict.get(3))

Output:
Accessing a element using key:
For
Accessing a element using get:
Geeks

You might also like