\(
\newcommand{\NOT}{\neg}
\newcommand{\AND}{\wedge}
\newcommand{\OR}{\vee}
\newcommand{\XOR}{\oplus}
\newcommand{\IMP}{\Rightarrow}
\newcommand{\IFF}{\Leftrightarrow}
\newcommand{\TRUE}{\text{True}\xspace}
\newcommand{\FALSE}{\text{False}\xspace}
\newcommand{\IN}{\,{\in}\,}
\newcommand{\NOTIN}{\,{\notin}\,}
\newcommand{\TO}{\rightarrow}
\newcommand{\DIV}{\mid}
\newcommand{\NDIV}{\nmid}
\newcommand{\MOD}[1]{\pmod{#1}}
\newcommand{\MODS}[1]{\ (\text{mod}\ #1)}
\newcommand{\N}{\mathbb N}
\newcommand{\Z}{\mathbb Z}
\newcommand{\Q}{\mathbb Q}
\newcommand{\R}{\mathbb R}
\newcommand{\C}{\mathbb C}
\newcommand{\cA}{\mathcal A}
\newcommand{\cB}{\mathcal B}
\newcommand{\cC}{\mathcal C}
\newcommand{\cD}{\mathcal D}
\newcommand{\cE}{\mathcal E}
\newcommand{\cF}{\mathcal F}
\newcommand{\cG}{\mathcal G}
\newcommand{\cH}{\mathcal H}
\newcommand{\cI}{\mathcal I}
\newcommand{\cJ}{\mathcal J}
\newcommand{\cL}{\mathcal L}
\newcommand{\cK}{\mathcal K}
\newcommand{\cN}{\mathcal N}
\newcommand{\cO}{\mathcal O}
\newcommand{\cP}{\mathcal P}
\newcommand{\cQ}{\mathcal Q}
\newcommand{\cS}{\mathcal S}
\newcommand{\cT}{\mathcal T}
\newcommand{\cV}{\mathcal V}
\newcommand{\cW}{\mathcal W}
\newcommand{\cZ}{\mathcal Z}
\newcommand{\emp}{\emptyset}
\newcommand{\bs}{\backslash}
\newcommand{\floor}[1]{\left \lfloor #1 \right \rfloor}
\newcommand{\ceil}[1]{\left \lceil #1 \right \rceil}
\newcommand{\abs}[1]{\left | #1 \right |}
\newcommand{\xspace}{}
\newcommand{\proofheader}[1]{\underline{\textbf{#1}}}
\)
Built-in
collection types (no import required)
+===============================+========================================================================================+
+——————————-+—————————————————————————————-+ | dict[T1, T2]
| A dictionary whose keys have type T1
and whose values
have type T2
. | | | | | | Example:
{'a': 1, 'b': 2}
has type dict[str, int]
. |
+——————————-+—————————————————————————————-+ | list[T]
| A
list whose elements all have type T
. | | | | | | Example:
[1, 2, 3]
has type list[int]
. |
+——————————-+—————————————————————————————-+ | set[T]
| A
set whose elements all have type T
. | | | | | | Example:
{'hi', 'bye'}
has type set[str]
. |
+——————————-+—————————————————————————————-+ |
tuple[T1, T2, ...]
| A tuple whose first element has type
T1
, second element has type T2
, etc. | | | | |
| Example: ('hello', True, 3.4)
has type
tuple[str, bool, float]
. |
+——————————-+—————————————————————————————-+
Types imported from the
typing
module
Reference: https://docs.python.org/3.10/library/typing.html.
Any |
A value that could be of any type. (Used as a placeholder when a
variable’s type could be anything, or is unknown.) |
Callable[[T1, T2, ...], Tr] |
A function whose parameters have type T1 ,
T2 , etc., and whose return type is Tr .
Example: the function
def f(x: int, y: str) -> bool:
# Body omitted
has type Callable[[int, str], bool] . |
Optional[T] |
Synonym of Union[T, None] . |
Union[T1, T2, ...] |
A value whose type is one of T1 , T2 ,
etc.
Example: both 1 and 'hello' are instance of
type Union[int, str] . |