Python Cheat Sheet
Python Cheat Sheet
Juma Shafara
DATAIDEA (www.dataidea.org)
1st Edition
Hi! My name is Juma Shafara. I’m a Machine Learning Software Engineer with a
Bachelor’s of Statistics, over 4 years of experience in programming and I’ve taught
over 100 people how to code. It’s my mission to make programming simple and
accessible to everyone.
Contact:
+ 256 771754118
+256 701520768
[email protected]
[email protected]
Price = 10
rating = 4.9
is_published = True
Comments
We use comments to add notes to our code. Good comments explain the hows and
whys, not what the code does. That should be reflected in the code itself. Use
comments to add reminders to yourself or other developers, or also explain your
assumptions and the reasons you’ve written code in a certain way.
Receiving Input
We can receive input from the user by calling the input() function.
The input() function always returns data as a string. So, we’re converting the
result into an integer by calling the built-in int() function.
Strings
We can define strings using single (‘ ‘) or double (“ “) quotes.
To define a multi-line string, we surround our string with tripe quotes (“””).
We can get individual characters in a string using square brackets [].
course[1:5]
The above expression returns all the characters starting from the index position of 1
to 5 (but excluding 5). The result will be ytho
If we leave out the start index, 0 will be assumed.
If we leave out the end index, the length of the string will be assumed.
We can use formatted strings to dynamically insert values into our strings:
name = ‘Viola’
message = f’Hi, my name is {name}’
message.replace(‘l’, ‘q’)
Arithmetic Operations
+
/ # returns a float
// # returns an int
x = x + 10
x += 10
Operator precedence:
1. parenthesis
2. exponentiation
3. multiplication / division
4. addition / subtraction
If Statements
if is_hot:
print(“hot day”)
elif is_cold:
print(“cold day”)
else:
print(“beautiful day”)
Logical operators:
if has_high_income and has_good_credit:
…
if has_high_income or has_good_credit:
…
is_day = True
Comparison operators
a > b
a < b
a <= b
a == b (equals)
a != b (not equals)
While loops
i = 1
while i < 5:
print(i)
i += 1
For loops
for i in range(1, 5):
print(i)
• range(5): generates 0, 1, 2, 3, 4
• range(1, 5): generates 1, 2, 3, 4
• range(1, 5, 2): generates 1, 3
Lists
Numbers = [1, 2, 3, 4, 5]
Indexing:
numbers[0] # returns the first item
numbers[1] # returns the second item
numbers[-1] # returns the first item from the end
numbers[-2] # returns the second item from the end
List Methods:
numbers.append(6) # adds 6 to the end
numbers.insert(0, 6) # adds 6 at index position of 0
numbers.remove(6) # removes 6
numbers.pop() # removes the last item
numbers.clear() # removes all the items
numbers.index(8) # returns the index of first occurrence of 8
numbers.sort() # sorts the list
numbers.reverse() # reverses the list
numbers.copy() # returns a copy of the list
Tuples
They are like read-only lists. We use them to store a list of items. But once we
define a tuple, we cannot add or remove items or change the existing items.
Coordinates = (1, 2, 3)
x, y, z = coordinates
Dictionaries
We use dictionaries to store key/value pairs.
customer = {
“name”: “John Smith”,
“age”: 30,
“is_verified”: True
}
We can use strings or numbers to define keys. They should be unique. We can use
any types for the values.
Functions
We use functions to break up our code into small chunks. These chunks are easier
to read, understand and maintain. If there are bugs, it’s easier to find bugs in a
small chunk than the entire program. We can also re-use these chunks.
def greet_user(name):
print(f”Hi {name}”)
greet_user(“John”)
# Keyword arguments
calculate_total(order=50, shipping=5, tax=0.1)
Our functions can return values. If we don’t use the return statement, by default
None is returned. None is an object that represents the absence of a value.
def square(number):
return number * number
result = square(2)
print(result) # prints 4
Exceptions
Exceptions are errors that crash our programs. They often happen because of bad
input or programming errors. It’s our job to anticipate and handle these exceptions
to prevent our programs from cashing.
try:
age = int(input(‘Age: ‘))
income = 20000
risk = income / age
print(age)
except ValueError:
print(‘Not a valid number’)
except ZeroDivisionError:
print(‘Age cannot be 0’)
Classes
We use classes to define new types.
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def move(self):
print(“move”)
point1 = Point(10, 5)
point2 = Point(2, 4)
Inheritance
Inheritance is a technique to remove code duplication. We can create a base class
to define the common methods and then have other classes inherit these methods.
class Mammal:
def walk(self):
print(“walk”)
class Dog(Mammal):
def bark(self):
print(“bark”)
dog = Dog()
dog.walk() # inherited from Mammal
dog.bark() # defined in Dog
Modules
A module is a file with some Python code. We use modules to break up our
program into multiple files. This way, our code will be better organized. We won’t
have one gigantic file with a million lines of code in it!
There are 2 ways to import modules: we can import the entire module, or specific
objects in a module.
Packages
A package is a directory with __init__.py in it. It can contain one or more
modules.
Random Module
import random
random.random() # returns a float between 0 to 1
random.randint(1, 6) # returns an int between 1 to 6
The price is $50 per month (you can stop paying once you feel ready to move) but if
you are lucky to be among the first 10 people to have this cheetsheet, you can get it
for $30 per month by emailing me the code CHEATSHEET10 at
[email protected]