KEMBAR78
Python Cheat Sheet & Quick Reference......................pdf
QuickRef.ME Search for cheatsheet ⌘ K Follow Me
Python cheatsheet
The Python cheat sheet is a one-page reference sheet for the Python 3 programming
language.
Stars
Stars 7.8k
7.8k
# Getting Started
Python (python.org)
Learn X in Y minutes
(learnxinyminutes.com)
Regex in python (quickref.me) The famous "Hello World" program in
Python
>>> print("Hello, World!")
Hello, World!
Python can't declare a variable without
assignment.
age = 18 # age is of type int
name = "John" # name is now of type
print(name)
str Text
int, float, complex Numeric
list, tuple, range Sequence
dict Mapping
set, frozenset Set
bool Boolean
bytes, bytearray, memoryview Binary
See: Data Types
See: Strings
>>> msg = "Hello, World!"
>>> print(msg[2:5])
llo
See: Lists
mylist = []
mylist.append(1)
mylist.append(2)
for item in mylist:
print(item) # prints out 1,2
See: Flow control
num = 200
if num > 0:
print("num is greater than 0")
else:
print("num is not greater than 0
See: Loops
for item in range(6):
if item == 3: break
print(item)
else:
print("Finally finished!")
See: Functions
>>> def my_function():
... print("Hello from a function
...
>>> my_function()
Hello from a function
See: File Handling
with open("myfile.txt", "r", encoding='utf8') as file:
for line in file:
print(line)
Introduction Hello World Variables
Data Types Slicing String Lists
If Else Loops
Functions File Handling
Arithmetic Plus-Equals f-Strings (Python 3.6+)
The / means quotient of x and y, and the //
result = 10 + 30 # => 40
result = 40 - 10 # => 30
result = 50 * 5 # => 250
result = 16 / 4 # => 4.0 (Float Div
result = 16 // 4 # => 4 (Integer Div
result = 25 % 2 # => 1
result = 5 ** 3 # => 125
counter = 0
counter += 10 # => 10
counter = 0
counter = counter + 10 # => 10
message = "Part 1."
# => Part 1.Part 2.
message += "Part 2."
>>> website = 'Quickref.ME'
>>> f"Hello, {website}"
"Hello, Quickref.ME"
>>> num = 10
>>> f'{num} + 10 = {num + 10}'
'10 + 10 = 20'
# Python Built-in Data Types
See: Strings
hello = "Hello World"
hello = 'Hello World'
multi_string = """Multiline Strings
Lorem ipsum dolor sit amet,
consectetur adipiscing elit """
x = 1 # int
y = 2.8 # float
z = 1j # complex
>>> print(type(x))
<class 'int'>
my_bool = True
my_bool = False
bool(0) # => False
bool(1) # => True
See: Lists
list1 = ["apple", "banana", "cherry"
list2 = [True, False, False]
list3 = [1, 5, 7, 9, 3]
list4 = list((1, 5, 7, 9, 3))
Similar to List but immutable
my_tuple = (1, 2, 3)
my_tuple = tuple((1, 2, 3))
Set of unique items/objects
set1 = {"a", "b", "c"}
set2 = set(("a", "b", "c"))
Key: Value pair, JSON like object
>>> empty_dict = {}
>>> a = {"one": 1, "two": 2,
"three": 3}
>>> a["one"]
1
>>> a.keys()
dict_keys(['one', 'two', 'three'])
>>> a.values()
dict_values([1, 2, 3])
>>> a.update({"four": 4})
>>> a.keys()
dict_keys(['one', 'two', 'three',
'four'])
>>> a['four']
4
Integers
Floats
Strings
-
x = int(1) # x will be 1
y = int(2.8) # y will be 2
z = int("3") # z will be 3
x = float(1) # x will be 1.0
y = float(2.8) # y will be 2.8
z = float("3") # z will be 3.0
w = float("4.2") # w will be 4.2
x = str("s1") # x will be 's1'
y = str(2) # y will be '2'
z = str(3.0) # z will be '3.0'
# Python Advanced Data Types
import heapq
myList = [9, 5, 4, 1, 3, 2]
from collections import deque
q = deque() # empty
Strings Numbers Booleans
Lists Tuple Set
Dictionary Casting
Heaps Stacks and Queues
Negate all values to use Min Heap as Max Heap
Heaps are binary trees for which every parent node has a value less than or equal to any of its
children. Useful for accessing min/max value quickly. Time complexity: O(n) for heapify, O(log n)
push and pop. See: Heapq
heapq.heapify(myList) # turn myList into a Min Heap
print(myList) # => [1, 3, 2, 5, 9, 4]
print(myList[0]) # first value is always the smallest in the heap
heapq.heappush(myList, 10) # insert 10
x = heapq.heappop(myList) # pop and return smallest item
print(x) # => 1
myList = [9, 5, 4, 1, 3, 2]
myList = [-val for val in myList] # multiply by -1 to negate
heapq.heapify(myList)
x = heapq.heappop(myList)
print(-x) # => 9 (making sure to multiply by -1 again)
Deque is a double-ended queue with O(1)
time for append/pop operations from both
sides. Used as stacks and queues. See:
Deque
q = deque([1, 2, 3]) # with values
q.append(4) # append to right si
q.appendleft(0) # append to left sid
print(q) # => deque([0, 1, 2, 3,
x = q.pop() # remove & return from r
y = q.popleft() # remove & return fr
print(x) # => 4
print(y) # => 0
print(q) # => deque([1, 2, 3])
q.rotate(1) # rotate 1 step to the r
print(q) # => deque([3, 1, 2])
# Python Strings
Get the character at position 1 or last
>>> hello = "Hello, World"
>>> print(hello[1])
e
>>> print(hello[-1])
d
Loop through the letters in the word "foo"
>>> for char in "foo":
... print(char)
f
o
o
With a stride
┌───┬───┬───┬───┬───┬───┬───┐
| m | y | b | a | c | o | n |
└───┴───┴───┴───┴───┴───┴───┘
0 1 2 3 4 5 6 7
-7 -6 -5 -4 -3 -2 -1
>>> s = 'mybacon'
>>> s[2:5]
'bac'
>>> s[0:2]
'my'
>>> s = 'mybacon'
>>> s[:2]
'my'
>>> s[2:]
'bacon'
>>> s[:2] + s[2:]
'mybacon'
>>> s[:]
'mybacon'
>>> s = 'mybacon'
>>> s[-5:-1]
'baco'
>>> s[2:6]
'baco'
>>> s = '12345' * 5
>>> s
'1234512345123451234512345'
>>> s[::5]
'11111'
>>> s[4::5]
'55555'
>>> s[::-5]
'55555'
The len() function returns the length of a
string
>>> hello = "Hello, World!"
>>> print(len(hello))
13
>>> s = '===+'
>>> n = 8
>>> s * n
'===+===+===+===+===+===+===+===+'
>>> s = 'spam'
>>> s in 'I saw spamalot!'
True
>>> s not in 'I saw The Holy Grail!'
True
>>> s = 'spam'
>>> t = 'egg'
>>> s + t
'spamegg'
>>> 'spam' 'egg'
'spamegg'
format() Method
name = "John"
print("Hello, %s!" % name)
name = "John"
age = 23
print("%s is %d years old." % (name, age))
Array-like Looping Slicing string
String Length Multiple copies
Check String Concatenates
Formatting
>>> s[::-1]
'5432154321543215432154321'
txt1 = "My name is {fname}, I'm {age}".format(fname="John", age=36)
txt2 = "My name is {0}, I'm {1}".format("John", 36)
Get input data from console
>>> name = input("Enter your name: "
Enter your name: Tom
>>> name
'Tom'
>>> "#".join(["John", "Peter", "Vick
'John#Peter#Vicky'
>>> "Hello, world!".endswith("!")
True
# Python F-Strings (Since Python 3.6+)
it is available since Python 3.6, also see:
Formatted string literals
>>> website = 'Quickref.ME'
>>> f"Hello, {website}"
"Hello, Quickref.ME"
>>> num = 10
>>> f'{num} + 10 = {num + 10}'
'10 + 10 = 20'
>>> f"""He said {"I'm John"}"""
"He said I'm John"
>>> f'5 {"{stars}"}'
'5 {stars}'
>>> f'{{5}} {"stars"}'
'{5} stars'
>>> name = 'Eric'
>>> age = 27
>>> f"""Hello!
... I'm {name}.
... I'm {age}."""
"Hello!n I'm Eric.n I'm 27."
>>> f'{"text":10}' # [width]
'text '
>>> f'{"test":*>10}' # fill left
'******test'
>>> f'{"test":*<10}' # fill right
'test******'
>>> f'{"test":*^10}' # fill center
'***test***'
>>> f'{12345:0>10}' # fill with n
'0000012345'
>>> f'{10:b}' # binary type
'1010'
>>> f'{10:o}' # octal type
'12'
>>> f'{200:x}' # hexadecimal t
'c8'
>>> f'{200:X}'
'C8'
>>> f'{345600000000:e}' # scientific
'3.456000e+11'
>>> f'{65:c}' # character type
'A'
>>> f'{10:#b}' # [type] with no
'0b1010'
>>> f'{10:#o}'
'0o12'
>>> f'{10:#x}'
'0xa'
>>> f'{-12345:0=10}' # negative num
'-000012345'
>>> f'{12345:010}' # [0] shortcut
'0000012345'
>>> f'{-12345:010}'
'-000012345'
>>> import math # [.precision]
>>> math.pi
3.141592653589793
>>> f'{math.pi:.2f}'
'3.14'
>>> f'{1000000:,.2f}' # [grouping_op
'1,000,000.00'
>>> f'{1000000:_.2f}'
'1_000_000.00'
>>> f'{0.25:0%}' # percentage
'25.000000%'
>>> f'{12345:+}' # [sign] (+/-)
'+12345'
>>> f'{-12345:+}'
'-12345'
>>> f'{-12345:+10}'
' -12345'
>>> f'{-12345:+010}'
'-000012345'
Input Join Endswith
f-Strings usage f-Strings Fill Align f-Strings Type
F-Strings Others F-Strings Sign
>>> f'{0.25:.0%}'
'25%'
# Python Lists
>>> li1 = []
>>> li1
[]
>>> li2 = [4, 5, 6]
>>> li2
[4, 5, 6]
>>> li3 = list((1, 2, 3))
>>> li3
[1, 2, 3]
>>> li4 = list(range(1, 11))
>>> li4
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> list(filter(lambda x : x % 2 == 1, range(1, 20)))
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
>>> [x ** 2 for x in range (1, 11) if x % 2 == 1]
[1, 9, 25, 49, 81]
>>> [x for x in [3, 4, 5, 6, 7] if x > 5]
[6, 7]
>>> list(filter(lambda x: x > 5, [3, 4, 5, 6, 7]))
[6, 7]
>>> li = []
>>> li.append(1)
>>> li
[1]
>>> li.append(2)
>>> li
[1, 2]
>>> li.append(4)
>>> li
[1, 2, 4]
>>> li.append(3)
>>> li
[1, 2, 4, 3]
Syntax of list slicing:
Slicing
Omitting index
With a stride
-
a_list[start:end]
a_list[start:end:step]
>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a[2:5]
['bacon', 'tomato', 'ham']
>>> a[-5:-2]
['egg', 'bacon', 'tomato']
>>> a[1:4]
['egg', 'bacon', 'tomato']
>>> a[:4]
['spam', 'egg', 'bacon', 'tomato']
>>> a[0:4]
['spam', 'egg', 'bacon', 'tomato']
>>> a[2:]
['bacon', 'tomato', 'ham', 'lobster']
>>> a[2:len(a)]
['bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a[:]
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a[0:6:2]
['spam', 'bacon', 'ham']
>>> a[1:6:2]
['egg', 'tomato', 'lobster']
>>> a[6:0:-2]
['lobster', 'tomato', 'egg']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a[::-1]
['lobster', 'ham', 'tomato', 'bacon', 'egg', 'spam']
>>> li = ['bread', 'butter', 'milk']
>>> li.pop()
'milk'
>>> li
['bread', 'butter']
>>> del li[0]
>>> li
['butter']
>>> li = ['a', 'b', 'c', 'd']
>>> li[0]
'a'
>>> li[-1]
'd'
>>> li[4]
Traceback (most recent call last):
File "<stdin>", line 1, in <module
IndexError: list index out of range
Defining Generate
Append List Slicing
Remove
Access
>>> odd = [1, 3, 5]
>>> odd.extend([9, 11, 13])
>>> odd
[1, 3, 5, 9, 11, 13]
>>> odd = [1, 3, 5]
>>> odd + [9, 11, 13]
[1, 3, 5, 9, 11, 13]
>>> li = [3, 1, 3, 2, 5]
>>> li.sort()
>>> li
[1, 2, 3, 3, 5]
>>> li.reverse()
>>> li
[5, 3, 3, 2, 1]
>>> li = [3, 1, 3, 2, 5]
>>> li.count(3)
2
>>> li = ["re"] * 3
>>> li
['re', 're', 're']
# Python Flow control
num = 5
if num > 10:
print("num is totally bigger tha
elif num < 10:
print("num is smaller than 10.")
else:
print("num is indeed 10.")
>>> a = 330
>>> b = 200
>>> r = "a" if a > b else "b"
>>> print(r)
a
value = True
if not value:
print("Value is False")
elif value is None:
print("Value is None")
else:
print("Value is True")
# Python Loops
Prints: 2 3 5 7
primes = [2, 3, 5, 7]
for prime in primes:
print(prime)
Prints: 0 dog 1 cat 2 mouse
animals = ["dog", "cat", "mouse"]
# enumerate() adds counter to an ite
for i, value in enumerate(animals):
print(i, value)
Prints: 0 1 2 3
x = 0
while x < 4:
print(x)
x += 1 # Shorthand for x = x +
Prints: 0 10 20 30 40
x = 0
for index in range(10):
x = index * 10
if index == 5:
break
print(x)
Prints: 30 40 60 70
for index in range(3, 8):
x = index * 10
if index == 5:
continue
print(x)
for i in range(4):
print(i) # Prints: 0 1 2 3
for i in range(4, 8):
print(i) # Prints: 4 5 6 7
for i in range(4, 10, 2):
print(i) # Prints: 4 6 8
words = ['Mon', 'Tue', 'Wed']
nums = [1, 2, 3]
# Use zip to pack into a tuple list
for w, n in zip(words, nums):
print('%d:%s, ' %(n, w))
nums = [60, 70, 30, 110, 90]
for n in nums:
if n > 100:
print("%d is bigger than 100
break
else:
print("Not found!")
Concatenating Sort & Reverse Count
Repeating
Basic One line else if
Basic With index While
Break Continue Range
With zip() for/else
# Python Functions
def hello_world():
print('Hello, World!')
def add(x, y):
print("x is %s, y is %s" %(x, y)
return x + y
add(5, 6) # => 11
def varargs(*args):
return args
varargs(1, 2, 3) # => (1, 2, 3)
def keyword_args(**kwargs):
return kwargs
# => {"big": "foot", "loch": "ness"}
keyword_args(big="foot", loch="ness"
def swap(x, y):
return y, x
x = 1
y = 2
x, y = swap(x, y) # => x = 2, y = 1
def add(x, y=10):
return x + y
add(5) # => 15
add(5, 20) # => 25
# => True
(lambda x: x > 2)(3)
# => 5
(lambda x, y: x ** 2 + y ** 2)(2, 1)
# Python Modules
import math
print(math.sqrt(16)) # => 4.0
from math import ceil, floor
print(ceil(3.7)) # => 4.0
print(floor(3.7)) # => 3.0
from math import *
import math as m
# => True
math.sqrt(16) == m.sqrt(16)
import math
dir(math)
# Python File Handling
Line by line
With line number
-
with open("myfile.txt") as file:
for line in file:
print(line)
Write a string
Read a string
-
contents = {"aa": 12, "bb": 21}
with open("myfile1.txt", "w+") as fi
file.write(str(contents))
Write an object
Read an object
-
contents = {"aa": 12, "bb": 21}
with open("myfile2.txt", "w+") as fi
file.write(json.dumps(contents))
Basic Return Positional arguments
Keyword arguments Returning multiple Default Value
Anonymous functions
Import modules From a module Import all
Shorten module Functions and attributes
Read file String Object
file = open('myfile.txt', 'r')
for i, line in enumerate(file, start
print("Number %s: %s" % (i, line
with open('myfile1.txt', "r+") as fi
contents = file.read()
print(contents)
with open('myfile2.txt', "r+") as fi
contents = json.load(file)
print(contents)
import os
os.remove("myfile.txt")
import os
if os.path.exists("myfile.txt"):
os.remove("myfile.txt")
else:
print("The file does not exist")
import os
os.rmdir("myfolder")
# Python Classes & Inheritance
class MyNewClass:
pass
# Class Instantiation
my = MyNewClass()
class Animal:
def __init__(self, voice):
self.voice = voice
cat = Animal('Meow')
print(cat.voice) # => Meow
dog = Animal('Woof')
print(dog.voice) # => Woof
class Dog:
# Method of the class
def bark(self):
print("Ham-Ham")
charlie = Dog()
charlie.bark() # => "Ham-Ham"
class MyClass:
class_variable = "A class variab
# => A class variable!
print(MyClass.class_variable)
x = MyClass()
# => A class variable!
print(x.class_variable)
class ParentClass:
def print_test(self):
print("Parent Method")
class ChildClass(ParentClass):
def print_test(self):
print("Child Method")
# Calls the parent's print_t
super().print_test()
>>> child_instance = ChildClass()
>>> child_instance.print_test()
Child Method
Parent Method
class Employee:
def __init__(self, name):
self.name = name
def __repr__(self):
return self.name
john = Employee('John')
print(john) # => John
class CustomError(Exception):
pass
class ParentClass:
def print_self(self):
print('A')
class ChildClass(ParentClass):
def print_self(self):
print('B')
obj_A = ParentClass()
obj_B = ChildClass()
obj_A.print_self() # => A
obj_B.print_self() # => B
class ParentClass:
def print_self(self):
print("Parent")
class ChildClass(ParentClass):
def print_self(self):
print("Child")
child_instance = ChildClass()
child_instance.print_self() # => Chi
class Animal:
def __init__(self, name, legs):
self.name = name
self.legs = legs
class Dog(Animal):
def sound(self):
print("Woof!")
Yoki = Dog("Yoki", 4)
print(Yoki.name) # => YOKI
print(Yoki.legs) # => 4
Yoki.sound() # => Woof!
Delete a File Check and Delete Delete Folder
Defining Constructors Method
Class Variables Super() Function repr() method
User-defined exceptions
Polymorphism Overriding Inheritance
Related Cheatsheet
Awk Cheatsheet
Quick Reference
Bash Cheatsheet
Quick Reference
Recent Cheatsheet
Remote Work Re
Quick Reference
Homebrew Chea
Quick Reference
PyTorch Cheatsh
Quick Reference
Taskset Cheatshe
Quick Reference
QuickRef.ME
Share quick reference and cheat sheet for
developers.
中文版 #Notes
© 2025 QuickRef.ME, All rights reserved.
# Miscellaneous
# This is a single line comments.
""" Multiline strings can be written
using three "s, and are often us
as documentation.
"""
''' Multiline strings can be written
using three 's, and are often us
as documentation.
'''
Generators help you make lazy code.
def double_numbers(iterable):
for i in iterable:
yield i + i
values = (-x for x in [1,2,3,4,5])
gen_to_list = list(values)
# => [-1, -2, -3, -4, -5]
print(gen_to_list)
try:
# Use "raise" to raise an error
raise IndexError("This is an index error")
except IndexError as e:
pass # Pass is just a no-op. Usually you would do recovery here.
except (TypeError, NameError):
pass # Multiple exceptions can be handled together, if required.
else: # Optional clause to the try/except block. Must follow all except blocks
print("All good!") # Runs only if the code in try raises no exceptions
finally: # Execute under all circumstances
print("We can clean up resources here")
Comments Generators Generator to list
Handle exceptions

Python Cheat Sheet & Quick Reference......................pdf

  • 1.
    QuickRef.ME Search forcheatsheet ⌘ K Follow Me Python cheatsheet The Python cheat sheet is a one-page reference sheet for the Python 3 programming language. Stars Stars 7.8k 7.8k # Getting Started Python (python.org) Learn X in Y minutes (learnxinyminutes.com) Regex in python (quickref.me) The famous "Hello World" program in Python >>> print("Hello, World!") Hello, World! Python can't declare a variable without assignment. age = 18 # age is of type int name = "John" # name is now of type print(name) str Text int, float, complex Numeric list, tuple, range Sequence dict Mapping set, frozenset Set bool Boolean bytes, bytearray, memoryview Binary See: Data Types See: Strings >>> msg = "Hello, World!" >>> print(msg[2:5]) llo See: Lists mylist = [] mylist.append(1) mylist.append(2) for item in mylist: print(item) # prints out 1,2 See: Flow control num = 200 if num > 0: print("num is greater than 0") else: print("num is not greater than 0 See: Loops for item in range(6): if item == 3: break print(item) else: print("Finally finished!") See: Functions >>> def my_function(): ... print("Hello from a function ... >>> my_function() Hello from a function See: File Handling with open("myfile.txt", "r", encoding='utf8') as file: for line in file: print(line) Introduction Hello World Variables Data Types Slicing String Lists If Else Loops Functions File Handling Arithmetic Plus-Equals f-Strings (Python 3.6+)
  • 2.
    The / meansquotient of x and y, and the // result = 10 + 30 # => 40 result = 40 - 10 # => 30 result = 50 * 5 # => 250 result = 16 / 4 # => 4.0 (Float Div result = 16 // 4 # => 4 (Integer Div result = 25 % 2 # => 1 result = 5 ** 3 # => 125 counter = 0 counter += 10 # => 10 counter = 0 counter = counter + 10 # => 10 message = "Part 1." # => Part 1.Part 2. message += "Part 2." >>> website = 'Quickref.ME' >>> f"Hello, {website}" "Hello, Quickref.ME" >>> num = 10 >>> f'{num} + 10 = {num + 10}' '10 + 10 = 20' # Python Built-in Data Types See: Strings hello = "Hello World" hello = 'Hello World' multi_string = """Multiline Strings Lorem ipsum dolor sit amet, consectetur adipiscing elit """ x = 1 # int y = 2.8 # float z = 1j # complex >>> print(type(x)) <class 'int'> my_bool = True my_bool = False bool(0) # => False bool(1) # => True See: Lists list1 = ["apple", "banana", "cherry" list2 = [True, False, False] list3 = [1, 5, 7, 9, 3] list4 = list((1, 5, 7, 9, 3)) Similar to List but immutable my_tuple = (1, 2, 3) my_tuple = tuple((1, 2, 3)) Set of unique items/objects set1 = {"a", "b", "c"} set2 = set(("a", "b", "c")) Key: Value pair, JSON like object >>> empty_dict = {} >>> a = {"one": 1, "two": 2, "three": 3} >>> a["one"] 1 >>> a.keys() dict_keys(['one', 'two', 'three']) >>> a.values() dict_values([1, 2, 3]) >>> a.update({"four": 4}) >>> a.keys() dict_keys(['one', 'two', 'three', 'four']) >>> a['four'] 4 Integers Floats Strings - x = int(1) # x will be 1 y = int(2.8) # y will be 2 z = int("3") # z will be 3 x = float(1) # x will be 1.0 y = float(2.8) # y will be 2.8 z = float("3") # z will be 3.0 w = float("4.2") # w will be 4.2 x = str("s1") # x will be 's1' y = str(2) # y will be '2' z = str(3.0) # z will be '3.0' # Python Advanced Data Types import heapq myList = [9, 5, 4, 1, 3, 2] from collections import deque q = deque() # empty Strings Numbers Booleans Lists Tuple Set Dictionary Casting Heaps Stacks and Queues
  • 3.
    Negate all valuesto use Min Heap as Max Heap Heaps are binary trees for which every parent node has a value less than or equal to any of its children. Useful for accessing min/max value quickly. Time complexity: O(n) for heapify, O(log n) push and pop. See: Heapq heapq.heapify(myList) # turn myList into a Min Heap print(myList) # => [1, 3, 2, 5, 9, 4] print(myList[0]) # first value is always the smallest in the heap heapq.heappush(myList, 10) # insert 10 x = heapq.heappop(myList) # pop and return smallest item print(x) # => 1 myList = [9, 5, 4, 1, 3, 2] myList = [-val for val in myList] # multiply by -1 to negate heapq.heapify(myList) x = heapq.heappop(myList) print(-x) # => 9 (making sure to multiply by -1 again) Deque is a double-ended queue with O(1) time for append/pop operations from both sides. Used as stacks and queues. See: Deque q = deque([1, 2, 3]) # with values q.append(4) # append to right si q.appendleft(0) # append to left sid print(q) # => deque([0, 1, 2, 3, x = q.pop() # remove & return from r y = q.popleft() # remove & return fr print(x) # => 4 print(y) # => 0 print(q) # => deque([1, 2, 3]) q.rotate(1) # rotate 1 step to the r print(q) # => deque([3, 1, 2]) # Python Strings Get the character at position 1 or last >>> hello = "Hello, World" >>> print(hello[1]) e >>> print(hello[-1]) d Loop through the letters in the word "foo" >>> for char in "foo": ... print(char) f o o With a stride ┌───┬───┬───┬───┬───┬───┬───┐ | m | y | b | a | c | o | n | └───┴───┴───┴───┴───┴───┴───┘ 0 1 2 3 4 5 6 7 -7 -6 -5 -4 -3 -2 -1 >>> s = 'mybacon' >>> s[2:5] 'bac' >>> s[0:2] 'my' >>> s = 'mybacon' >>> s[:2] 'my' >>> s[2:] 'bacon' >>> s[:2] + s[2:] 'mybacon' >>> s[:] 'mybacon' >>> s = 'mybacon' >>> s[-5:-1] 'baco' >>> s[2:6] 'baco' >>> s = '12345' * 5 >>> s '1234512345123451234512345' >>> s[::5] '11111' >>> s[4::5] '55555' >>> s[::-5] '55555' The len() function returns the length of a string >>> hello = "Hello, World!" >>> print(len(hello)) 13 >>> s = '===+' >>> n = 8 >>> s * n '===+===+===+===+===+===+===+===+' >>> s = 'spam' >>> s in 'I saw spamalot!' True >>> s not in 'I saw The Holy Grail!' True >>> s = 'spam' >>> t = 'egg' >>> s + t 'spamegg' >>> 'spam' 'egg' 'spamegg' format() Method name = "John" print("Hello, %s!" % name) name = "John" age = 23 print("%s is %d years old." % (name, age)) Array-like Looping Slicing string String Length Multiple copies Check String Concatenates Formatting
  • 4.
    >>> s[::-1] '5432154321543215432154321' txt1 ="My name is {fname}, I'm {age}".format(fname="John", age=36) txt2 = "My name is {0}, I'm {1}".format("John", 36) Get input data from console >>> name = input("Enter your name: " Enter your name: Tom >>> name 'Tom' >>> "#".join(["John", "Peter", "Vick 'John#Peter#Vicky' >>> "Hello, world!".endswith("!") True # Python F-Strings (Since Python 3.6+) it is available since Python 3.6, also see: Formatted string literals >>> website = 'Quickref.ME' >>> f"Hello, {website}" "Hello, Quickref.ME" >>> num = 10 >>> f'{num} + 10 = {num + 10}' '10 + 10 = 20' >>> f"""He said {"I'm John"}""" "He said I'm John" >>> f'5 {"{stars}"}' '5 {stars}' >>> f'{{5}} {"stars"}' '{5} stars' >>> name = 'Eric' >>> age = 27 >>> f"""Hello! ... I'm {name}. ... I'm {age}.""" "Hello!n I'm Eric.n I'm 27." >>> f'{"text":10}' # [width] 'text ' >>> f'{"test":*>10}' # fill left '******test' >>> f'{"test":*<10}' # fill right 'test******' >>> f'{"test":*^10}' # fill center '***test***' >>> f'{12345:0>10}' # fill with n '0000012345' >>> f'{10:b}' # binary type '1010' >>> f'{10:o}' # octal type '12' >>> f'{200:x}' # hexadecimal t 'c8' >>> f'{200:X}' 'C8' >>> f'{345600000000:e}' # scientific '3.456000e+11' >>> f'{65:c}' # character type 'A' >>> f'{10:#b}' # [type] with no '0b1010' >>> f'{10:#o}' '0o12' >>> f'{10:#x}' '0xa' >>> f'{-12345:0=10}' # negative num '-000012345' >>> f'{12345:010}' # [0] shortcut '0000012345' >>> f'{-12345:010}' '-000012345' >>> import math # [.precision] >>> math.pi 3.141592653589793 >>> f'{math.pi:.2f}' '3.14' >>> f'{1000000:,.2f}' # [grouping_op '1,000,000.00' >>> f'{1000000:_.2f}' '1_000_000.00' >>> f'{0.25:0%}' # percentage '25.000000%' >>> f'{12345:+}' # [sign] (+/-) '+12345' >>> f'{-12345:+}' '-12345' >>> f'{-12345:+10}' ' -12345' >>> f'{-12345:+010}' '-000012345' Input Join Endswith f-Strings usage f-Strings Fill Align f-Strings Type F-Strings Others F-Strings Sign
  • 5.
    >>> f'{0.25:.0%}' '25%' # PythonLists >>> li1 = [] >>> li1 [] >>> li2 = [4, 5, 6] >>> li2 [4, 5, 6] >>> li3 = list((1, 2, 3)) >>> li3 [1, 2, 3] >>> li4 = list(range(1, 11)) >>> li4 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> list(filter(lambda x : x % 2 == 1, range(1, 20))) [1, 3, 5, 7, 9, 11, 13, 15, 17, 19] >>> [x ** 2 for x in range (1, 11) if x % 2 == 1] [1, 9, 25, 49, 81] >>> [x for x in [3, 4, 5, 6, 7] if x > 5] [6, 7] >>> list(filter(lambda x: x > 5, [3, 4, 5, 6, 7])) [6, 7] >>> li = [] >>> li.append(1) >>> li [1] >>> li.append(2) >>> li [1, 2] >>> li.append(4) >>> li [1, 2, 4] >>> li.append(3) >>> li [1, 2, 4, 3] Syntax of list slicing: Slicing Omitting index With a stride - a_list[start:end] a_list[start:end:step] >>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster'] >>> a[2:5] ['bacon', 'tomato', 'ham'] >>> a[-5:-2] ['egg', 'bacon', 'tomato'] >>> a[1:4] ['egg', 'bacon', 'tomato'] >>> a[:4] ['spam', 'egg', 'bacon', 'tomato'] >>> a[0:4] ['spam', 'egg', 'bacon', 'tomato'] >>> a[2:] ['bacon', 'tomato', 'ham', 'lobster'] >>> a[2:len(a)] ['bacon', 'tomato', 'ham', 'lobster'] >>> a ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster'] >>> a[:] ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster'] ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster'] >>> a[0:6:2] ['spam', 'bacon', 'ham'] >>> a[1:6:2] ['egg', 'tomato', 'lobster'] >>> a[6:0:-2] ['lobster', 'tomato', 'egg'] >>> a ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster'] >>> a[::-1] ['lobster', 'ham', 'tomato', 'bacon', 'egg', 'spam'] >>> li = ['bread', 'butter', 'milk'] >>> li.pop() 'milk' >>> li ['bread', 'butter'] >>> del li[0] >>> li ['butter'] >>> li = ['a', 'b', 'c', 'd'] >>> li[0] 'a' >>> li[-1] 'd' >>> li[4] Traceback (most recent call last): File "<stdin>", line 1, in <module IndexError: list index out of range Defining Generate Append List Slicing Remove Access
  • 6.
    >>> odd =[1, 3, 5] >>> odd.extend([9, 11, 13]) >>> odd [1, 3, 5, 9, 11, 13] >>> odd = [1, 3, 5] >>> odd + [9, 11, 13] [1, 3, 5, 9, 11, 13] >>> li = [3, 1, 3, 2, 5] >>> li.sort() >>> li [1, 2, 3, 3, 5] >>> li.reverse() >>> li [5, 3, 3, 2, 1] >>> li = [3, 1, 3, 2, 5] >>> li.count(3) 2 >>> li = ["re"] * 3 >>> li ['re', 're', 're'] # Python Flow control num = 5 if num > 10: print("num is totally bigger tha elif num < 10: print("num is smaller than 10.") else: print("num is indeed 10.") >>> a = 330 >>> b = 200 >>> r = "a" if a > b else "b" >>> print(r) a value = True if not value: print("Value is False") elif value is None: print("Value is None") else: print("Value is True") # Python Loops Prints: 2 3 5 7 primes = [2, 3, 5, 7] for prime in primes: print(prime) Prints: 0 dog 1 cat 2 mouse animals = ["dog", "cat", "mouse"] # enumerate() adds counter to an ite for i, value in enumerate(animals): print(i, value) Prints: 0 1 2 3 x = 0 while x < 4: print(x) x += 1 # Shorthand for x = x + Prints: 0 10 20 30 40 x = 0 for index in range(10): x = index * 10 if index == 5: break print(x) Prints: 30 40 60 70 for index in range(3, 8): x = index * 10 if index == 5: continue print(x) for i in range(4): print(i) # Prints: 0 1 2 3 for i in range(4, 8): print(i) # Prints: 4 5 6 7 for i in range(4, 10, 2): print(i) # Prints: 4 6 8 words = ['Mon', 'Tue', 'Wed'] nums = [1, 2, 3] # Use zip to pack into a tuple list for w, n in zip(words, nums): print('%d:%s, ' %(n, w)) nums = [60, 70, 30, 110, 90] for n in nums: if n > 100: print("%d is bigger than 100 break else: print("Not found!") Concatenating Sort & Reverse Count Repeating Basic One line else if Basic With index While Break Continue Range With zip() for/else
  • 7.
    # Python Functions defhello_world(): print('Hello, World!') def add(x, y): print("x is %s, y is %s" %(x, y) return x + y add(5, 6) # => 11 def varargs(*args): return args varargs(1, 2, 3) # => (1, 2, 3) def keyword_args(**kwargs): return kwargs # => {"big": "foot", "loch": "ness"} keyword_args(big="foot", loch="ness" def swap(x, y): return y, x x = 1 y = 2 x, y = swap(x, y) # => x = 2, y = 1 def add(x, y=10): return x + y add(5) # => 15 add(5, 20) # => 25 # => True (lambda x: x > 2)(3) # => 5 (lambda x, y: x ** 2 + y ** 2)(2, 1) # Python Modules import math print(math.sqrt(16)) # => 4.0 from math import ceil, floor print(ceil(3.7)) # => 4.0 print(floor(3.7)) # => 3.0 from math import * import math as m # => True math.sqrt(16) == m.sqrt(16) import math dir(math) # Python File Handling Line by line With line number - with open("myfile.txt") as file: for line in file: print(line) Write a string Read a string - contents = {"aa": 12, "bb": 21} with open("myfile1.txt", "w+") as fi file.write(str(contents)) Write an object Read an object - contents = {"aa": 12, "bb": 21} with open("myfile2.txt", "w+") as fi file.write(json.dumps(contents)) Basic Return Positional arguments Keyword arguments Returning multiple Default Value Anonymous functions Import modules From a module Import all Shorten module Functions and attributes Read file String Object
  • 8.
    file = open('myfile.txt','r') for i, line in enumerate(file, start print("Number %s: %s" % (i, line with open('myfile1.txt', "r+") as fi contents = file.read() print(contents) with open('myfile2.txt', "r+") as fi contents = json.load(file) print(contents) import os os.remove("myfile.txt") import os if os.path.exists("myfile.txt"): os.remove("myfile.txt") else: print("The file does not exist") import os os.rmdir("myfolder") # Python Classes & Inheritance class MyNewClass: pass # Class Instantiation my = MyNewClass() class Animal: def __init__(self, voice): self.voice = voice cat = Animal('Meow') print(cat.voice) # => Meow dog = Animal('Woof') print(dog.voice) # => Woof class Dog: # Method of the class def bark(self): print("Ham-Ham") charlie = Dog() charlie.bark() # => "Ham-Ham" class MyClass: class_variable = "A class variab # => A class variable! print(MyClass.class_variable) x = MyClass() # => A class variable! print(x.class_variable) class ParentClass: def print_test(self): print("Parent Method") class ChildClass(ParentClass): def print_test(self): print("Child Method") # Calls the parent's print_t super().print_test() >>> child_instance = ChildClass() >>> child_instance.print_test() Child Method Parent Method class Employee: def __init__(self, name): self.name = name def __repr__(self): return self.name john = Employee('John') print(john) # => John class CustomError(Exception): pass class ParentClass: def print_self(self): print('A') class ChildClass(ParentClass): def print_self(self): print('B') obj_A = ParentClass() obj_B = ChildClass() obj_A.print_self() # => A obj_B.print_self() # => B class ParentClass: def print_self(self): print("Parent") class ChildClass(ParentClass): def print_self(self): print("Child") child_instance = ChildClass() child_instance.print_self() # => Chi class Animal: def __init__(self, name, legs): self.name = name self.legs = legs class Dog(Animal): def sound(self): print("Woof!") Yoki = Dog("Yoki", 4) print(Yoki.name) # => YOKI print(Yoki.legs) # => 4 Yoki.sound() # => Woof! Delete a File Check and Delete Delete Folder Defining Constructors Method Class Variables Super() Function repr() method User-defined exceptions Polymorphism Overriding Inheritance
  • 9.
    Related Cheatsheet Awk Cheatsheet QuickReference Bash Cheatsheet Quick Reference Recent Cheatsheet Remote Work Re Quick Reference Homebrew Chea Quick Reference PyTorch Cheatsh Quick Reference Taskset Cheatshe Quick Reference QuickRef.ME Share quick reference and cheat sheet for developers. 中文版 #Notes © 2025 QuickRef.ME, All rights reserved. # Miscellaneous # This is a single line comments. """ Multiline strings can be written using three "s, and are often us as documentation. """ ''' Multiline strings can be written using three 's, and are often us as documentation. ''' Generators help you make lazy code. def double_numbers(iterable): for i in iterable: yield i + i values = (-x for x in [1,2,3,4,5]) gen_to_list = list(values) # => [-1, -2, -3, -4, -5] print(gen_to_list) try: # Use "raise" to raise an error raise IndexError("This is an index error") except IndexError as e: pass # Pass is just a no-op. Usually you would do recovery here. except (TypeError, NameError): pass # Multiple exceptions can be handled together, if required. else: # Optional clause to the try/except block. Must follow all except blocks print("All good!") # Runs only if the code in try raises no exceptions finally: # Execute under all circumstances print("We can clean up resources here") Comments Generators Generator to list Handle exceptions