{ "cells": [ { "cell_type": "markdown", "id": "2abebd48-6674-41b1-863a-ebfea76c22f9", "metadata": { "tags": [] }, "source": [ "# A Practical Guide to Object Oriented Programming (in Python)\n", "\n", "This tutorial is intended to be a practical introduction to *object oriented programming* for \"novice\" Python programmers. It was created for the [NCAR](https://ncar.ucar.edu) Python Tutorial Seminar Series, and the video for this tutorial will be hosted on the [ProjectPythia YouTube Channel](https://www.youtube.com/channel/UCoZPBqJal5uKpO8ZiwzavCw)." ] }, { "cell_type": "markdown", "id": "4ef82ddf-72a3-4ecc-9316-2493f813653b", "metadata": {}, "source": [ "### Prerequisites\n", "\n", "- You should be familiar with Jupyter Notebooks and how to walk through this tutorial on your own, either using the Binder link provided in the [GitHub repository](https://github.com/kmpaul/pg2oop) README or by downloading (cloning) the [GitHub repository](https://github.com/kmpaul/pg2oop) and launching JupyterLab or Jupyter Classic.\n", "- You should be familiar with the basics of Python, namely how to define variables and functions, how to write your own Python modules and how to import those modules in another Python script or code." ] }, { "cell_type": "markdown", "id": "1611ac59-109e-46f3-97b8-ba0c8decdb9c", "metadata": {}, "source": [ "### Table of Contents\n", "\n", "1. [What is an object?](notebooks/01.ipynb)\n", "2. [How do you explore what makes up an object?](notebooks/02.ipynb)\n", "3. [How do you use an object?](notebooks/03.ipynb)\n", "4. How do you create an object?\n", " 1. [Classes and Instances](notebooks/04.ipynb)\n", " 2. [Special Class Methods](notebooks/05.ipynb)\n", " 3. [Inheritance](notebooks/06.ipynb)\n", "5. *When* should you create an object?\n", " 1. [Complicated Data Structures](notebooks/07.ipynb)\n", " 2. [Complicated Function Signatures](notebooks/09.ipynb)\n", " 3. [Other reasons to use objects](notebooks/11.ipynb)" ] }, { "cell_type": "markdown", "id": "872979a6-f100-4b0f-9b64-b124e79ad4ce", "metadata": {}, "source": [ "| | | |\n", "| :- | -- | -: |\n", "| [[Home]](index.ipynb) | <img width=\"100%\" height=\"1\" src=\"images/empty.png\"/> | [Next »](notebooks/01.ipynb) |" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.7" } }, "nbformat": 4, "nbformat_minor": 5 }