DEV Community

Cover image for Python Cheat-Sheet
Kaemon Lovendahl
Kaemon Lovendahl

Posted on • Originally published at glitchedgoblet.blog

Python Cheat-Sheet

Intro

Happy revenge of the fifth! This week, I've been working with Python as I learn more about Machine Learning. I thought it'd be a good idea to put together a cheat-sheet that summarizes some of the things I've learned so far. This is a work in progress, and I will be adding more to it as I learn more.

Basics

Comments, variable assignment, adding, conditionals and printing.

rarecandy_count = 0
print(rarecandy_count)

# Found 4 more Rare Candy while exploring Route 119
rarecandy_count = rarecandy_count + 4

if rarecandy_count > 0:
    print("Sweet! Time to grind some levels.")

battle_cry = "Pika! " * rarecandy_count
print(battle_cry)
Enter fullscreen mode Exit fullscreen mode

Output:

0
Sweet! Time to grind some levels.
Pika! Pika! Pika! Pika!

Arithmetic in Python

Python follows PEMDAS (Parentheses, Exponents, Multiplication and Division, Addition and Subtraction) order of operations.

Operator Name Description
a + b Addition Sum of a and b
a - b Subtraction Difference of a and b
a * b Multiplication Product of a and b
a / b True division Quotient of a and b
a // b Floor division Quotient of a and b, removing fractional parts
a % b Modulus Integer remainder after division of a by b
a ** b Exponentiation a raised to the power of b
-a Negation The negative of a

Easily call mathematical functions.

min(12, 25, 7)     # 7
max(31, 4, 18)     # 31
abs(-42)           # 42
float(10)          # 10.0
int("256")         # 256
Enter fullscreen mode Exit fullscreen mode

Note: float and int are functions that convert values to float and int respectively.

Functions

help

The help() function is used to display the documentation of a function or module. It provides information about the function's parameters, return values, and usage examples.

help(round)
Enter fullscreen mode Exit fullscreen mode

help displays two things:

  • The header of the function round(number, ndigits=None)
  • A brief description of what the function does

Defining Functions

Functions are defined using the def keyword, followed by the function name and parentheses. The function body is everything indented after the : and contains the code that will be executed when the function is called.

return is another keyword uniquely associated with functions. When a return statement is used, it exits the function immediately, and passes the value on the right hand side to the calling context.

def least_difference(a, b, c):
    diff1 = abs(a - b)
    diff2 = abs(b - c)
    diff3 = abs(a - c)
    return min(diff1, diff2, diff3)
Enter fullscreen mode Exit fullscreen mode

Docstrings

Docstrings are a way to document functions in Python. They are written as a string immediately after the function definition and can be accessed using the __doc__ attribute of the function.

def least_difference(a, b, c):
    """Return the smallest difference among a, b and c.

    >>> least_difference(33, 45, 29)
    4
    """
    diff1 = abs(a - b)
    diff2 = abs(b - c)
    diff3 = abs(a - c)
    return min(diff1, diff2, diff3)
Enter fullscreen mode Exit fullscreen mode

Now when help is called using the above function, it will display the docstring as well.

None

None is a special value in Python that represents the absence of a value or a null value. It is often used as a default return value for functions that do not explicitly return a value.

Default Arguments

Default arguments are values that are assigned to function parameters if no value is provided when the function is called. They are defined in the function signature by assigning a value to the parameter.

def print_hello(name="World"):
    print("Hello, " + name + "!")

print_hello() # Hello, World!
Enter fullscreen mode Exit fullscreen mode

Booleans and Conditionals

Operation Descriptions
a == b a equal to b
a < b a less than b
a <= b a less than or equal to b
a != b a not equal to b
a > b a greater than b
a >= b a greater than or equal to b

3.0 == 3 => True, '3' == 3 => False

And, Or, Or Not

and, or, and not are logical operators in Python. They are used to combine or negate boolean expressions.

a = True
b = False
print(a and b) # False
print(a or b) # True
print(not a) # False
Enter fullscreen mode Exit fullscreen mode

If Statements

Python uses if, elif and else statements.

Note: Python uses indentation to define blocks of code. Make sure to use consistent indentation (spaces or tabs) throughout your code.

def inspect(x):
    if x == 0:
        print(x, "is zero")
    elif x > 0:
        print(x, "is positive")
    elif x < 0:
        print(x, "is negative")
    else:
        print(x, "is... something else")

Enter fullscreen mode Exit fullscreen mode

Similar to int() and float(), you can use bool() to convert values to boolean. Additionally, python will implicitly convert values to boolean in a conditional statement.

You can also use if statements in a single line.

print("Shiny!") if is_shiny else print("Regular.")
Enter fullscreen mode Exit fullscreen mode

Python will implicitly add together booleans as integers without any issues.

print(True + True) # 2
print(True + False) # 1
print(False + False) # 0

caught = True + False + True # 2
Enter fullscreen mode Exit fullscreen mode

Lists

Lists are ordered collections of items. They can contain any type of data, including other lists. Lists are defined using square brackets [] and can be indexed using zero-based indexing.

pokemon = [
    "Chikorita", "Cyndaquil", "Totodile", # Johto starters
    "Treecko", "Torchic", "Mudkip", # Hoenn starters
    "Gardevoir", "Metagross" # Fan-faves
]

pokemon[0] # 'Chikorita'
pokemon[-1] # 'Metagross'
pokemon[2:5] # ['Totodile', 'Treecko', 'Torchic']
Enter fullscreen mode Exit fullscreen mode

Lists are mutable, meaning you can change their contents after they are created. You can add, remove, or modify items in a list.

pokemon[0] = "Bayleef" # Chikorita evolved
Enter fullscreen mode Exit fullscreen mode

Slicing

Python can slice lists using the : operator. The first number is the starting index, and the second number is the ending index (exclusive). You can also use negative indices to count from the end of the list.

# Grab the first three pokemon
pokemon[0:3] # ['Chikorita', 'Cyndaquil', 'Totodile']
# Grab the full list starting at index 3
pokemon[3:] # ['Treecko', 'Torchic', 'Mudkip', 'Gardevoir', 'Metagross']
# Grab the full list up to index 3
pokemon[:3] # ['Chikorita', 'Cyndaquil', 'Totodile']
# Grab the full list except for the first and last pokemon
pokemon[1:-1] # ['Cyndaquil', 'Totodile', 'Treecko', 'Torchic', 'Mudkip', 'Gardevoir']
# Grab the last 3 items
pokemon[-3:] # ['Mudkip', 'Gardevoir', 'Metagross']
Enter fullscreen mode Exit fullscreen mode

List Functions

  • len() - Returns the length of a list.
  • sorted() - Returns a sorted copy of a list. (strs are sorted alphabetically)
  • sum() - Returns the sum of all items in a list.
  • min() - Returns the smallest item in a list.
  • max() - Returns the largest item in a list.

List Methods

  • append() - Adds an item to the end of a list.
  • pop() - Removes and returns the last item from a list.
  • index() - Returns the index of the first occurrence of an item in a list.
  • clear() - Removes all items from a list.
  • insert() - Inserts an item at a specified index in a list.
  • remove() - Removes the first occurrence of an item from a list.
  • copy() - Returns a shallow copy of a list.

To determine if an item is in a list, you can use the in operator.

"Mudkip" in pokemon # True
Enter fullscreen mode Exit fullscreen mode

Tuples

Tuples are very similar to Lists, but they differ in a few key ways:

  • Tuples are immutable, meaning you cannot change their contents after they are created.
  • Tuples are defined using parentheses () instead of square brackets [].
legendary_pair = ("Latios", "Latias")
legendary_pair = "latios", "latias" # Same thing
Enter fullscreen mode Exit fullscreen mode

Objects

Similar to JavaScript, everything in Python is an object. This includes functions, classes, and modules. You can use the type() function to check the type of an object.

A function attached to an object is called a method

Loops

The for in loop is used to iterate over a sequence (like a list or string) and execute a block of code for each item in the sequence. We can use this to iterate over lists, tuples, strings, and dictionaries.

for poke in pokemon:
    print(f"{poke} used TACKLE!")
Enter fullscreen mode Exit fullscreen mode

range() is a built-in function that generates a sequence of numbers. It can be used in for loops to iterate over a range of numbers, or to do something a specific number of times.

for i in range(3):
    print("Battle", i)
Enter fullscreen mode Exit fullscreen mode

A while loop is used to execute a block of code as long as a condition is true. It is often used when the number of iterations is not known in advance.

hp = 20
while hp > 0:
    print("Taking damage!")
    hp -= 5
Enter fullscreen mode Exit fullscreen mode

list comprehension is a concise way to create lists in Python. It allows you to create a new list by applying an expression to each item in an existing list.

squares = [x**2 for x in range(10)]
print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Enter fullscreen mode Exit fullscreen mode

another example using the pokemon list:

loud_pokemon = [poke.upper() + '!' for poke in pokemon if len(poke) < 8]
loud_pokemon
# ['TREECKO!', 'TORCHIC!', 'MUDKIP!']
Enter fullscreen mode Exit fullscreen mode

Note: A helpful trick to wrap your head around list comprehensions is to think of SQL SELECT, FROM, WHERE.

[
  poke.upper() + '!' # SELECT
  for poke in pokemon # FROM
  if len(poke) < 6 # WHERE
]
Enter fullscreen mode Exit fullscreen mode

Strings

You can use triple quotes to create multi-line strings. Triple quotes can also be used to create docstrings.

"""Prepare for trouble,
and make it double!"""
Enter fullscreen mode Exit fullscreen mode

String Methods

  • upper() - Converts a string to uppercase.
  • lower() - Converts a string to lowercase.
  • startswith() - Checks if a string starts with a specified substring.
  • endswith() - Checks if a string ends with a specified substring.
  • split() - Splits a string into a list of substrings based on a specified delimiter.
  • join() - Joins a list of strings into a single string using a specified delimiter.

format is a method that allows you to format strings by replacing placeholders with values. It is similar to string interpolation in other languages.

trainer = "May"
badges = 8
progress = "{} collected {} badges!".format(trainer, badges)
print(progress) # May collected 8 badges!
Enter fullscreen mode Exit fullscreen mode

Additionally, you can use f-strings (formatted string literals) to format strings in Python 3.6 and later. F-strings are prefixed with f and allow you to embed expressions inside curly braces {}.

# Using the values from above
print(f"{trainer} collected {badges} badges!")  # May collected 8 badges!
Enter fullscreen mode Exit fullscreen mode

Dictionaries

Dictionaries are unordered collections of key-value pairs. They are defined using curly braces {} and can be indexed using keys.

types = {
    "Chikorita": "Grass",
    "Cyndaquil": "Fire",
    "Totodile":  "Water",
    "Treecko":   "Grass",
    "Torchic":   "Fire",
    "Mudkip":    "Water",
    "Gardevoir": "Psychic",
    "Metagross": "Steel"
}

types["Totodile"]  # 'Water'

initials = {name: name[0] for name in types}
# {'Chikorita': 'C', 'Cyndaquil': 'C', ...}
Enter fullscreen mode Exit fullscreen mode

Note: The in operator can be used to check if a key exists in a dictionary.

"Umbreon" in types # False
Enter fullscreen mode Exit fullscreen mode

A for loop can be used to iterate over the keys in a dictionary.

for poke in pokemon:
    print(poke)
Enter fullscreen mode Exit fullscreen mode

Dictionary Methods

  • keys() - Returns a list of keys in a dictionary.
  • values() - Returns a list of values in a dictionary.
  • items() - Returns a list of key-value pairs in a dictionary.
for name, poke_type in types.items():
    print(f"{name:>10}{poke_type}")
Enter fullscreen mode Exit fullscreen mode

Top comments (0)