\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{Muhammad Usman Asghar (musmankkh)} \pdfinfo{ /Title (python-beginner-to-advanced.pdf) /Creator (Cheatography) /Author (Muhammad Usman Asghar (musmankkh)) /Subject (Python Beginner to Advanced 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}{306998} \definecolor{LightBackground}{HTML}{F2F5F8} \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 Beginner to Advanced Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{Muhammad Usman Asghar (musmankkh)} via \textcolor{DarkBackground}{\uline{cheatography.com/214866/cs/46789/}}} \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}Muhammad Usman Asghar (musmankkh) \\ \uline{cheatography.com/musmankkh} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Published 3rd August, 2025.\\ Updated 3rd August, 2025.\\ 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{tabularx}{17.67cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{17.67cm}}{\bf\textcolor{white}{Basic Syntax}} \tn \SetRowColor{white} \mymulticolumn{1}{x{17.67cm}}{{\bf{Comments}} \newline % Row Count 1 (+ 1) Single line: Use `\#` symbol \newline % Row Count 2 (+ 1) Multi-line: Use triple quotes `""" or ''' ` \newline % Row Count 3 (+ 1) Inline comments: Add `\#` at end of line \newline % Row Count 4 (+ 1) {\bf{Print Function}} \newline % Row Count 5 (+ 1) Basic output: `print()` function displays text \newline % Row Count 6 (+ 1) Multiple values: Separate with commas \newline % Row Count 7 (+ 1) String formatting: Use `f-strings, format(), or \%` formatting. \newline % Row Count 9 (+ 2) {\bf{Indentation}} \newline % Row Count 10 (+ 1) Critical in Python - Defines code blocks \newline % Row Count 11 (+ 1) Use 4 spaces - Standard convention \newline % Row Count 12 (+ 1) Consistent indentation - All lines in same block must have same indentation% Row Count 14 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{x{5.181 cm} x{12.089 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{17.67cm}}{\bf\textcolor{white}{Data Types}} \tn % Row 0 \SetRowColor{LightBackground} int & Whole numbers \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} float & Decimal Numbers \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} complex & Real + imaginary \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} str & Character strings \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} Immutable & Can't change chars \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} Unicode & International support \tn % Row Count 6 (+ 1) % Row 6 \SetRowColor{LightBackground} bool & True/False Values \tn % Row Count 7 (+ 1) % Row 7 \SetRowColor{white} list & Ordered, mutable \tn % Row Count 8 (+ 1) % Row 8 \SetRowColor{LightBackground} tuple & Ordered, immutable \tn % Row Count 9 (+ 1) % Row 9 \SetRowColor{white} dict & Key-value pairs \tn % Row Count 10 (+ 1) % Row 10 \SetRowColor{LightBackground} set & Unique elements only \tn % Row Count 11 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{17.67cm}}{Data types include numeric, text, boolean, and collections.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{x{6.908 cm} x{10.362 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{17.67cm}}{\bf\textcolor{white}{Naming Rules}} \tn % Row 0 \SetRowColor{LightBackground} Start & Letter or underscore \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} Characters & alphanumeric + underscore \tn % Row Count 3 (+ 2) % Row 2 \SetRowColor{LightBackground} No reserved words & if, for, class \tn % Row Count 5 (+ 2) % Row 3 \SetRowColor{white} Convention & snake\_case \tn % Row Count 6 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{x{9.6712 cm} x{7.5988 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{17.67cm}}{\bf\textcolor{white}{Variable Declaration}} \tn % Row 0 \SetRowColor{LightBackground} No keyword needed & Just assign \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} Dynamic typing & Auto-determined \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} Case sensitive & myvar ≠ MyVar \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} Multiple assignment & One line \tn % Row Count 4 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{x{4.4902 cm} x{12.7798 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{17.67cm}}{\bf\textcolor{white}{Formatting}} \tn % Row 0 \SetRowColor{LightBackground} f-strings & `f"Hello \{name\}"` \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} format() & `"Hello \{\}".format(name)` \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \% style & `"Hello \%s" \% name` \tn % Row Count 3 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{3.1086 cm} x{14.1614 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{17.67cm}}{\bf\textcolor{white}{String Methods}} \tn % Row 0 \SetRowColor{LightBackground} Case & upper(), lower(), title() \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} Search & find(), index(), count() \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} Check & startswith(), endswith() \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} Modify & replace(), strip(), split() \tn % Row Count 4 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{x{7.7715 cm} x{9.4985 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{17.67cm}}{\bf\textcolor{white}{String Operations}} \tn % Row 0 \SetRowColor{LightBackground} Concatenation & + operator \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} Repetition & * operator \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} Length & `en() function \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} Indexing & {[}0{]} zero-based \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} Slicing & {[}start:end:step{]} \tn % Row Count 5 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{x{9.3258 cm} x{7.9442 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{17.67cm}}{\bf\textcolor{white}{Strings (Creation Methods)}} \tn % Row 0 \SetRowColor{LightBackground} Single quotes & 'Hello' \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} Double quotes & "Hello" \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} Triple quotes & Multi Line \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} Raw strings & r 'literal' \tn % Row Count 4 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{x{5.181 cm} x{12.089 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{17.67cm}}{\bf\textcolor{white}{Conditionals}} \tn % Row 0 \SetRowColor{LightBackground} if & Basic condition check \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} elif & Additional conditions \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} else & Default \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} Operators & ==, !=, \textless{}, \textgreater{} \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} Logic & and, or, not \tn % Row Count 5 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{x{6.7353 cm} x{10.5347 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{17.67cm}}{\bf\textcolor{white}{Loops}} \tn % Row 0 \SetRowColor{LightBackground} For & Iterate sequences \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} While & Condition-based \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} range() & Number Sequence \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} enumerate() & Index + Value \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} zip() & Multiple sequence \tn % Row Count 5 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{x{5.5264 cm} x{11.7436 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{17.67cm}}{\bf\textcolor{white}{Loop Control}} \tn % Row 0 \SetRowColor{LightBackground} break & Exit loop \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} continue & Skip iteration \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} else & Normal completion \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} pass & Empty placeholder \tn % Row Count 4 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{17.67cm}}{\bf\textcolor{white}{Functions}} \tn \SetRowColor{white} \mymulticolumn{1}{x{17.67cm}}{{\bf{Definition}} \newline % Row Count 1 (+ 1) • def keyword: Define function \newline % Row Count 2 (+ 1) • Parameters: Input values \newline % Row Count 3 (+ 1) • Return: Output value \newline % Row Count 4 (+ 1) • Docstrings: Documentation \newline % Row Count 5 (+ 1) {\bf{Arguments}} \newline % Row Count 6 (+ 1) • Positional: Order matters \newline % Row Count 7 (+ 1) • Keyword: Use parameter names \newline % Row Count 8 (+ 1) • Default: Provide default values \newline % Row Count 9 (+ 1) • Variable: {\emph{args, }}*kwargs \newline % Row Count 10 (+ 1) {\bf{Types}} \newline % Row Count 11 (+ 1) • Built-in: print(), len(), type() \newline % Row Count 12 (+ 1) • User-defined: Custom functions \newline % Row Count 13 (+ 1) • Lambda: Anonymous functions \newline % Row Count 14 (+ 1) • Generator: Uses yield \newline % Row Count 15 (+ 1) {\bf{Scope}} \newline % Row Count 16 (+ 1) • Local: Inside function \newline % Row Count 17 (+ 1) • Global: Outside functions \newline % Row Count 18 (+ 1) • global: Modify global vars \newline % Row Count 19 (+ 1) • nonlocal: Enclosing scope% Row Count 20 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{17.67cm}}{\bf\textcolor{white}{Built-in Functions}} \tn \SetRowColor{white} \mymulticolumn{1}{x{17.67cm}}{{\bf{Essential}} \newline % Row Count 1 (+ 1) • print(): Output to console \newline % Row Count 2 (+ 1) • input(): Get user input \newline % Row Count 3 (+ 1) • len(): Sequence length \newline % Row Count 4 (+ 1) • type(): Object type \newline % Row Count 5 (+ 1) • isinstance(): Check type \newline % Row Count 6 (+ 1) {\bf{Conversion}} \newline % Row Count 7 (+ 1) • int(), float(), str() \newline % Row Count 8 (+ 1) • list(), tuple(), set() \newline % Row Count 9 (+ 1) • ord(), chr(): Char conversion \newline % Row Count 10 (+ 1) {\bf{Mathematical}} \newline % Row Count 11 (+ 1) • abs(): Absolute value \newline % Row Count 12 (+ 1) • round(): Round numbers \newline % Row Count 13 (+ 1) • min(), max(): Extremes \newline % Row Count 14 (+ 1) • sum(): Sequence sum \newline % Row Count 15 (+ 1) • pow(): Power calculation \newline % Row Count 16 (+ 1) {\bf{Sequence}} \newline % Row Count 17 (+ 1) • range(): Number sequences \newline % Row Count 18 (+ 1) • enumerate(): Add indices \newline % Row Count 19 (+ 1) • zip(): Combine iterables \newline % Row Count 20 (+ 1) • sorted(): Sort sequence \newline % Row Count 21 (+ 1) • all(), any(): Boolean ops% Row Count 22 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{17.67cm}}{\bf\textcolor{white}{File Handling}} \tn \SetRowColor{white} \mymulticolumn{1}{x{17.67cm}}{{\bf{Operations}} \newline % Row Count 1 (+ 1) • open(): Open file for I/O \newline % Row Count 2 (+ 1) • Modes: 'r', 'w', 'a', 'x' \newline % Row Count 3 (+ 1) • Text/Binary: 't', 'b' modes \newline % Row Count 4 (+ 1) • close(): Close file \newline % Row Count 5 (+ 1) {\bf{Reading}} \newline % Row Count 6 (+ 1) • read(): Entire file \newline % Row Count 7 (+ 1) • readline(): Single line \newline % Row Count 8 (+ 1) • readlines(): All lines \newline % Row Count 9 (+ 1) • Iteration: Loop through lines \newline % Row Count 10 (+ 1) {\bf{Writing}} \newline % Row Count 11 (+ 1) write(): Write string \newline % Row Count 12 (+ 1) writelines(): Write list \newline % Row Count 13 (+ 1) Context manager: with statement \newline % Row Count 14 (+ 1) `\textless{}/div\textgreater{}` \newline % Row Count 15 (+ 1) `\textless{}div style="flex: 1;"\textgreater{}`% Row Count 16 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{x{4.4902 cm} x{12.7798 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{17.67cm}}{\bf\textcolor{white}{Error Handling}} \tn % Row 0 \SetRowColor{LightBackground} try & Code that may fail \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} except & Handle exceptions \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} else & No exception occured \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} finally & Always excute \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} rise & Trigger exception \tn % Row Count 5 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{17.67cm}}{Handling} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{x{6.5626 cm} x{10.7074 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{17.67cm}}{\bf\textcolor{white}{Error Handling}} \tn % Row 0 \SetRowColor{LightBackground} SyntaxError & Invalid syntax \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} NameError & Undefined variable \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} TypeError & Wrong data type \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} ValueError & Wrong Value \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} IndexError & List index error \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} KeyError & Dict key missing \tn % Row Count 6 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{17.67cm}}{Exception Types} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{17.67cm}}{\bf\textcolor{white}{Object-Oriented Programming}} \tn \SetRowColor{white} \mymulticolumn{1}{x{17.67cm}}{{\bf{Classes and Objects}} \newline % Row Count 1 (+ 1) • class keyword – Define class \newline % Row Count 2 (+ 1) • Object instantiation – Create instances \newline % Row Count 3 (+ 1) • Instance variables – Data unique to each object \newline % Row Count 5 (+ 2) • Class variables – Data shared by all instances \newline % Row Count 7 (+ 2) • self parameter – Reference to current instance \newline % Row Count 9 (+ 2) {\bf{Methods}} \newline % Row Count 10 (+ 1) • Instance methods – Access instance data \newline % Row Count 11 (+ 1) • Class methods – Work with class data (@classmethod) \newline % Row Count 13 (+ 2) • Static methods – Independent functions (@staticmethod) \newline % Row Count 15 (+ 2) • Special methods – init, str, repr, etc. \newline % Row Count 16 (+ 1) {\bf{Inheritance}} \newline % Row Count 17 (+ 1) • Parent class – Base class being inherited \newline % Row Count 18 (+ 1) • Child class – A class that inherits \newline % Row Count 19 (+ 1) • super() function – Access parent class methods \newline % Row Count 21 (+ 2) • Method overriding – Redefine parent methods \newline % Row Count 22 (+ 1) • Multiple inheritance – Inherit from multiple classes \newline % Row Count 24 (+ 2) {\bf{Encapsulation}} \newline % Row Count 25 (+ 1) • Private attributes – Prefix with underscore(s) \newline % Row Count 27 (+ 2) • Property decorator – Create getter/setter methods \newline % Row Count 29 (+ 2) • Name mangling – Double underscore prefix \newline % Row Count 30 (+ 1) } \tn \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{17.67cm}}{\bf\textcolor{white}{Object-Oriented Programming (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{17.67cm}}{• Public interface – Methods meant for external use \newline % Row Count 2 (+ 2) {\bf{Polymorphism}} \newline % Row Count 3 (+ 1) • Same interface, different implementations \newline % Row Count 4 (+ 1) • Duck typing – "If it looks like a duck..." \newline % Row Count 5 (+ 1) • Method overloading – Not directly supported \newline % Row Count 6 (+ 1) • Operator overloading – Define behavior for operators% Row Count 8 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{17.67cm}}{\bf\textcolor{white}{Data Structures}} \tn \SetRowColor{white} \mymulticolumn{1}{x{17.67cm}}{{\bf{Lists}} \newline % Row Count 1 (+ 1) • Ordered, mutable, duplicates OK \newline % Row Count 2 (+ 1) • Methods: `append(), insert(), remove()` \newline % Row Count 3 (+ 1) • Access: indexing {[}0{]}, slicing {[}1:3{]} \newline % Row Count 4 (+ 1) • Sort: `sort(), reverse()` \newline % Row Count 5 (+ 1) {\bf{Tuples}} \newline % Row Count 6 (+ 1) • Ordered, immutable, duplicates OK \newline % Row Count 7 (+ 1) • Methods: `count(), index()` \newline % Row Count 8 (+ 1) • Packing/Unpacking: Multiple assignment \newline % Row Count 9 (+ 1) • Faster than lists \newline % Row Count 10 (+ 1) {\bf{Dictionaries}} \newline % Row Count 11 (+ 1) • Key-value pairs, mutable \newline % Row Count 12 (+ 1) • Methods: `get(), keys(), values()` \newline % Row Count 13 (+ 1) • Access: dict{[}key{]} or dict.get(key) \newline % Row Count 14 (+ 1) • Update: update(), pop() \newline % Row Count 15 (+ 1) {\bf{Sets}} \newline % Row Count 16 (+ 1) • Unordered, unique elements \newline % Row Count 17 (+ 1) • Methods: `add(), remove(), union()` \newline % Row Count 18 (+ 1) • Operations: intersection, difference \newline % Row Count 19 (+ 1) • Membership: fast in testing% Row Count 20 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{17.67cm}}{\bf\textcolor{white}{Industry Applications}} \tn \SetRowColor{white} \mymulticolumn{1}{x{17.67cm}}{{\bf{Web Development}} \newline % Row Count 1 (+ 1) • Backend APIs – RESTful services, GraphQL \newline % Row Count 2 (+ 1) • Full-stack frameworks – Django, FastAPI \newline % Row Count 3 (+ 1) • Microservices – Flask, FastAPI \newline % Row Count 4 (+ 1) • Content management – Django CMS, Wagtail \newline % Row Count 5 (+ 1) {\bf{Data Science \& Analytics}} \newline % Row Count 6 (+ 1) • Data analysis – Pandas, NumPy \newline % Row Count 7 (+ 1) • Machine learning – Scikit-learn, TensorFlow, PyTorch \newline % Row Count 9 (+ 2) • Data visualisation – Matplotlib, Seaborn, Plotly \newline % Row Count 11 (+ 2) • Big data – PySpark, Dask \newline % Row Count 12 (+ 1) {\bf{Automation \& Scripting}} \newline % Row Count 13 (+ 1) • System administration – Automate server tasks \newline % Row Count 15 (+ 2) • Web scraping – BeautifulSoup, Scrapy \newline % Row Count 16 (+ 1) • Task automation – Schedule, monitor processes \newline % Row Count 18 (+ 2) • DevOps tools – Ansible, Fabric \newline % Row Count 19 (+ 1) {\bf{Scientific Computing}} \newline % Row Count 20 (+ 1) • Research computing - SciPy ecosystem \newline % Row Count 21 (+ 1) • Bioinformatics – BioPython \newline % Row Count 22 (+ 1) • Astronomy – AstroPy \newline % Row Count 23 (+ 1) • Physics simulations – NumPy, SciPy \newline % Row Count 24 (+ 1) {\bf{Game Development}} \newline % Row Count 25 (+ 1) • Pygame – 2D game development \newline % Row Count 26 (+ 1) • Panda3D – 3D game engine \newline % Row Count 27 (+ 1) • Game scripting – Embed Python in games \newline % Row Count 28 (+ 1) • Game tools – Level editors, asset pipelines% Row Count 29 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{17.67cm}}{\bf\textcolor{white}{Learning Resources}} \tn \SetRowColor{white} \mymulticolumn{1}{x{17.67cm}}{{\bf{Official Documentation}} \newline % Row Count 1 (+ 1) • python.org – Official Python documentation \newline % Row Count 2 (+ 1) • PEP documents – Python Enhancement Proposals \newline % Row Count 4 (+ 2) • Library reference – Standard library documentation \newline % Row Count 6 (+ 2) • Language reference – Complete language specification \newline % Row Count 8 (+ 2) {\bf{Online Tutorials}} \newline % Row Count 9 (+ 1) • W3Schools \newline % Row Count 10 (+ 1) • Python.org tutorial \newline % Row Count 11 (+ 1) • Real Python \newline % Row Count 12 (+ 1) • Codecademy \newline % Row Count 13 (+ 1) {\bf{Practice Platforms}} \newline % Row Count 14 (+ 1) • LeetCode – Coding interview preparation \newline % Row Count 15 (+ 1) • HackerRank – Programming challenges \newline % Row Count 16 (+ 1) • Codewars – Coding kata and challenges \newline % Row Count 17 (+ 1) • Project Euler – Mathematical programming problems% Row Count 19 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \end{document}