%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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(3.14) & returns: \\ \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}