\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{Theo666} \pdfinfo{ /Title (chap-9-12.pdf) /Creator (Cheatography) /Author (Theo666) /Subject (Chap\_9\_12 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}{79B352} \definecolor{LightBackground}{HTML}{F6FAF4} \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{Chap\_9\_12 Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{Theo666} via \textcolor{DarkBackground}{\uline{cheatography.com/193738/cs/40458/}}} \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}Theo666 \\ \uline{cheatography.com/theo666} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Published 25th September, 2023.\\ Updated 30th September, 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}{arguments \& variable}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{MY\_CONSTANT = 2 \# variable globale en majuscule \newline \# it can be aceesed and modified by all of function \newline \# pas besoin de passer le aux fonctions \newline \newline def function\_name(X, Y): \#X, Y postional arguments \newline Z = X * Y \newline A = X + Y \# Z, A variable local \newline return Z, A \# revoyer les résultats \# equal to return {[}Z, A{]} \newline \# return (Z, A) to create a tuple \newline \newline x = 2 \newline y = 1 \# variable global \# il faut passer aux fonctions \newline function\_name(X = x, Y = y) \# X, Y keyword arguments \newline \# equal to function\_name(x, y) \#passage d'argument} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{In Python, variables declared outside a function are global by default, while variables declared inside a function are local by default.} \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}{class}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{class MyFunctions: \newline def function1(self): \newline ... \newline \newline def function2(self): \newline ... \newline \newline \newline my\_functions = MyFunctions() \newline my\_functions.function1() \newline my\_functions.function2()} \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}{\_\_main\_\_}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{\# file My\_module.py \newline \newline def My\_funtion(): \newline ... \newline \newline print('Hello from my\_module.py') \newline \newline if \_\_name\_\_ == '\_\_main\_\_': \newline print('Hello from main method of my\_module.py') \newline \newline \# run My\_model.py \newline Hello from my\_module.py \newline \#print directly the message \newline \newline \# other file in which we import our module \newline import My\_module.py as m \newline m.My\_function() \newline \#it don't print the message but functions in module can be accessed} \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}{Examples}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{\#Python ne permet pas la modification d'une variable globale dans une fonction. \newline \textgreater{}\textgreater{}\textgreater{} def ma\_fonction(): \newline ... x = x + 1 \newline ... \newline \textgreater{}\textgreater{}\textgreater{} x = 1 \newline \textgreater{}\textgreater{}\textgreater{} ma\_fonction() \newline Traceback (most recent call last): \newline File "\textless{}stdin\textgreater{}", line 1, in \textless{}module\textgreater{} \newline File "\textless{}stdin\textgreater{}", line 2, in fct \newline UnboundLocalError: local variable 'x' referenced before assignment \newline \newline soit déclarer la variable est globale \newline \textgreater{}\textgreater{}\textgreater{} def ma\_fonction(): \newline ... global x \newline ... x = x + 1 \newline \newline \#Soyez extrêmement attentifs avec les types modifiables (tels que les listes) \newline \#car vous pouvez les changer au sein d'une fonction : \newline \textgreater{}\textgreater{}\textgreater{} def ma\_fonction(): \newline ... liste{[}1{]} = -127 \newline ... \newline \textgreater{}\textgreater{}\textgreater{} liste = {[}1,2,3{]} \newline \textgreater{}\textgreater{}\textgreater{} ma\_fonction() \newline \textgreater{}\textgreater{}\textgreater{} liste \newline {[}1, -127, 3{]}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{Conseils : l'utilisation de variables globales est à bannir définitivement de votre pratique de la programmation. conseillons de privilégier la première version : liste\_notes = ajoute\_un(liste\_notes) \& return liste\_notes à la fin de la fonction} \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}{règles}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{L'acronyme DRY signifie Don't Repeat Yourself. Les fonctions permettent de satisfaire ce principe en évitant la duplication de code. \newline % Row Count 3 (+ 3) Règle LGI : Lorsque Python rencontre une variable, il va traiter la résolution de son nom avec des priorités particulières. D'abord il va regarder si la variable est locale, puis si elle n'existe pas localement, il vérifiera si elle est globale et enfin si elle n'est pas globale, il testera si elle est interne (par exemple la fonction len() est considérée comme une fonction interne à Python, elle existe à chaque fois que vous lancez Python).% Row Count 13 (+ 10) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{1.36 cm} x{6.64 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{common file format for bioinfo}} \tn % Row 0 \SetRowColor{LightBackground} FASTA & protein sequence \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \seqsplit{GenBank} & file format for storing DNA or protein sequences \tn % Row Count 3 (+ 2) % Row 2 \SetRowColor{LightBackground} PDB & protein structure \tn % Row Count 4 (+ 1) % Row 3 \SetRowColor{white} CSV, TSV & table \tn % Row Count 6 (+ 2) % Row 4 \SetRowColor{LightBackground} XTC ... & file for molecular dynamic \tn % Row Count 8 (+ 2) % Row 5 \SetRowColor{white} mol2 & topology file \tn % Row Count 9 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}