Created
December 26, 2014 12:44
-
-
Save suranands/8a7bcf79051cf9d57cd8 to your computer and use it in GitHub Desktop.
OOPython
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "metadata": { | |
| "name": "" | |
| }, | |
| "nbformat": 3, | |
| "nbformat_minor": 0, | |
| "worksheets": [ | |
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### Finally on the page 33 of the book I mentioned on 24th of this month (These files are saved dated). \n", | |
| "**Python 3 Object Oriented Program ~ Dusty Phillips; 2010 PACKT Publishing**" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "# The simpleplot.py example below required that I do this step in first cell of this notebook for inline graphics.\n", | |
| "# Why I needed to run this script is to learn %edit and %run commands, known as magic commands in IPy.\n", | |
| "%matplotlib inline" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 17 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "# An example class for syntax:\n", | |
| "class MyFirstClass:\n", | |
| " pass" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 1 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "a = MyFirstClass()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 3 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "b = MyFirstClass()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 4 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "print(a)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "<__main__.MyFirstClass instance at 0xb66ce3ac>\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 5 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "print(b)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "<__main__.MyFirstClass instance at 0xb66d1a0c>\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 6 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "cd /home/gls/Downloads/" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "/home/gls/Downloads\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 7 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "ls *.py" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "simpleplot.py\r\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 8 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "run simpleplot.py" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "ename": "ImportError", | |
| "evalue": "No module named pylab", | |
| "output_type": "pyerr", | |
| "traceback": [ | |
| "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", | |
| "\u001b[0;32m/usr/lib/python2.7/dist-packages/IPython/utils/py3compat.pyc\u001b[0m in \u001b[0;36mexecfile\u001b[0;34m(fname, *where)\u001b[0m\n\u001b[1;32m 202\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 203\u001b[0m \u001b[0mfilename\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfname\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 204\u001b[0;31m \u001b[0m__builtin__\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexecfile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilename\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0mwhere\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", | |
| "\u001b[0;32m/home/gls/Downloads/simpleplot.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mscipy\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mpylab\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mt\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0marange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0.1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mt\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", | |
| "\u001b[0;31mImportError\u001b[0m: No module named pylab" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 10 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "import pylab" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "ename": "ImportError", | |
| "evalue": "No module named pylab", | |
| "output_type": "pyerr", | |
| "traceback": [ | |
| "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", | |
| "\u001b[0;32m<ipython-input-11-0c66bb86b884>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mpylab\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", | |
| "\u001b[0;31mImportError\u001b[0m: No module named pylab" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 11 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "import matplotlib" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "ename": "ImportError", | |
| "evalue": "No module named matplotlib", | |
| "output_type": "pyerr", | |
| "traceback": [ | |
| "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", | |
| "\u001b[0;32m<ipython-input-12-82be63b7783c>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", | |
| "\u001b[0;31mImportError\u001b[0m: No module named matplotlib" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 12 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "import numpy" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 13 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "import scipy # So, all I need to install for pylab to work is matplotlib...okay!" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 14 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "import pylab" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 15 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "run simpleplot.py" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "iVBORw0KGgoAAAANSUhEUgAAAYcAAAEbCAYAAAAxukhGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtU1HXi//EnZtgFdMMLijKJUiom4BcYL7k2uZmrWxLm\n3WzTrN2WtuJrP7fNXUJcs9w2162vJZzCPH0zakMX0y5rhaap5IqmmxXCZCJqqaxJCojz+f0xXydw\nULl95gKvxzlzDsO8+czrUM6Lz+39DjAMw0BERKSGNt4OICIivkflICIiblQOIiLiRuUgIiJuVA4i\nIuJG5SAiIm5UDtJqpKWlMXr0aG/HuKjly5fTr18/b8cQUTmINNamTZvo1q2b197/yJEjfPjhh157\nf2nZVA4ijTRs2DAOHTrktfd/5513SE5O9tr7S8umchC/l56eTq9evejQoQMjRozg5MmTdY4LCAjA\nMAxmz55Np06diIqKYsuWLa7XH3jgASwWCz/5yU8YP348Z8+eBeD7779nzJgxdOzYkdDQUHbt2gVA\nXl4eV155pevnDx8+zKRJk+jatSvdunXjiSeeqDNHz549WbRoEcOGDSMkJITx48dTXl5e59ivvvqK\nW265xZU3OzsbgL1795KcnExhYSHXXHMNCxcubPgvTuQiVA7i9/7rv/6Lzz77jIMHD/LVV1/x5ptv\n1jnOMAy2bt3KoEGDOHr0KLNmzWLatGmcm0Hm1ltvpbCwkM8//5x169axceNGAFasWEFlZSXHjh1j\n3759REZG1rn9KVOmUFlZSWFhIaWlpTzwwAN1jgsICGD16tW8+uqrlJSUUFJSwqJFi9zGnTlzhttu\nu41Ro0bx3Xff8dprr/HAAw+wfft2+vXrx9KlS7nuuusoKyvj97//fWN+dSIXpHIQv3fbbbcRFBRE\nUFAQ1113HceOHbvg2KFDhzJx4kQAZs2axddff82+ffsASEpKol27doSFhREaGsrRo0cB6NKlC7t2\n7WLNmjUEBwdz9dVXu233wIEDbNiwgcWLFxMcHExAQABdu3a9YI5HHnmEnj17ctVVVzFt2jTWr1/v\nNmbbtm0cPnyY2bNnExAQQGxsLImJiaxYsQIATYsmZlI5iN976623uPHGG+nWrRubNm266IdmzdeC\ng4Np06YNJ06cAGDZsmXEx8cTGhrKN9984xo7ceJE5syZw913382gQYPYv3+/23YPHTpEQEAAERER\n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\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0xb1a588ec>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 18 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "pwd" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 19, | |
| "text": [ | |
| "u'/home/gls/Downloads'" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 19 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "ls *.py" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "ls: cannot access *.py: No such file or directory\r\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 20 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "cd /wine/Programming\\ 10Aug2014" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "/wine/Programming 10Aug2014\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 21 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "cd Python\\ Aug\\ 2013" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "/wine/Programming 10Aug2014/Python Aug 2013\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 22 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "cd python_9oct14/OOPy/OOPy_Practicals20d14/" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "/wine/Programming 10Aug2014/Python Aug 2013/python_9oct14/OOPy/OOPy_Practicals20d14\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 23 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "ls *.py" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "\u001b[0m\u001b[01;32msimpleplot.py\u001b[0m*\r\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 24 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "edit -n simpleplot.py" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "IPython will make a temporary file named: /tmp/ipython_edit_dmpPIW.py\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 27 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "cat /tmp/ipython_edit_dmpPIW.py" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "cat: /tmp/ipython_edit_dmpPIW.py: No such file or directory\r\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 28 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "# Okay okay I am going offtrack." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "ls" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "\u001b[0m\u001b[01;32mfirst_class.py\u001b[0m* \u001b[01;32mOOPy_Practice_24d14.ipynb\u001b[0m* \u001b[01;32mOOPy_Practice_25d14.ipynb\u001b[0m* \u001b[01;32mOOPy_Practice_26d14.ipynb\u001b[0m* \u001b[01;32mREADME.txt\u001b[0m* \u001b[01;32msimpleplot.py\u001b[0m*\r\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 30 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "python -i first_class.py" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "ename": "SyntaxError", | |
| "evalue": "invalid syntax (<ipython-input-31-037ea0232978>, line 1)", | |
| "output_type": "pyerr", | |
| "traceback": [ | |
| "\u001b[0;36m File \u001b[0;32m\"<ipython-input-31-037ea0232978>\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m python -i first_class.py\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 31 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "run first_class.py" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 32 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "c = MyFirstClass()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 33 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "print(c)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "<__main__.MyFirstClass instance at 0xb14e8c0c>\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 34 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "* What I did above is instantiating a python object, although the class I created has nothing to perform. c is an object.\n", | |
| "* The real useful classes have data and attributes in them than can be used for performaing a variety of tasks." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "class Point:\n", | |
| " pass" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 35 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "p1 = Point()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 36 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "p2 = Point()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 37 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "p1.x = 5\n", | |
| "p1.y = 4" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 38 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "p2.x = 3\n", | |
| "p2.y = 6" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 39 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "print(p1)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "<__main__.Point instance at 0xb14e8d2c>\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 40 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "print(p1.x,p1.y)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "(5, 4)\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 41 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "print(p2.x,p2.y)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "(3, 6)\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 42 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "P1 = (p1.x,p1.y)\n", | |
| "P2 = (p2.x,p2.y)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "ename": "AttributeError", | |
| "evalue": "'tuple' object has no attribute 'x'", | |
| "output_type": "pyerr", | |
| "traceback": [ | |
| "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", | |
| "\u001b[0;32m<ipython-input-45-7ba488694b1e>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mP1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mp1\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mp1\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mP2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mp2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mp2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", | |
| "\u001b[0;31mAttributeError\u001b[0m: 'tuple' object has no attribute 'x'" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 45 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "print(P1)\n", | |
| "print(P2)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "ename": "NameError", | |
| "evalue": "name 'P2' is not defined", | |
| "output_type": "pyerr", | |
| "traceback": [ | |
| "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", | |
| "\u001b[0;32m<ipython-input-44-e31eac9ee18a>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mP1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;32mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mP2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", | |
| "\u001b[0;31mNameError\u001b[0m: name 'P2' is not defined" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "(5, 4)\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 44 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "print(p2)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "(3, 6)\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 46 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "* What's done now is creating an emty class again, called Point, without data and attributes.\n", | |
| "* But data and attributes are given at the time instantiating objects in this class using dot notation.\n", | |
| "* All we need to do to assign a value to an attribute on an object is use the syntax `<object>.<attribute> = <value>`." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "class Point:\n", | |
| " def reset(self):\n", | |
| " self.x = 0\n", | |
| " self.y = 0" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 47 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "p = Point()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 48 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "p.reset()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 49 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "print(p.x,p.y)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "(0, 0)\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 50 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "class Point2:\n", | |
| " def reset2(self):\n", | |
| " self.a = 0\n", | |
| " self.b = 0\n", | |
| "\n", | |
| "q = Point2()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 51 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "print(q.a,q.b)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "ename": "AttributeError", | |
| "evalue": "Point2 instance has no attribute 'a'", | |
| "output_type": "pyerr", | |
| "traceback": [ | |
| "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", | |
| "\u001b[0;32m<ipython-input-52-904245d7b309>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mq\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mq\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", | |
| "\u001b[0;31mAttributeError\u001b[0m: Point2 instance has no attribute 'a'" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 52 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "q.reset2()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 53 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "print(q.a,q.b)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "(0, 0)\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 54 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### Found it [somewhere online](http://www.reddit.com/r/Python/comments/2fl6oy/for_the_life_of_me_i_cant_figure_out_oop_can/). Interesting! Whatever online resources I explored so far didn't really make me completely understand the concept of OOP. I am trying.\n", | |
| "\n", | |
| "> If you have a class Animal, then there may be a function Animal.run(). You may define a class Fox and a class Tiger that inherit from Animal, and they automatically get the run() function. But you can customize specific behavior, in this case the behavior of run(). So for example you can make your Tiger leap when running, and your Fox stride when running, or something along those lines.\n", | |
| "\n", | |
| "> OOP is really as simple as that. The only other component to understand is the self argument, which you don't really need to understand right now. All you really need to know is that self is just like a variable and function namespace but for each time your class is used. Each time you create a new instance of a class (like by doing enemy = Tiger()) think of it like creating a new Python dict that has some pre-set variables and functions, and think of self as a way for your class to access its version of that dict.\n", | |
| "\n", | |
| "> If you're asking yourself \"why should I do any of this when I can just make a few regular functions?\", then know that this is the question you should be asking. Many times you will have no need to create a new class. You will frequently use other classes, like ones in the Python standard library, but you may not need to make any of your own. Once you start programming more you'll understand when and where to create classes." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### Now following somebody's suggestion on the same website, I just ordered a book called Head First Object Oriented Analysis & Design. Waiting .... !" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [] | |
| } | |
| ], | |
| "metadata": {} | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment