What is Python?
Python is a popular programming
language. It was created by Guido van
Rossum, and released in 1991.
It is used for:
web development (server-side),
software development,
mathematics,
system scripting.
What can Python do?
Python can be used on a server to create
web applications.
Python can be used alongside software
to create workflows.
Python can connect to database systems.
It can also read and modify files.
Python can be used to handle big data
and perform complex mathematics.
Python can be used for rapid
prototyping, or for production-ready
software development.
Why Python?
Python works on different platforms
(Windows, Mac, Linux, Raspberry Pi,
etc).
Python has a simple syntax similar to the
English language.
Python has syntax that allows developers
to write programs with fewer lines than
some other programming languages.
Python runs on an interpreter system,
meaning that code can be executed as
soon as it is written. This means that
prototyping can be very quick.
Python Syntax compared to other
programming languages
Python was designed for readability, and
has some similarities to the English
language with influence from mathematics.
Python uses new lines to complete a
command, as opposed to other
programming languages which often use
semicolons or parentheses.
Python relies on indentation, using
whitespace, to define scope; such as the
scope of loops, functions and classes. Other
programming languages often use curly-
brackets for this purpose.
Example
print("Hello, World!")
Python Install
Many PCs and Macs will have python
already installed.
To check if you have python installed on
a Windows PC, search in the start bar for
Python or run the following on the
Command Line ([Link]):am
Execute Python Syntax
As we learned in the previous page, Python
syntax can be executed by writing directly in
the Command Line:
>>> print("Hello, World!")
Hello, World!
Python Indentation
Indentation refers to the spaces at the
beginning of a code line.
Where in other programming languages the
indentation in code is for readability only, the
indentation in Python is very important.
Python uses indentation to indicate a block of
Example
if 5 > 2:
print("Five is greater than two!")
if 5 > 2:
print("Five is greater than two!")
if 5 > 2:
print("Five is greater than two!")
Python Variables
In Python, variables are created when you assign a
value to it:
Example
Variables in Python:
x = 5
y = "Hello, World!"
Python has no command for declaring a variable.
Comments
Python has commenting capability for
the purpose of in-code documentation.
Comments start with a #, and Python
will render the rest of the line as a
comment:
Example
Comments in Python:
#This is a comment.
print("Hello, World!")
Comments can be used to explain Python
code.
Creating a Comment
Comments starts with a #, and Python
will ignore them:
Example
#This is a comment
print("Hello, World!")
Comments can be placed at the end of a
line, and Python will ignore the rest of
the line:
Example
print("Hello, World!") #This is a
comment
A comment does not have to be text that
explains the code, it can also be used to
prevent Python from executing code:
Example
#print("Hello, World!")
print("Cheers, Mate!")
Multiline Comments
Python does not really have a syntax for
multiline comments.
To add a multiline comment you could
insert a # for each line:
Example
#This is a comment
#written in
#more than just one line
print("Hello, World!")
Since Python will ignore string literals that are not
assigned to a variable, you can add a multiline
string (triple quotes) in your code, and place your
comment inside it:
Example
"""
This is a comment
written in
more than just one line
"""
Variables
Variables are containers for storing data
values.
Creating Variables
Python has no command for declaring a
variable.
A variable is created the moment you
first assign a value to it.
Example
x = 5
y = "John"
print(x)
print(y)
Variables do not need to be declared
with any particular type, and can even
change type after they have been set.
Example
x = 4 # x is of type int
x = "Sally" # x is now of type str
print(x)
Casting
If you want to specify the data type of a
variable, this can be done with casting.
Example
x = str(3) # x will be '3'
y = int(3) # y will be 3
z = float(3) # z will be 3.0
Get the Type
You can get the data type of a variable with
the type() function.
Example
x = 5
y = "John"
print(type(x))
Single or Double Quotes?
String variables can be declared either
by using single or double quotes:
Example
x = "John"
# is the same as
x = 'John'
Case-Sensitive
Variable names are case-sensitive.
Example
This will create two variables:
a =4
A = "Sally"
#A will not overwrite a
Variable Names
A variable can have a short name (like x and y) or a
more descriptive name (age, carname,
total_volume). Rules for Python variables:
A variable name must start with a letter or the
underscore character
A variable name cannot start with a number
A variable name can only contain alpha-numeric
characters and underscores (A-z, 0-9, and _ )
Variable names are case-sensitive (age, Age and
AGE are three different variables)
A variable name cannot be any of the
Python keywords
Example
Legal variable names:
myvar = "John"
my_var = "John"
_my_var = "John"
myVar = "John"
MYVAR = "John"
myvar2 = "John
Example
Illegal variable names:
2myvar = "John"
my-var = "John"
my var = "John"
Multi Words Variable Names
Variable names with more than one word
can be difficult to read.
There are several techniques you can
use to make them more readable:
Camel Case
Each word, except the first, starts with a
capital letter:
myVariableName = "John"
Pascal Case
Each word starts with a capital letter:
MyVariableName = "John"
Snake Case
Each word is separated by an underscore
character:
my_variable_name = "John"
Many Values to Multiple Variables
Python allows you to assign values to
multiple variables in one line:
Example
x, y, z = "Orange", "Banana", "Cherry"
print(x)
print(y)
print(z)
One Value to Multiple Variables
And you can assign the same value to
multiple variables in one line:
Example
x = y = z = "Orange"
print(x)
print(y)
print(z)
Unpack a Collection
If you have a collection of values in a list,
tuple etc. Python allows you to extract
the values into variables. This is
called unpacking.
Example
Unpack a list:
fruits = ["apple", "banana", "cherry"]
x, y, z = fruits
print(x)
print(y)
print(z)
Output Variables
The Python print() function is often used
to output variables.
Example
x = "Python is awesome"
print(x)
In the print() function, you output
multiple variables, separated by a comma:
Example
x = "Python"
y = "is"
z = "awesome"
print(x, y, z)
You can also use the + operator to
output multiple variables:
Example
x = "Python "
y = "is "
z = "awesome"
print(x + y + z)
For numbers, the + character works as a
mathematical operator:
Example
x = 5
y = 10
print(x + y)
In the print() function, when you try to
combine a string and a number with
the + operator, Python will give you an
error:
Example
x = 5
y = "John"
print(x + y)
The best way to output multiple
variables in the print() function is to
separate them with commas, which even
support different data types:
Example
Global Variables
Variables that are created outside of a function
(as in all of the examples in the previous pages)
are known as global variables.
Global variables can be used by everyone, both
inside of functions and outside.
Example
Create a variable outside of a function, and use
it inside the function
x = "awesome"
def myfunc():
print("Python is " + x)
myfunc()
If you create a variable with the same name inside
a function, this variable will be local, and can only
be used inside the function. The global variable
with the same name will remain as it was, global
and with the original value.
Example
Create a variable inside a function, with the same
name as the global variable
x = "awesome"
def myfunc():
x = "fantastic"
print("Python is " + x)
myfunc()
The global Keyword
Normally, when you create a variable
inside a function, that variable is local,
and can only be used inside that function.
To create a global variable inside a
function, you can use the global keyword.
Example
If you use the global keyword, the
variable belongs to the global scope:
def myfunc():
global x
x = "fantastic"
myfunc()
print("Python is " + x)
Also, use the global keyword if you want
to change a global variable inside a
function.
To change the value of a global variable
inside a function, refer to the variable by
using the global keyword:
x = "awesome"
def myfunc():
global x
x = "fantastic"
myfunc()
print("Python is " + x)
Built-in Data Types
In programming, data type is an important
concept.
Variables can store data of different types, and
different types can do different things.
Python has the following data types built-in by
default, in these categories:
Text Type:
str
Numeric Types:
int, float, complex
Sequence Types:
list, tuple, range
Mapping Type:
Set Types:
set, frozenset
Boolean Type:
bool
Binary Types:
bytes, bytearray, memoryview
None Type:
NoneType
Getting the Data Type
You can get the data type of any object by
using the type() function:
Example
Print the data type of the variable x:
x = 5
print(type(x))
Setting the Data Type
In Python, the data type is set when you
assign a value to a variable
x = "Hello World“
#display x:
#display the data type of x:
print(type(x))
int
x = 20
#display x:
print(x)
#display the data type of x:
print(type(x))
float
x = 20.5
#display x:
print(x)
#display the data type of x:
print(type(x))
complex
x = 1j
#display x:
print(x)
#display the data type of x:
print(type(x))
list
x = ["apple", "banana", "cherry"]
#display x:
print(x)
#display the data type of x:
print(type(x))
tuple
x = ("apple", "banana", "cherry")
#display x:
print(x)
#display the data type of x:
print(type(x))
range
x = range(6)
#display x:
print(x)
#display the data type of x:
print(type(x))
dict
x = {"name" : "John", "age" : 36}
#display x:
print(x)
#display the data type of x:
print(type(x))
set
x = {"apple", "banana", "cherry"}
#display x:
print(x)
#display the data type of x:
print(type(x))
frozenset
x = {"apple", "banana", "cherry"}
#display x:
print(x)
#display the data type of x:
print(type(x))
bool
x = True
#display x:
print(x)
#display the data type of x:
print(type(x))
bytes
x = b"Hello“
#display x:
print(x)
#display the data type of x:
print(type(x))
byte array
x = bytearray(5)
#display x:
print(x)
#display the data type of x:
print(type(x))
memory view
x = memoryview(bytes(5))
#display x:
print(x)
#display the data type of x:
print(type(x))
none
x = None
#display x:
print(x)
#display the data type of x:
print(type(x))
Setting the Specific Data Type
If you want to specify the data type, you
can use the following constructor
functions:
x = str("Hello World")
#display x:
print(x)
#display the data type of x:
print(type(x))
int
x = int(20)
#display x:
float
x = float(20.5)
#display x:
print(x)
#display the data type of x:
print(type(x))
complex
x = complex(1j)
#display x:
print(x)
#display the data type of x:
print(type(x))
list
x = list(("apple", "banana", "cherry"))
#display x:
print(x)
#display the data type of x:
print(type(x))
tuple
x = tuple(("apple", "banana", "cherry"))
#display x:
print(x)
#display the data type of x:
print(type(x))
range
x = range(6)
#display x:
print(x)
#display the data type of x:
print(type(x))
dict
x = dict(name="John", age=36)
#display x:
print(x)
#display the data type of x:
print(type(x))
set
x = set(("apple", "banana", "cherry"))
#display x:
print(x)
#display the data type of x:
print(type(x))
frozenset
x = frozenset(("apple", "banana",
"cherry"))
#display x:
print(x)
#display the data type of x:
bool
x = bool(5)
#display x:
print(x)
#display the data type of x:
print(type(x))
bytes
x = bytes(5)
#display x:
print(x)
#display the data type of x:
print(type(x))
byte array
x = bytes(5)
#display x:
print(x)
#display the data type of x:
print(type(x))
memory view
x = memoryview(bytes(5))
#display x:
print(x)
#display the data type of x:
print(type(x))
Python Numbers
There are three numeric types in Python:
int
float
complex
Variables of numeric types are created
when you assign a value to them:
Example
x = 1 # int
y = 2.8 # float
z = 1j # complex
To verify the type of any object in
Example
print(type(x))
print(type(y))
print(type(z))
<class 'int'>
<class 'float'>
<class 'complex'>
Int
Int, or integer, is a whole number,
positive or negative, without decimals, of
unlimited length.
Example
Integers:
x = 1
y = 35656222554887711
z = -3255522
print(type(x))
print(type(y))
print(type(z))
<class 'int'>
<class 'int'>
<class 'int'>
Float
Float, or "floating point number" is a
number, positive or negative, containing
one or more decimals.
Example
Floats:
x = 1.10
y = 1.0
z = -35.59
print(type(x))
print(type(y))
print(type(z))
<class 'float'>
Float can also be scientific numbers with
an "e" to indicate the power of 10.
Example
Floats:
x = 35e3
y = 12E4
z = -87.7e100
print(type(x))
print(type(y))
print(type(z))
<class 'float'>
<class 'float'>
<class 'float'>
Complex
Complex numbers are written with a "j"
as the imaginary part:
Example
Complex:
x = 3+5j
y = 5j
z = -5j
print(type(x))
print(type(y))
print(type(z))
<class 'complex'>
<class 'complex'>
Type Conversion
You can convert from one type to
another with the int(), float(),
and complex() methods:
Example
Convert from one type to another:
x = 1 # int
y = 2.8 # float
z = 1j # complex
#convert from int to float:
a = float(x)
print(a)
print(b)
print(c)
print(type(a))
print(type(b))
print(type(c))
1.0
2
(1+0j)
<class 'float'>
<class 'int'>
<class 'complex'>
Random Number
Python does not have
a random() function to make a random
number, but Python has a built-in module
called random that can be used to make
random numbers:
Example
Import the random module, and display a
random number between 1 and 9:
import random
print([Link](1, 10))
3
Python Casting
Specify a Variable Type
There may be times when you want to
specify a type on to a variable. This can
be done with casting. Python is an object-
orientated language, and as such it uses
classes to define data types, including its
primitive types.
Casting in python is therefore done using
constructor functions:
int() - constructs an integer number from
an integer literal, a float literal (by
removing all decimals), or a string literal
(providing the string represents a whole
number)
float() - constructs a float number from
an integer literal, a float literal or a string
literal (providing the string represents a
float or an integer)
str() - constructs a string from a wide
variety of data types, including strings,
integer literals and float literals
Example
Integers:
x = int(1) # x will be 1
y = int(2.8) # y will be 2
z = int("3") # z will be 3
x = int(1)
y = int(2.8)
z = int("3")
print(x)
print(y)
print(z)
Float
x = float(1)
y = float(2.8)
z = float("3")
w = float("4.2")
print(x)
print(y)
print(z)
print(w)
1.0
2.8
Stings
x = str("s1")
y = str(2)
z = str(3.0)
print(x)
print(y)
print(z)
s1
2
3.0
Strings
Strings in python are surrounded by
either single quotation marks, or double
quotation marks.
'hello' is the same as "hello".
You can display a string literal with
the print() function:
#You can use double or single quotes:
print("Hello")
print('Hello')
Quotes Inside Quotes
print("It's alright")
print("He is called 'Johnny'")
print('He is called "Johnny"')
It's alright
He is called 'Johnny'
He is called "Johnny"
Assign String to a Variable
Assigning a string to a variable is done
with the variable name followed by an
equal sign and the string:
a = "Hello"
print(a)
Hello
Multiline Strings
You can assign a multiline string to a
variable by using three quotes:
Example
You can use three double quotes:
a = """Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua."""
print(a)
Or three single quotes:
Example
a = '''Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.'''
print(a)
Strings are Arrays
Like many other popular programming
languages, strings in Python are arrays of
bytes representing unicode characters.
However, Python does not have a
character data type, a single character is
simply a string with a length of 1.
Square brackets can be used to access
elements of the string.
Example
Get the character at position 1 (remember that the first
character has the position 0):
a = "Hello, World!"
print(a[1])
e
Looping Through a String
Since strings are arrays, we can loop through the
characters in a string, with a for loop.
Example
Loop through the letters in the word "banana":
for x in "banana":
print(x)
b
a
n
a
String Length
To get the length of a string, use
the len() function.
Example
The len() function returns the length of a
string:
a = "Hello, World!"
print(len(a))
13
Check String
To check if a certain phrase or character
is present in a string, we can use the
keyword in.
Example
Check if "free" is present in the following
text:
txt = "The best things in life are free!"
print("free" in txt)
True
Use it in an if statement:
Example
Print only if "free" is present:
txt = "The best things in life are free!"
if "free" in txt:
print("Yes, 'free' is present.")
Yes, 'free' is present.
Check if NOT
To check if a certain phrase or character
is NOT present in a string, we can use
the keyword not in.
Example
Check if "expensive" is NOT present in
the following text:
txt = "The best things in life are free!"
print("expensive" not in txt)
True
Use it in an if statement:
Example
print only if "expensive" is NOT present:
txt = "The best things in life are free!"
if "expensive" not in txt:
print("No, 'expensive' is NOT present.")
No, 'expensive' is NOT present.
Slicing
You can return a range of characters by
using the slice syntax.
Specify the start index and the end
index, separated by a colon, to return a
part of the string.
Example
Get the characters from position 2 to
position 5 (not included):
b = "Hello, World!"
print(b[2:5])
llo
Slice From the Start
By leaving out the start index, the range
will start at the first character:
Example
Get the characters from the start to
position 5 (not included):
b = "Hello, World!"
print(b[:5])
Slice To the End
By leaving out the end index, the range
will go to the end:
Example
Get the characters from position 2, and
all the way to the end:
b = "Hello, World!"
print(b[2:])
Negative Indexing
Use negative indexes to start the slice
from the end of the string:
Example
Get the characters:
From: "o" in "World!" (position -5)
To, but not included: "d" in "World!"
(position -2):
b = "Hello, World!"
print(b[-5:-2])
orl
Python - Modify Strings
Python has a set of built-in methods that
you can use on strings.
Upper Case
Example
The upper() method returns the string in
upper case:
a = "Hello, World!"
print([Link]())
HELLO, WORLD!
Lower Case
Example
Remove Whitespace
Whitespace is the space before and/or
after the actual text, and very often you
want to remove this space.
Example
The strip() method removes any
whitespace from the beginning or the
end:
a = " Hello, World! "
print([Link]()) # returns "Hello, World!"
Hello, World!
Replace String
Example
The replace() method replaces a string
with another string:
a = "Hello, World!"
print([Link]("H", "J"))
Jello, World!
Split String
The split() method returns a list where
the text between the specified separator
becomes the list items.
Example
The split() method splits the string into
substrings if it finds instances of the
separator:
a = "Hello, World!"
print([Link](",")) # returns ['Hello', '
World!']
['Hello', ' World!']
String Methods
String Concatenation
To concatenate, or combine, two strings
you can use the + operator.
Example
Merge variable a with variable b into
variable c:
a = "Hello"
b = "World"
c=a+b
print(c)
HelloWorld
Example
To add a space between them, add a " ":
a = "Hello"
b = "World"
c=a+""+b
print(c)
Hello World
String Format
As we learned in the Python Variables
chapter, we cannot combine strings and
numbers like this:
Example
age = 36
txt = "My name is John, I am " + age
print(txt)
raceback (most recent call last):
File "demo_string_format_error.py", line
2, in <module>
txt = "My name is John, I am " + age
TypeError: must be str, not int
But we can combine strings and numbers by
using f-strings or the format() method!
F-Strings
F-String was introduced in Python 3.6, and is now
the preferred way of formatting strings.
To specify a string as an f-string, simply put an f in
front of the string literal, and add curly
brackets {} as placeholders for variables and other
operations.
Example
Create an f-string:
age = 36
txt = f"My name is John, I am {age}"
print(txt)
My name is John, I am 36
Placeholders and Modifiers
A placeholder can contain variables,
operations, functions, and modifiers to
format the value.
Example
Add a placeholder for the price variable:
price = 59
txt = f"The price is {price} dollars"
print(txt)
The price is 59 dollars
A placeholder can include a modifier to
format the value.
A modifier is included by adding a
colon : followed by a legal formatting
type, like .2f which means fixed point
number with 2 decimals:
Example
Display the price with 2 decimals:
price = 59
txt = f"The price is {price:.2f} dollars"
print(txt)
The price is 59.00 dollars
A placeholder can contain Python code,
like math operations:
Example
Perform a math operation in the
placeholder, and return the result:
txt = f"The price is {20 * 59} dollars"
print(txt)
The price is 1180 dollars
Escape Character
To insert characters that are illegal in a
string, use an escape character.
An escape character is a
backslash \ followed by the character you
want to insert.
An example of an illegal character is a
double quote inside a string that is
surrounded by double quotes:
Example
You will get an error if you use double
quotes inside a string that is surrounded
by double quotes:
txt = "We are the so-called "Vikings" from
the north."
File "demo_string_escape_error.py", line 1
txt = "We are the so-called "Vikings"
from the north."
^
SyntaxError: invalid syntax
To fix this problem, use the escape
character \":
Example
The escape character allows you to use
double quotes when you normally would
not be allowed:
txt = "We are the so-called \"Vikings\"
from the north."
We are the so-called "Vikings" from the
north.
Escape Characters
\'
Single Quote
txt = 'It\'s alright.'
print(txt)
\\
Backslash
txt = "This will insert one \\ (backslash)."
print(txt)
This will insert one \ (backslash).
\n
New Line
txt = "Hello\nWorld!"
print(txt)
Hello
World!
\r
Carriage Return
txt = "Hello\rWorld!"
print(txt)
Hello
World!
\t
Tab
txt = "Hello\tWorld!"
print(txt)
\b
Backspace
#This example erases one character
(backspace):
txt = "Hello \bWorld!"
print(txt)
HelloWorld!
\f
Form Feed
String Methods
Python has a set of built-in methods that you can
use on strings.
Python String capitalize() Method
Upper case the first letter in this sentence:
txt = "hello, and welcome to my world.“
x = [Link]()
print (x)
Hello, and welcome to my world.
Definition and Usage
The capitalize() method returns a string where the
first character is upper case, and the rest is lower
case.
Syntax
[Link]()
Example
The first character is converted to upper
case, and the rest are converted to lower
case:
txt = "python is FUN!“
x = [Link]()
print (x)
txt = "python is FUN!“
x = [Link]()
print (x)
Example
See what happens if the first character is
a number:
txt = "36 is my age.“
x = [Link]()
print (x)
36 is my age
casefold()
Converts string into lower case
Example
Make the string lower case:
txt = "Hello, And Welcome To My World!“
x = [Link]()
print(x)
hello, and welcome to my world!
Definition and Usage
The casefold() method returns a string where
all the characters are lower case.
This method is similar to the lower()
method, but the casefold() method is
stronger, more aggressive, meaning that
it will convert more characters into lower
case, and will find more matches when
comparing two strings and both are
converted using the casefold() method.
Syntax
[Link]()