\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{python\_cheat\_sheet} \pdfinfo{ /Title (python-cheat-sheet.pdf) /Creator (Cheatography) /Author (python\_cheat\_sheet) /Subject (Python Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{170E69} \definecolor{LightBackground}{HTML}{F7F7FA} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{Python Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{python\_cheat\_sheet} via \textcolor{DarkBackground}{\uline{cheatography.com/165448/cs/34643/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}python\_cheat\_sheet \\ \uline{cheatography.com/python-cheat-sheet} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 19th February, 2023.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{2} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{while-Schleifen}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{i = input("Zum Beenden 0 eingeben: ") \newline while i != 0: \newline i = input("Zum Beenden 0 eingeben: ")} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Vererbung}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{class Banana(Fruit)} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{continue \& break}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{break}} \newline {\emph{beendet Schleife}} \newline {\bf{continue}} \newline {\emph{springt zum Schleifenanfang und f{\"a}hrt mit der n{\"a}chsten Iteration fort}} \newline {\bf{break und else}} \newline for value in values: \newline if value == 5: \newline print("Gefunden!") \newline break \newline else: \newline \# wird Ausgeführt, wenn Schleife nicht mit break beendet wird \newline print("Nicht gefunden :-(")} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{For loops}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{\# Strategy: Iterate over a copy \newline for user, status in users.copy().items(): \newline if status == 'inactive': \newline del users{[}user{]} \newline \newline \# Strategy: Create a new collection \newline active\_users = \{\} \newline for user, status in users.items(): \newline if status == 'active': \newline active\_users{[}user{]} = status} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{2.64 cm} x{5.36 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Zahlen}} \tn % Row 0 \SetRowColor{LightBackground} 3 & eine ganze Zahl (integer oder int) \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} 3.2 & eine Gleitpunktzahl (float) \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} 3 + 5j & eine komplexe Zahl \tn % Row Count 5 (+ 1) % Row 3 \SetRowColor{white} +,-,*,/ & Grundrechenarten \tn % Row Count 6 (+ 1) % Row 4 \SetRowColor{LightBackground} a ** b & Potenz \tn % Row Count 7 (+ 1) % Row 5 \SetRowColor{white} math.sqrt(a) & Wurzel \tn % Row Count 8 (+ 1) % Row 6 \SetRowColor{LightBackground} math.log(a, base) & Logarithmus \tn % Row Count 10 (+ 2) % Row 7 \SetRowColor{white} a // b & ganzzahlige Division \tn % Row Count 11 (+ 1) % Row 8 \SetRowColor{LightBackground} a \% b & Rest der Division \tn % Row Count 12 (+ 1) % Row 9 \SetRowColor{white} abs(a) & Betrag \tn % Row Count 13 (+ 1) % Row 10 \SetRowColor{LightBackground} round(a, n) & Runden auf n Nachkommastellen \tn % Row Count 15 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{Im math Modul sind viele weitere Funktionen} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{p{0.8 cm} p{0.8 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Listen}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{.add()} \tn % Row Count 1 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{if...else}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{if n \textless{} 2: \newline \# Block wird ausgeführt, falls n \textless{} 2 \newline print("Fall 1") \newline elif n \textless{} 4: \newline \# Block wird ausgeführt, falls 2 \textless{}= n \textless{} 4 \newline print("Fall 2") \newline else: \newline \# Block wird ausgeführt, falls n \textgreater{}= 4 \newline print("Fall 3")} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Kommentare}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{\# dies ist ein Kommentar} \tn % Row Count 1 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Variable zuweisen}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{x = 2} \tn % Row Count 1 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Iteration}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{range()} \tn \mymulticolumn{1}{x{8.4cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}range} \tn % Row Count 2 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{p{0.8 cm} p{0.8 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Match}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{} \tn % Row Count 0 (+ 0) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{p{1.36 cm} x{6.64 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Escape Characters}} \tn % Row 0 \SetRowColor{LightBackground} \textbackslash{}n & neue Zeile \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \textbackslash{}" & " \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \textbackslash{}' & ' \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \textbackslash{}\textbackslash{} & \textbackslash{} \tn % Row Count 4 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Funktionen}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{def foo(): \newline return s} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Klassen}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{class Robot: \newline def \_\_init\_\_(name, color, weight): \newline self.\_name = name \newline self.\_color = color \newline self.\_weight = weight \newline \newline def introduce\_self(self): \newline print("Ich hei{\ss}e " + self.name) \newline \newline r1 = Robot("Tom", red, 30) \newline r2 = Robot("Terry", blue, 40)} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Datenkapselung}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{Attribute einer Klasse sind normalerweise protected getter/setter verwenden \newline \# Getter Methode als Property \newline @property \newline def x(self): \newline return self.\_x \newline \newline \# Setter Methode als Property \newline @x.setter \newline def x(self, value): \newline if value \textless{} 1000: \newline self.\_x = value} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{4.96 cm} x{3.04 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Strings}} \tn % Row 0 \SetRowColor{LightBackground} 'Hallo' oder "Hallo" & eine \seqsplit{Zeichenkette/string} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} 'Blau' * 3 & BlauBlauBlau \tn % Row Count 3 (+ 1) % Row 2 \SetRowColor{LightBackground} 'Blau' + 'beere' & Blaubeere \tn % Row Count 4 (+ 1) % Row 3 \SetRowColor{white} len(a) & L{\"a}nge von string a \tn % Row Count 6 (+ 2) % Row 4 \SetRowColor{LightBackground} int('123') & casten zu int \tn % Row Count 7 (+ 1) % Row 5 \SetRowColor{white} float('123') & casten zu float \tn % Row Count 8 (+ 1) % Row 6 \SetRowColor{LightBackground} str('123') & casten zu string \tn % Row Count 10 (+ 2) % Row 7 \SetRowColor{white} print("""\textbackslash{} Usage: thingy {[}OPTIONS{]} -h Display this usage message -H hostname Hostname to connect to """) & Multiline String \tn % Row Count 17 (+ 7) % Row 8 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{text = ('Put several strings within parentheses ' 'to have them joined together.')} \tn % Row Count 19 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{Formatieren mit f \newline String methods \newline print('The value of i is', i) \newline print(a, end=',')} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{1.92 cm} x{6.08 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Wahrheitswerte/Boolean}} \tn % Row 0 \SetRowColor{LightBackground} True / False & bool \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} a \textgreater{} b & True wenn a kleiner als b, sonst False \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} a \textless{}= b & kleiner gleich \tn % Row Count 5 (+ 1) % Row 3 \SetRowColor{white} a \textgreater{} b & gr{\"o}{\ss}er \tn % Row Count 6 (+ 1) % Row 4 \SetRowColor{LightBackground} a \textgreater{}= b & gr{\"o}{\ss}er gleich \tn % Row Count 7 (+ 1) % Row 5 \SetRowColor{white} a == b & gleich \tn % Row Count 8 (+ 1) % Row 6 \SetRowColor{LightBackground} a != b & ungleich \tn % Row Count 9 (+ 1) % Row 7 \SetRowColor{white} not & negiert Wahrheitswert \tn % Row Count 10 (+ 1) % Row 8 \SetRowColor{LightBackground} or & Logisches Oder \tn % Row Count 11 (+ 1) % Row 9 \SetRowColor{white} and & Logisches Und \tn % Row Count 12 (+ 1) % Row 10 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{a in sequenze} \tn % Row Count 13 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}