Skip to content

Latest commit

 

History

History
86 lines (59 loc) · 2.13 KB

File metadata and controls

86 lines (59 loc) · 2.13 KB

Python Cheat Sheet

Basic cheatsheet for Python mostly based on the book written by Al Sweigart, Automate the Boring Stuff with Python under the Creative Commons license and many other sources.

Read It

Dataclasses

Dataclasses are python classes but are suited for storing data objects. This module provides a decorator and functions for automatically adding generated special methods such as __init__() and __repr__() to user-defined classes.

Features

  1. They store data and represent a certain data type. Ex: A number. For people familiar with ORMs, a model instance is a data object. It represents a specific kind of entity. It holds attributes that define or represent the entity.

  2. They can be compared to other objects of the same type. Ex: A number can be greater than, less than, or equal to another number.

Python 3.7 provides a decorator dataclass that is used to convert a class into a dataclass.

python 2.7

class Number:
    def __init__(self, val):
        self.val = val

obj = Number(2)
obj.val

with dataclass

from dataclasses import dataclass

@dataclass
class Number:
    val: int

obj = Number(2)
obj.val

Default values

It is easy to add default values to the fields of your data class.

from dataclasses import dataclass

@dataclass
class Product:
    name: str
    count: int = 0
    price: float = 0.0

obj = Product("Python")
obj.name
obj.count
obj.price

Type hints

It is mandatory to define the data type in dataclass. However, If you don't want specify the datatype then, use typing.Any.

from dataclasses import dataclass
from typing import Any

@dataclass
class WithoutExplicitTypes:
   name: Any
   value: Any = 42