Python Cheatsheet: The Basics
Python Data Types
String
Series of characters or data stored as text
my_string = "Hello"
String Operations
# returns the string with all uppercase letters
my_string.upper()
# returns the length of a string
len(my_string)
# returns the index of the first instance of the string inside the
# subject string, otherwise -1
my_string.find('l')
# replaces any instance of the first string with the second in my_string
my_string.replace('H', 'C')
Integer
A whole number
my_integer = 12321
Boolean
Discrete value true or false
a = True
b = False
Dictionary
Changeable collection of key value pairs
my_dictionary = {'banana': 1, 12: 'laptop', (0,0):'center'}
Dictionary Operations
Changeable collection of key value pairs
# Access value using key
my_dictionary['banana']
# Get all keys in a dictionary as a list
my_dictionary.keys()
# Get all values in a dictionary as a list
my_dictionary.values()
Tuple
Unchangeable collection of objects
# Access value using key
tup = (1, 3.12, False, "Hi")
List
Changeable collection of objects
my_collection = [1, 1, 3.12, False, "Hi" ]
List Operations
# returns the length of a list
len(my_collection)
# Add multiple items to a list
my_collection.extend([ "More", "Items"])
# Add a single item to a list
my_collection.append("Single")
# Delete the object of a list at a specified index
del(my_collection[2])
# Clone a list
clone = my_collection[:]
# Concatenate two lists
my_collection_2 = ["a", "b", "c"]
my_collection_3 = my_collection + my_collection_2
# Calculate the sum of a list of ints or floats
number_collection = [1,2,3,4.5]
sum(number_collection)
# Check if an item is in a list, returns Boolean
item in my_collection
# Check if an item is not in a list, returns Boolean
item not in my_collection
Set
Unordered collection of unique objects
a = {100, 3.12, False, "Bye"}
b = {100, 3.12, "Welcome"}
Set Operations
# Convert a list to a set
my_set = set([1,1,2,3])
# Add an item to the set
a.add(4)
# Remove an item from a set
a.remove("Bye")
# Returns set a minus b
a.difference(b)
# Returns intersection of set a and b
a.intersection(b)
# Returns the union of set a and b
a.union(b)
# Returns True if a is a subset of b, false otherwise
a.issubset(b)
# Returns True if a is a superset of b, false otherwise
a.issuperset(b)
Indexing
Accessing data from a string, list, or tuple using an element number
my_string[element_number]
my_collection[element_number]
my_tup[element_number]
Slicing
Accessing a subset of data from a string, list, or tuple using element numbers from start to stop -1
my_string[start:stop]
my_collection[start:stop]
my_tup[start:stop]
Comparison Operators
Comparison Operators compare operands and return a result of true or false
Equal
a == b
Less Than
a < b
Greater Than
a > b
Greater Than or Equal
a >= b
Less Than or Equal
a <= b
Not Equal
a != b
Python Operators
+
Addition-
Subtraction*
Multiplication/
division//
Integer Division (Result rounded to the nearest integer)
Operator precedence
Operator | Precedence |
---|---|
Parenthesis | ( ) |
Unary | negative (- ), logical NOT (! ) |
Multiplication | * , / ,% |
Additive | + , - |
Relational | < , > , <= , >= |
Equality | == , != |
Logical AND | && |
Logical OR | || |
It's considered good practice to utilise parentheses ( ) to specify to Python which operation should be performed first. The operations within the parentheses will take precedence over all other operations.
Example 1:
# Order of arithmetic operations
print(1 + 2 * 3 + 4)
# Output
11
Example 2:
# Use parentheses to determine the order of computation
print((1 + 2) * (3 + 4))
# output
21
Conditional Operators
Conditional Operators evaluate the operands and produce a true of false result
And
- returns true if both statement a and b are true
, otherwise false
a and b
Or
- returns true if either statement a or b are true
, otherwise false
a or b
Not
- returns the opposite of the statement
not a
Loops
For Loops
for x in range(x):
# Executes loop x number of times
for x in iterable:
# Executes loop for each object in an iterable like a string, tuple,
list, or set
While Loops
while statement:
# Executes the loop while statement is true
Conditional Statements
if statement_1:
# Execute of statement_1 is true
elif statement_2:
# Execute if statement_1 is false and statement_2 is true
else:
# Execute if all previous statements are false
Try/Except
try:
# Code to try to execute
except a:
# Code to execute if there is an error of type a
except b:
# Code to execute if there is an error of type b
except:
# Code to execute if there is any exception that has not been handled
else:
# Code to execute if there is no exception
Error Types
- IndexError - When an index is out of range
- NameError - When a variable name is not found
- SyntaxError - When there is an error with how the code is written
- ZeroDivisionError - When your code tries to divide by zero
Range
Produce an iterable sequence from 0 to stop-1
range(stop)
Produce an iterable sequence from start to stop-1 incrementing by step
range(start, stop, step)
Webscraping
# Import BeautifulSoup
from bs4 import BeautifulSoup
# Parse HTML stored as a string
soup = BeautifulSoup(html, 'html5lib')
# Returns formatted html
soup.prettify()
# Find the first instance of an HTML tag
soup.find(tag)
# Find all instances of an HTML tag
soup.find_all(tag)
Requests
# Import the requests library
import requests
# Send a get requests to the url with optional parameters
response = requests.get(url, parameters)
# Get the url of the response
response.url
# Get the status code of the response
response.status_code
# Get the headers of the request
response.request.headers
# Get the body of the requests
response.request.body
# Get the headers of the response
response.headers
# Get the content of the response in text
response.text
# Get the content of the response in json
response.json()
# Send a post requests to the url with optional parameters
requests.post(url, parameters)
Functions
# Create a function
def function_name(optional_parameter_1, optional_prameter_2):
# code to execute
return optional_output
# Calling a function
output = function_name(parameter_1, parameter_2)
Working with Files
Reading a File
# Opens a file in read mode
file = open(file_name, "r")
# Returns the file name
file.name
# Returns the mode the file was opened in
file.mode
# Reads the contents of a file
file.read()
# Reads a certain number of characters of a file
file.read(characters)
# Read a single line of a file
file.readline()
# Read all the lines of a file and stores it in a list
file.readlines()
# Closes a file
file.close()
Writing to a File
# Opens a file in write mode
file = open(file_name, "w" )
# Writes content to a file
file.write(content)
# Adds content to the end of a file
file.append(content)
Objects and Classes
# Creating a class
class class_name:
def __init__(self, optional_parameter_1, optional_parameter_2):
self.attribute_1 = optional_parameter_1
self.attribute_2 = optional_parameter_2
def method_name(self, optional_parameter_1):
# Code to execute
return optional_output
# Create an instance of a class
object = class_name(parameter_1, parameter_2)
# Calling an object method
object.method_name(parameter_3)
Example implementation:
# Creating a class
class ClassName:
def __init__(self, optional_parameter_1, optional_parameter_2):
self.attribute_1 = optional_parameter_1
self.attribute_2 = optional_parameter_2
def method_name(self, optional_parameter_1):
# Code to execute
# For example, let's return the sum of attribute_1, attribute_2, and optional_parameter_1
return self.attribute_1 + self.attribute_2 + optional_parameter_1
# Create an instance of a class
parameter_1 = 5
parameter_2 = 10
object = ClassName(parameter_1, parameter_2)
# Calling an object method
parameter_3 = 7
result = object.method_name(parameter_3)
print(result) # Output: 22 (5 + 10 + 7)
You might be thinking, can I do like this 👇?
result = object(1, 2) # it will raise a TypeError
No, you cannot do result = object(1, 2)
as it will raise a TypeError
.
In Python, you can create an instance of a class by calling the class name followed by parentheses with any required arguments. When you do object = ClassName(parameter_1, parameter_2)
, you create an instance of the ClassName
class and store it in the variable object
.
After creating the object, you can then call the methods of the class using the object, as shown in the previous examples. However, the object itself is not callable like a function, so you cannot use it as result = object(1, 2)
.
If you want to call the method_name
method and get a result using the object, you should do it like this:
Remember, in Python, you can only call methods of a class using the object, not the object itself as a callable.
Post Tags: