DEV Community

Lam
Lam

Posted on

1

Python Cheat Sheet

Reference

[File manipulation] Context manager

with open("welcome.txt", "r") as file:
    # 'file' refers directly to "welcome.txt"
   data = file.read()

# It closes the file automatically at the end of scope, no need for `file.close()`.
Enter fullscreen mode Exit fullscreen mode

[File manipulation] Writing (append)

file = open("Hello.txt", "a") # open in append mode
file.write("Hello World again")  
file.close()
Enter fullscreen mode Exit fullscreen mode

[File manipulation] Writing (overwrite)

file = open("hello.txt", "w") # open in write mode 'w'
file.write("Hello World") 

text_lines = ["First line", "Second line", "Last line"] 
file.writelines(text_lines)

file.close()
Enter fullscreen mode Exit fullscreen mode

[File manipulation] Reading

file = open("hello.txt", "r") # open in read mode 'r'
file.close() 
Enter fullscreen mode Exit fullscreen mode
print(file.read())  # read the entire file and set the cursor at the end of file
print file.readline() # Reading one line
file.seek(0, 0) # place the cursor at the beggining of the file
Enter fullscreen mode Exit fullscreen mode

Regex

import re

re.match(r'^[aeiou]', str)
re.sub(r'^[aeiou]', '?', str)
re.sub(r'(xyz)', r'\1', str)

expr = re.compile(r'^...$')
expr.match(...)
expr.sub(...)
Enter fullscreen mode Exit fullscreen mode

Comprehensions

[fn(i) for i in list]            # .map
map(fn, list)                    # .map, returns iterator

filter(fn, list)                 # .filter, returns iterator
[fn(i) for i in list if i > 0]   # .filter.map
Enter fullscreen mode Exit fullscreen mode

Casting

int(str)
float(str)
str(int)
str(float)
'string'.encode()
Enter fullscreen mode Exit fullscreen mode

String

str[0:4]
len(str)

string.replace("-", " ")
",".join(list)
"hi {0}".format('j')
f"hi {name}" # same as "hi {}".format('name')
str.find(",")
str.index(",")   # same, but raises IndexError
str.count(",")
str.split(",")

str.lower()
str.upper()
str.title()

str.lstrip()
str.rstrip()
str.strip()

str.islower()

/* escape characters */
>>> 'doesn\'t'  # use \' to escape the single quote...
    "doesn't"
>>> "doesn't"  # ...or use double quotes instead
    "doesn't"
>>> '"Yes," they said.'
    '"Yes," they said.'
>>> "\"Yes,\" they said."
    '"Yes," they said.'
>>> '"Isn\'t," they said.'
    '"Isn\'t," they said.'
Enter fullscreen mode Exit fullscreen mode

Iteration

for item in ["a", "b", "c"]:
for i in range(4):        # 0 to 3
for i in range(4, 8):     # 4 to 7
for i in range(1, 9, 2):  # 1, 3, 5, 7
for key, val in dict.items():
for index, item in enumerate(list):
Enter fullscreen mode Exit fullscreen mode

Dict

dict.keys()
dict.values()
"key" in dict    # let's say this returns False, then...
dict["key"]      # ...this raises KeyError
dict.get("key")  # ...this returns None
dict.setdefault("key", 1)
Enter fullscreen mode Exit fullscreen mode

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more