|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% Python Cheat Sheet
|
|
% baposter Landscape Poster
|
|
% LaTeX Template
|
|
% Version 1.0 (11/06/13)
|
|
% baposter Class Created by:
|
|
% Brian Amberg (baposter@brian-amberg.de)
|
|
% This template has been downloaded from:
|
|
% http://www.LaTeXTemplates.com
|
|
% License:
|
|
% CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
|
|
% Edited by Michelle Cristina de Sousa Baltazar
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
%----------------------------------------------------------------
|
|
% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
|
|
%----------------------------------------------------------------
|
|
|
|
\documentclass[landscape,a0paper,fontscale=0.285]{baposter} % Adjust the font scale/size here
|
|
\title{Python Cheat Sheet}
|
|
\usepackage[english]{babel}
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage{listings} % Package for code blocks
|
|
\lstset{language=python}
|
|
\usepackage{graphicx} % Required for including images
|
|
\graphicspath{{figures/}} % Directory in which figures are stored
|
|
|
|
\usepackage{xcolor}
|
|
\usepackage{colortbl}
|
|
\usepackage{tabu}
|
|
|
|
\usepackage{mathtools}
|
|
%\usepackage{amsmath} % For typesetting math
|
|
\usepackage{amssymb} % Adds new symbols to be used in math mode
|
|
|
|
\usepackage{booktabs} % Top and bottom rules for tables
|
|
\usepackage{enumitem} % Used to reduce itemize/enumerate spacing
|
|
\usepackage{palatino} % Use the Palatino font
|
|
\usepackage[font=small,labelfont=bf]{caption} % Required for specifying captions to tables and figures
|
|
|
|
\usepackage{multicol} % Required for multiple columns
|
|
\setlength{\columnsep}{1.5em} % Slightly increase the space between columns
|
|
\setlength{\columnseprule}{0mm} % No horizontal rule between columns
|
|
|
|
\usepackage{tikz} % Required for flow chart
|
|
\usetikzlibrary{decorations.pathmorphing}
|
|
\usetikzlibrary{shapes,arrows} % Tikz libraries required for the flow chart in the template
|
|
|
|
\newcommand{\compresslist}{ % Define a command to reduce spacing within itemize/enumerate environments, this is used right after \begin{itemize} or \begin{enumerate}
|
|
\setlength{\itemsep}{1pt}
|
|
\setlength{\parskip}{0pt}
|
|
\setlength{\parsep}{0pt}
|
|
}
|
|
|
|
\definecolor{lightblue}{rgb}{0.145,0.6666,1} % Defines the color used for content box headers
|
|
|
|
\begin{document}
|
|
|
|
\begin{poster}
|
|
{
|
|
headerborder=closed, % Adds a border around the header of content boxes
|
|
colspacing=0.8em, % Column spacing
|
|
bgColorOne=white, % Background color for the gradient on the left side of the poster
|
|
bgColorTwo=white, % Background color for the gradient on the right side of the poster
|
|
borderColor=violet, % Border color
|
|
headerColorOne=black, % Background color for the header in the content boxes (left side)
|
|
headerColorTwo=violet, % Background color for the header in the content boxes (right side)
|
|
headerFontColor=white, % Text color for the header text in the content boxes
|
|
boxColorOne=white, % Background color of the content boxes
|
|
textborder=roundedleft, % Format of the border around content boxes, can be: none, bars, coils, triangles, rectangle, rounded, roundedsmall, roundedright or faded
|
|
eyecatcher=true, % Set to false for ignoring the left logo in the title and move the title left
|
|
headerheight=0.1\textheight, % Height of the header
|
|
headershape=roundedright, % Specify the rounded corner in the content box headers, can be: rectangle, small-rounded, roundedright, roundedleft or rounded
|
|
headerfont=\Large\bf\textsc, % Large, bold and sans serif font in the headers of content boxes
|
|
%textfont={\setlength{\parindent}{1.5em}}, % Uncomment for paragraph indentation
|
|
linewidth=2pt % Width of the border lines around content boxes
|
|
}
|
|
%----------------------------------------------------------------
|
|
% Title
|
|
%----------------------------------------------------------------
|
|
{\bf\textsc{Python Cheat Sheet}\vspace{0.5em}} % Poster title
|
|
{\textsc{ P y t h o n \ \ \ \ \ C h e a t \ \ \ \ \ S h e e t \hspace{12pt}}}
|
|
{\textsc{\\ Xaloc \hspace{12pt}}}
|
|
|
|
|
|
%------------------------------------------------
|
|
% Python Basics
|
|
%------------------------------------------------
|
|
\headerbox{Python Basics:}{name=objectives,column=0,row=0}{
|
|
|
|
%--------------------------------------
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf - Hints:}}
|
|
\begin{itemize}\compresslist
|
|
\item Be careful with blank spaces! They can make a big difference in the code.
|
|
\item Your code will not run without the correct indentation!
|
|
\item \# This is a comment - use it to make a one line comment or to comment out a line
|
|
\item ''''''\newline Everything in between three quote marks will be considered a comment - it can be used to make comments that span more than one line with line breaks in them \newline''''''
|
|
\end{itemize}
|
|
|
|
|
|
%--------------------------------------
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf - Numbers:}} \linebreak \linebreak
|
|
Python uses integer and float numbers. You can use the type function to check the value of an object:\\
|
|
\begin{tabular}{l l}
|
|
\textbf{}\\
|
|
type(3) & returns: <type 'int'> \\
|
|
type(3.14) & returns: <type 'float'> \\
|
|
\end{tabular}
|
|
|
|
\dotfill \newline
|
|
|
|
%--------------------------------------
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf - Inputs:}}
|
|
%\begin{tabular}{lp{2.0cm}lp{3.0cm}|}
|
|
|
|
\begin{tabular}{lp{5.3cm}lp{3.0cm}|}
|
|
A = input() & Waits for you to enter some characters and saves them in A\\
|
|
\end{tabular}
|
|
\begin{tabular}{lp{4.7cm}lp{3.0cm}|}
|
|
B = int(input()) & Waits for you to enter integers and saves them in B \\
|
|
\end{tabular}
|
|
\begin{tabular}{lp{3.0cm}lp{3.0cm}|}
|
|
input("Press ENTER") & Waits for you to press ENTER to continue - since there is no variable declared it won't save anything. \\
|
|
\end{tabular}
|
|
\begin{tabular}{lp{2.6cm}lp{3.0cm}|}
|
|
A = input("message") & Prints "message" and waits for you to enter a value that will be saved in A\\
|
|
\end{tabular}
|
|
|
|
|
|
\vspace{0.0em} % When there are two boxes, some whitespace may need to be added if the one on the right has more content
|
|
}
|
|
|
|
%------------------------------------------------
|
|
% Python logic
|
|
%------------------------------------------------
|
|
|
|
\headerbox{Basic logic in Python}{name=introduction,column=1,row=0,bottomaligned=objectives}{
|
|
|
|
%------IF--------
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf - if}}
|
|
\begin{itemize}\compresslist
|
|
\item if condition1:\\
|
|
\text{ }\quad ........\# do something if condition1 is true \\
|
|
elif condition2:\\
|
|
\text{ }\quad ........\# do something if condition2 is true \\
|
|
else:\newline
|
|
\text{ }\quad ........\# do something if both are false
|
|
\end{itemize}
|
|
|
|
|
|
%------WHILE--------
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf - while:}}
|
|
\begin{itemize}\compresslist
|
|
\item while condition:\\
|
|
\text{ }\quad ........\# while condition is true keep doing something, make sure that the condition will be false at some point
|
|
\end{itemize}
|
|
|
|
|
|
%------FOR--------
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf - for:}}
|
|
\begin{itemize}\compresslist
|
|
\item for x in sequence\\
|
|
\text{ }\quad ........\# for x in the given sequence\\
|
|
\text{ }\quad ........\# do something for every item\\
|
|
\text{ }\quad ........\# the sequence can be a list,\\
|
|
\text{ }\quad ........\# elements from a string, etc.
|
|
|
|
\item for x in range(10)\\
|
|
\text{ }\quad ........\# repeat something 10 times (from 0 to 9)
|
|
|
|
\item for x in range(5,10)\\
|
|
\text{ }\quad ........\# repeat something 5 times (from 5 to 9)
|
|
\end{itemize}
|
|
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf - Logic tests}}
|
|
\linebreak \\
|
|
\begin{tabular}{l l}
|
|
10 == 10 & returns: True \\
|
|
10 == 11 & returns: False \\
|
|
10!= 11 & returns: True \\
|
|
"jack" == "jack" & returns: True \\
|
|
"jack" == "jake" & returns: False \\
|
|
10 > 10 & returns: False \\
|
|
10 >= 10 & returns: True \\
|
|
"abc" \text{>=} "abc" & returns: True \\
|
|
"abc" \text{<} "abc" & returns: False \\
|
|
\end{tabular}
|
|
}
|
|
|
|
|
|
%------------------------------------------------
|
|
% Python Lists
|
|
%------------------------------------------------
|
|
|
|
\headerbox{Python Lists}{name=results,column=2,span=2,row=0}{
|
|
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf - Python Lists}}
|
|
\linebreak \\
|
|
\text{Lists are made form elements of any type (they can alternate types)} \linebreak \\
|
|
\begin{tabular}{@{}ll@{}}
|
|
\textbf{Using Lists in Python}\\
|
|
\multicolumn{2}{l}{\cellcolor[HTML]{ECB6F9}Creation} \\
|
|
a\_list = [5,3,'p',9,'e'] & creates: [5,3,'p',9,'e'] \\
|
|
\multicolumn{2}{l}{\cellcolor[HTML]{ECB6F9}Accessing items} \\
|
|
a\_list[0] & returns: 5 \\
|
|
\multicolumn{2}{l}{\cellcolor[HTML]{ECB6F9}Slicing} \\
|
|
a\_list[1:3] & returns: [3,'p'] \\
|
|
\multicolumn{2}{l}{\cellcolor[HTML]{ECB6F9}Length} \\
|
|
len(a\_list) & returns: 5 \\
|
|
\multicolumn{2}{l}{\cellcolor[HTML]{ECB6F9}count( item)} \\
|
|
\multicolumn{2}{l}{returns how many times the item was found in the list.} \\
|
|
\text{ }\text{ }count(a\_list('p') & returns: 1 \\
|
|
\multicolumn{2}{l}{\cellcolor[HTML]{ECB6F9}Sorting - sort()} \\
|
|
a\_list.sort() & returns: [3,5,9,'e','p'] \\
|
|
\multicolumn{2}{l}{Sorting without altering the list} \\
|
|
print(sorted(a\_list)) & returns: [3,5,9,'e','p'] \\
|
|
\multicolumn{2}{l}{\cellcolor[HTML]{ECB6F9}Adding - append(item)} \\
|
|
a\_list.append(37) & returns: [5,3,'p',9,'e',37] \\
|
|
\multicolumn{2}{l}{\cellcolor[HTML]{ECB6F9}Inserting - insert(position,item)} \\
|
|
insert(a\_list.append(3),200) & returns: [5,3,200,'p',9,'e'] \\
|
|
\multicolumn{2}{l}{\cellcolor[HTML]{ECB6F9}Retornar e remover - pop(position)} \\
|
|
a\_list.pop() & returns: 'e' and the list becomes [5,3,'p',9] - deletes last element \\
|
|
a\_list.pop(1) & returns: 3 and the list becomes [5,'p',9,'e'] - deletes element 1 \\
|
|
\multicolumn{2}{l}{\cellcolor[HTML]{ECB6F9}Delete - remove(item)} \\
|
|
a\_list.remove('p') & returns: [5,3,9,'e'] \\
|
|
\multicolumn{2}{l}{\cellcolor[HTML]{ECB6F9}Insert} \\
|
|
a\_list.insert(2,'z') & returns: [5,'z',3,'p',9,'e'] - insert in given position \\
|
|
\multicolumn{2}{l}{\cellcolor[HTML]{ECB6F9}Invert - reverse()} \\
|
|
reverse(a\_list) & returns: ['e',9,'p',3,5] \\
|
|
\multicolumn{2}{l}{\cellcolor[HTML]{ECB6F9}Concatenating} \\
|
|
a\_list+[0] & returns: [5,3,'p',9,'e',0] \\
|
|
a\_list+a\_list & returns: [5,3,'p',9,'e',5,3,'p',9,'e'] \\
|
|
\multicolumn{2}{l}{\cellcolor[HTML]{ECB6F9}Find} \\
|
|
9 in a\_list & returns: True \\
|
|
for x in a\_list & returns the whole list, one element per line \\
|
|
\text{ }\quad ......print(x) &
|
|
\end{tabular}
|
|
%------------------------------------------------
|
|
}
|
|
\end{poster}
|
|
\newpage
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%%%%%%%%%%%%%%%%%% SECOND PAGE %%%%%%%%%%%%%%%%%%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\begin{poster}
|
|
{
|
|
headerborder=closed, colspacing=0.8em, bgColorOne=white, bgColorTwo=white, borderColor=violet, headerColorOne=black, headerColorTwo=violet,
|
|
headerFontColor=white, boxColorOne=white, textborder=roundedleft, eyecatcher=true, headerheight=0.1\textheight, headershape=roundedright, headerfont=\Large\bf\textsc, linewidth=2pt
|
|
}
|
|
%----------------------------------------------------------------
|
|
% TITLE SECTION
|
|
%----------------------------------------------------------------
|
|
{\bf\textsc{Python Cheat Sheet}\vspace{0.5em}} % Poster title
|
|
{\textsc{ P y t h o n \ \ \ \ \ C h e a t \ \ \ \ \ S h e e t \hspace{12pt}}}
|
|
{\textsc{\\ Xaloc \hspace{12pt}}}
|
|
|
|
%----------------------------------------------------------------
|
|
% Other Elements
|
|
%----------------------------------------------------------------
|
|
\headerbox{Other Elements}{name=method,column=0}{
|
|
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf - Key words}}
|
|
\begin{tabular}{lp{5.8cm}lp{1.0cm}}
|
|
{\bf Oper.} & {\bf Description}\\
|
|
print & prints on the screen \\
|
|
break & stops a loop if necessary\\
|
|
continue & restarts loop ignoring commands below \\
|
|
is & Tries an object identity \\
|
|
def & Used to create a new function defined by the user \\
|
|
return & Exit the function and returns a value \\
|
|
global & Access variables defined globally (outside of a function) \\
|
|
del & Deletes objects \\
|
|
\end{tabular}
|
|
|
|
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf - Libraries}}
|
|
Libraries are a collection of functions and methods that allow you to perform many actions without writing your code\linebreak \\
|
|
\textbf{Using Libraries in Python}\\
|
|
\begin{tabular}{lp{5.8cm}lp{1.0cm}}
|
|
import & imports a library inside a script\\
|
|
as & gives an alias to the library \\
|
|
from & imports a specific function from a library\\
|
|
\end{tabular}
|
|
\linebreak
|
|
\textbf{Useful Libraries}\\
|
|
\begin{tabular}{lp{5.8cm}lp{1.0cm}}
|
|
numpy & library for maths\\
|
|
matplotlib & library for plotting \\
|
|
tkinter & library to create GUI\\
|
|
random & library for random numbers\\
|
|
\end{tabular}
|
|
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf - Functions}}
|
|
\begin{itemize}\compresslist
|
|
\item def f\_name(args):\\
|
|
\text{ }\quad ........\# operations done by the function
|
|
\text{ }\quad return value\_to\_return
|
|
\end{itemize}
|
|
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf - Dictionaries}}
|
|
A dictionary is a list of keys and values, where you can access a value by its key. All keys must be different.\\
|
|
car = ["brand" : "Hummer",\\
|
|
\text{ }\quad\text{ }\quad "model":"H2",\\
|
|
\text{ }\quad\text{ }\quad "year":2009,]\\
|
|
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf - Tuples}}
|
|
A tuple is a list of values separated by a comma - very similar to a list but tuples are immutable (you are not allowed to change their values):\\
|
|
a\_tuple = ('a','b','c')
|
|
}
|
|
|
|
%----------------------------------------------------------------
|
|
% Operators
|
|
%----------------------------------------------------------------
|
|
\headerbox{Python Operators}{name=results2,column=1}{
|
|
Lets take a=10 and b=20 as example:\\
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf - Arithmetic operators}}
|
|
\begin{tabular}{lll}
|
|
{\bf Op.} & {\bf Description} & {\bf Example} \\
|
|
+ & Addition & a + b returns: 30 \\
|
|
- & Subtraction & a - b returns: -10 \\
|
|
* & Multiplication& a * b returns: 200 \\
|
|
/ & Division & b / a returns: 2 \\
|
|
\% & Module & a \% b returns: 0 \\
|
|
** & Exponential & a**b returns: $10^{20}$ \\
|
|
// & Euclidean Division & 9 // 2 returns: 4
|
|
\end{tabular}
|
|
|
|
%----Comparison operators-----------
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf - Comparison Operators}}
|
|
Basic comparation opration can be used in different ways for any type of value - numbers, strings, sequences, lists, etc. The answer will always be True or False.\\
|
|
\begin{tabular}{lll}
|
|
{\bf Op.} & {\bf Description} & {\bf Example} \\
|
|
< & Less than & a < b returns: True \\
|
|
<= & Less or equal & a <= b returns: True \\
|
|
== & Equal & a == b returns: False \\
|
|
> & Greater than & a > b returns: False \\
|
|
>= & Greater or equal & a >= b returns: False \\
|
|
!= & Different & a != b returns: True
|
|
\end{tabular}
|
|
|
|
%------Logic Operators-----------
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf - Logic Operators}}
|
|
The logic operators {\bf and} and {\bf or} Also return a Boolean value when used in a decision structure.\\
|
|
\begin{tabular}{lp{6.5cm}lp{1.0cm}|}
|
|
{\bf Op.} & {\bf Description}\\
|
|
and & If the result of both sides is true, returns: True \\
|
|
or & If one of the results on either side is true, returns: True \\
|
|
not & It is used to invert the result of any Boolean operation.
|
|
\end{tabular}
|
|
|
|
|
|
%------Operations with strings----------
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf - String Operators}}
|
|
Using a=['Hello'] and b=['Python']
|
|
\begin{tabular}{lp{6.5cm}lp{1.0cm}lp{1.0cm}} %\begin{tabular}{lll}
|
|
{\bf Oper.} & {\bf Example} \\
|
|
+ & a + b returns: HelloPython \\
|
|
* & a*2 returns: HelloHello \\
|
|
.[ ] & a[1] returns: "e" \\
|
|
.[ : ] & a[1:4] returns: "ell" \\
|
|
in & H in a will give 1 \\
|
|
not in & M not in a returns: 1 \\
|
|
\end{tabular}
|
|
|
|
}
|
|
|
|
%----------------------------------------------------------------
|
|
% Examples
|
|
%----------------------------------------------------------------
|
|
\headerbox{Examples}{name=conclusion,column=2,span=2,row=0}{
|
|
A few examples to see how actual python code looks like.
|
|
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf Simple Hello World with print}}
|
|
\lstinputlisting{simple_hello.py}
|
|
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf Hello World with function}}
|
|
\lstinputlisting{func_hello.py}
|
|
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf Hello your name}}
|
|
\lstinputlisting{hello_name.py}
|
|
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf Using a library}}
|
|
\lstinputlisting{library.py}
|
|
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf if loop}}
|
|
\lstinputlisting{if.py}
|
|
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf while loop}}
|
|
\lstinputlisting{while.py}
|
|
|
|
\colorbox[HTML]{DA74F3}{\makebox[\textwidth-2\fboxsep][l]{\bf for loop}}
|
|
\lstinputlisting{for.py}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\end{poster}
|
|
\end{document}
|