DEV Community

pO0q 🦄
pO0q 🦄

Posted on • Originally published at blog.julien-maury.dev

Another Python cheat sheet

Basics

Types

  • string
  • int, float
  • lists:
names = ["Scarlett Johansson", "Anne Hathaway", "Jessica Alba"]
Enter fullscreen mode Exit fullscreen mode
  • tuples: immutable collections of elements separated by commas and enclosed in parentheses
tup = ('Checkers', 1945, 'Washington')
print(tup)
Enter fullscreen mode Exit fullscreen mode
  • sets: mutable collections of objects separated by commas and enclosed in curly brackets or the set function
my_set = set(['Checkers', 1945, 'Washington'])
print(my_set)
Enter fullscreen mode Exit fullscreen mode
  • dictionaries: unordered collections that contain key:value pairs separated by commas and enclosed in curly brackets
movies = {"Actresses": ["Scarlett Johansson", "Anne Hathaway", "Jessica Alba"], "Directors":  ["Sofia Coppola", "Nacho Vigalondo", "James Cameron"]}
Enter fullscreen mode Exit fullscreen mode

Assignments and memory

Each Python object can have a name. Python has internal optimizations, for example with integers:

  • it uses the same memory slot for integers less than 256
  • num = 7 and num2 = 7 point to the same memory slot
  • likewise, values such as none or true (or false) point to the same object in memory

Multiple assignments in one line

num,num2 = 7,2. While it's possible, don't overuse it. It's less readable.

Lists

names = ["Scarlett", "Anne", "Jessica"] 

for actress in actresses:
    print(actress)
Enter fullscreen mode Exit fullscreen mode

Loops

follow my guide on Python loops

List comprehensions

It's a convenient, compact and more readable syntax for lists and loops:

numbers = [n for n in range(112) if n%3 == 0]
print(numbers)
Enter fullscreen mode Exit fullscreen mode

There are comprehensions for sets and dictionaries too.

Generators

Follow my guide on generators

Pro tips

Follow my guide on pro tips

Errors and exceptions

Read the documentation about exceptions. You must know them.

Modules

Getting started

Python modules are files containing reusable functions, like a toolbox. It's relatively easy to import any module with the keyword import in other python files, making the code more modular and easier to maintain.

Read the documentation about modules

Imports

You can import built-in modules, third-party libraries and even your own modules.

Follow my guide on Python imports

itertools

An essential module you have to know is the itertools module.

It allows you to handle lists and dictionaries in a very efficient way, optimizing the memory usage.

OS module

The OS module is useful to handle directories, files and paths.

Pip

pip is the package installer for Python. You can use it to download any package or module.

Python for the web

Django

Django is a secure and scalable framework to build websites with Python. It has everything you need for web development.

Flask

Flask is more minimalistic and lighter than Django, but it has way less features and functionalities. I would not recommend it for beginners.

Pyramid

Pyramid is a nice alternative approach. It's more like Flask than Django, but they do handle views in a very Django way.

Advanced concepts

Handle JSON

import json

data = {
    "fire": "starter"
}

with open("myfile.json", "w") as dest:
    json.dump(data, dest, indent="\t")
Enter fullscreen mode Exit fullscreen mode

The above code write JSON data in myfile.json. Regular expressions Import the re package

Args and kwargs

Python has the splat operator (*) which is universally used as the multiply operator in math, but Python adds extra functionalities if it's used in front of a variable.

def straight_forward(func, *args, **kwargs):
    return func(*args, **kwargs)
Enter fullscreen mode Exit fullscreen mode

With the above function, I can forward any function regardless of the parameters.

Lambda Functions

Lambda functions are anonymous functions that evaluate expressions only.

def make_lambda(n):
    return lambda a: a + n
Enter fullscreen mode Exit fullscreen mode

Execute code only if run directly, not when imported

if __name__ == "__main__":
    # code
Enter fullscreen mode Exit fullscreen mode

Machine learning

Python is a great choice if you want to learn machine learning, data science and other trendy topics:

Data is the new Oil

And Python might help you to build your own drilling rig.

Editors and softwares

VS code

When Python is correctly installed on your machine, you can execute Python with Visual Studio code via the terminal. In addition, you'll get helpful and free VS code extensions to speed up your dev.

Pycharm

Pycharm is one the best IDE for professional use of Python. You won't probably need any other software.

Jupyter

Jupyter supports interactive data science and scientific computing across all programming languages including Python.

Top comments (0)