diff options
author | hardythe1 | 2015-05-05 14:21:39 +0530 |
---|---|---|
committer | hardythe1 | 2015-05-05 14:21:39 +0530 |
commit | fba055ce5aa0955e22bac2413c33493b10ae6532 (patch) | |
tree | be70ef4fccd07c9c88de778014219201b4ea971f /sample_notebooks/Aman KumarJain/Chapter_6_Objects_and_Classes_1.ipynb | |
parent | 67068710030ddd6b6c809518c34af2e04e0bf7ca (diff) | |
download | Python-Textbook-Companions-fba055ce5aa0955e22bac2413c33493b10ae6532.tar.gz Python-Textbook-Companions-fba055ce5aa0955e22bac2413c33493b10ae6532.tar.bz2 Python-Textbook-Companions-fba055ce5aa0955e22bac2413c33493b10ae6532.zip |
add books
Diffstat (limited to 'sample_notebooks/Aman KumarJain/Chapter_6_Objects_and_Classes_1.ipynb')
-rwxr-xr-x | sample_notebooks/Aman KumarJain/Chapter_6_Objects_and_Classes_1.ipynb | 934 |
1 files changed, 934 insertions, 0 deletions
diff --git a/sample_notebooks/Aman KumarJain/Chapter_6_Objects_and_Classes_1.ipynb b/sample_notebooks/Aman KumarJain/Chapter_6_Objects_and_Classes_1.ipynb new file mode 100755 index 00000000..89a18f99 --- /dev/null +++ b/sample_notebooks/Aman KumarJain/Chapter_6_Objects_and_Classes_1.ipynb @@ -0,0 +1,934 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:bd4e7931ddf89d8dc8befb681e1e57c7a9c742cd8abe8e18a494a55156d56cee"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 6: Objects and Classes"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.1, Page Number: 216"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "class smallobj: #define a class\n",
+ " \n",
+ " def setdata(self,d): #member function to set class variable somdata\n",
+ " self.__somedata = d\n",
+ " \n",
+ " def showdata(self): #member function to display somedata \n",
+ " print 'Data is ' , self.__somedata\n",
+ "\n",
+ "\n",
+ "#define two objects of class smallobj\n",
+ "s1=smallobj()\n",
+ "s2=smallobj()\n",
+ "\n",
+ "#call member function to set data \n",
+ "s1.setdata(1066)\n",
+ "s2.setdata(1776)\n",
+ "\n",
+ "#call member function to display data \n",
+ "s1.showdata()\n",
+ "s2.showdata()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Data is 1066\n",
+ "Data is 1776\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.2, Page Number: 223"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "class part: #define class \n",
+ " \n",
+ " def setpart(self,mn,pn,c): #set data\n",
+ " self.__modelnumber = mn\n",
+ " self.__partnumber = pn\n",
+ " self.__cost = c\n",
+ " \n",
+ " def showpart(self): #display data \n",
+ " print 'Model' , self.__modelnumber ,\n",
+ " print ', part' , self.__partnumber , \n",
+ " print ', costs $',self.__cost\n",
+ " \n",
+ "#define object of class part \n",
+ "part1 = part()\n",
+ "\n",
+ "#call member function setpart\n",
+ "part1.setpart(6244,373,217.55)\n",
+ "\n",
+ "#call member function showpart\n",
+ "part1.showpart()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Model 6244 , part 373 , costs $ 217.55\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3, Page Number: 225"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from turtle import * #importing turtles library\n",
+ "\n",
+ "class circle: #defining circle class\n",
+ " \n",
+ " def set(self,x,y,r,fc): #sets circle attribute\n",
+ " self._xCo = x\n",
+ " self._yCo = y\n",
+ " self._radius = r\n",
+ " self._fillcolor = fc\n",
+ " \n",
+ " def draw(self): #draws the circle \n",
+ " setup() #set screen\n",
+ " turtle = Turtle() #object of Turtle class\n",
+ " turtle.begin_fill() #start filling color in circle\n",
+ " turtle.color(self._fillcolor) #color\n",
+ " turtle.up()\n",
+ " turtle.goto(self._xCo,self._yCo) #set center of circle\n",
+ " turtle.circle(self._radius) #draw circle of radius self.__radius\n",
+ " turtle.end_fill() #stop filling\n",
+ " turtle.hideturtle()\n",
+ " done()\n",
+ "\n",
+ "#creating objects of class circle \n",
+ "c1 = circle()\n",
+ "c2 = circle()\n",
+ "c3 = circle()\n",
+ "\n",
+ "#sending the value to set fnction\n",
+ "c1.set(15,7,5,\"blue\")\n",
+ "c2.set(41,12,7,\"red\")\n",
+ "c3.set(65,18,4,\"green\")\n",
+ "\n",
+ "#draw circle\n",
+ "c1.draw()\n",
+ "c2.draw()\n",
+ "c3.draw()\n",
+ "\n",
+ "#In the above example the cirlcle's in the book are constructed using 'X' and 'O' but such feature is not available in Python.\n",
+ "#So i have created a simple circle filled with color"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.4, Page Number: 226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "class Distance: #Distance class\n",
+ " \n",
+ " def setdist(self,ft,inc): #set distance to class variables\n",
+ " self.__feet = ft\n",
+ " self.__inches = inc\n",
+ " \n",
+ " def getdist(self): #get distance from user\n",
+ " self.__feet = input('Enter feet:')\n",
+ " self.__inches = input('Enter inches:')\n",
+ " \n",
+ " def showdist(self): #display distance\n",
+ " print self.__feet , '\\' -' , self.__inches , '\\\"'\n",
+ "\n",
+ "#define two distance\n",
+ "dist1 = Distance()\n",
+ "dist2 = Distance()\n",
+ "\n",
+ "dist1.setdist(11,6.25) #set dist1\n",
+ "dist2.getdist() #set dist2 from user\n",
+ "\n",
+ "#show distances\n",
+ "print \"dist1 = \",\n",
+ "dist1.showdist()\n",
+ "print 'dist2 = ',\n",
+ "dist2.showdist()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter feet:17\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter inches:5.75\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "dist1 = 11 ' - 6.25 \"\n",
+ "dist2 = 17 ' - 5.75 \"\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5, Page Number: 228"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "class Counter:\n",
+ " \n",
+ " def __init__(self): #constructor\n",
+ " self.__count = 0\n",
+ " \n",
+ " def inc_count(self): #increment count\n",
+ " self.__count = self.__count + 1\n",
+ " \n",
+ " def get_count(self): #return count\n",
+ " return self.__count\n",
+ "\n",
+ "#define and initialize class objects\n",
+ "c1=Counter()\n",
+ "c2=Counter()\n",
+ "\n",
+ "#display count for each object\n",
+ "print 'c1 =',c1.get_count()\n",
+ "print 'c2 =',c2.get_count()\n",
+ "\n",
+ "\n",
+ "c1.inc_count() #increment c1\n",
+ "c2.inc_count() #increment c2\n",
+ "c2.inc_count() #increment c2\n",
+ "\n",
+ "#display count again for each object\n",
+ "print 'c1 =',c1.get_count()\n",
+ "print 'c2 =',c2.get_count()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "c1 = 0\n",
+ "c2 = 0\n",
+ "c1 = 1\n",
+ "c2 = 2\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6, Page Number: 231"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from turtle import * #importing turtles library\n",
+ "\n",
+ "class circle: #defining circle class\n",
+ " \n",
+ " def __init__(self,x,y,r,fc): #constructor for set circle attribute\n",
+ " self._xCo = x\n",
+ " self._yCo = y\n",
+ " self._radius = r\n",
+ " self._fillcolor = fc\n",
+ " \n",
+ " def draw(self): #draws the circle\n",
+ " setup()\n",
+ " turtle = Turtle()\n",
+ " turtle.begin_fill()\n",
+ " turtle.color(self._fillcolor)\n",
+ " turtle.up()\n",
+ " turtle.goto(self._xCo,self._yCo)\n",
+ " turtle.down()\n",
+ " turtle.circle(self._radius)\n",
+ " turtle.end_fill()\n",
+ " turtle.hideturtle()\n",
+ " done()\n",
+ "\n",
+ "#creating objects of class circle \n",
+ "c1 = circle(15,7,5,\"blue\") \n",
+ "c2 = circle(41,12,7,\"red\")\n",
+ "c3 = circle(65,18,4,\"green\")\n",
+ "\n",
+ "#draw circle\n",
+ "c1.draw()\n",
+ "c2.draw()\n",
+ "c3.draw()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.7, Page Number: 233"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "class Distance: #Distance class\n",
+ " \n",
+ " def __init__(self,ft=0,inc=0): #constructor \n",
+ " self.__feet = ft\n",
+ " self.__inches = inc\n",
+ " \n",
+ " def getdist(self): #get length from user\n",
+ " self.__feet = input('Enter feet:')\n",
+ " self.__inches = input('Enter inches:')\n",
+ " \n",
+ " def showdist(self): #display distance\n",
+ " print self.__feet , '\\' -' , self.__inches , '\\\"'\n",
+ " \n",
+ " def add_dist(self,d2,d3): #add length d2 and d3\n",
+ " self.__inches = d2.__inches + d3.__inches #add inches\n",
+ " self.__feet = 0\n",
+ " if self.__inches >= 12.0: #if total exceeds 12.0\n",
+ " self.__inches = self.__inches - 12.0 #then decrease inches by 12.0\n",
+ " self.__feet = self.__feet + 1 #and increase feet by 1\n",
+ " self.__feet = self.__feet + d2.__feet + d3.__feet #add the feet\n",
+ "\n",
+ "#define two length\n",
+ "dist1 = Distance()\n",
+ "dist3 = Distance()\n",
+ "\n",
+ "#define and initialize dist2\n",
+ "dist2 = Distance(11,6.25)\n",
+ "\n",
+ "#get dist1 from user\n",
+ "dist1.getdist()\n",
+ "\n",
+ "#dist3 = dist1 + dist2\n",
+ "dist3.add_dist(dist1,dist2)\n",
+ "\n",
+ "#display all lengths\n",
+ "print 'dist1 = ',\n",
+ "dist1.showdist()\n",
+ "print 'dist2 = ',\n",
+ "dist2.showdist()\n",
+ "print 'dist3 = ',\n",
+ "dist3.showdist()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter feet:17\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter inches:5.75\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "dist1 = 17 ' - 5.75 \"\n",
+ "dist2 = 11 ' - 6.25 \"\n",
+ "dist3 = 29 ' - 0.0 \"\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.8, Page Number: 238"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "class Distance: #Distance class\n",
+ " \n",
+ " def __init__(self,ft=0,inc=0): #overloaded constructor that takes no arguments or two args or one object(copy constructor)\n",
+ " if isinstance(ft,int):\n",
+ " self.__feet = ft\n",
+ " self.__inches = inc\n",
+ " else:\n",
+ " self.__feet = ft.__feet\n",
+ " self.__inches = ft.__inches\n",
+ " \n",
+ " def getdist(self): #get length from user\n",
+ " self.__feet = input('Enter feet:')\n",
+ " self.__inches = input('Enter inches:')\n",
+ " \n",
+ " def showdist(self): #display distance\n",
+ " print self.__feet , '\\' -' , self.__inches , '\\\"'\n",
+ "\n",
+ "#two argument constructor\n",
+ "dist1 = Distance(11,6.25)\n",
+ "\n",
+ "#one argument(object) constructor explicitly pass\n",
+ "dist2 = Distance(dist1)\n",
+ "\n",
+ "#also one argument(object) constructor implicitly pass\n",
+ "dist3 = dist1\n",
+ "\n",
+ "#display all lengths\n",
+ "print 'dist1 = ',\n",
+ "dist1.showdist()\n",
+ "print 'dist2 = ',\n",
+ "dist2.showdist()\n",
+ "print 'dist3 = ',\n",
+ "dist3.showdist()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "dist1 = 11 ' - 6.25 \"\n",
+ "dist2 = 11 ' - 6.25 \"\n",
+ "dist3 = 11 ' - 6.25 \"\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.9, Page Number: 240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "class Distance: #Distance class\n",
+ " \n",
+ " def __init__(self,ft=0,inc=0): #constructor \n",
+ " self.__feet = ft\n",
+ " self.__inches = inc\n",
+ " \n",
+ " def getdist(self): #get length from user\n",
+ " self.__feet = input('Enter feet:')\n",
+ " self.__inches = input('Enter inches:')\n",
+ " \n",
+ " def showdist(self): #display distance\n",
+ " print self.__feet , '\\' -' , self.__inches , '\\\"'\n",
+ " \n",
+ " def add_dist(self,d2): #add this length to d2 and return object\n",
+ " temp = Distance() #temporary object\n",
+ " temp.__inches = self.__inches + d2.__inches\n",
+ " if temp.__inches >= 12.0:\n",
+ " temp.__inches = temp.__inches - 12.0\n",
+ " temp.__feet = 1\n",
+ " temp.__feet = temp.__feet + self.__feet + d2.__feet\n",
+ " return temp #return sum as object\n",
+ "\n",
+ "#define two length\n",
+ "dist1 = Distance()\n",
+ "dist3 = Distance()\n",
+ "\n",
+ "#define and initialize dist2\n",
+ "dist2 = Distance(11,6.25)\n",
+ "\n",
+ "#get dist1 from user\n",
+ "dist1.getdist()\n",
+ "\n",
+ "#dist3 = dist1 + dist2\n",
+ "dist3 = dist1.add_dist(dist2)\n",
+ "\n",
+ "#display all lengths\n",
+ "print 'dist1 = ',\n",
+ "dist1.showdist()\n",
+ "print 'dist2 = ',\n",
+ "dist2.showdist()\n",
+ "print 'dist3 = ',\n",
+ "dist3.showdist()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter feet:17\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter inches:5.75\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "dist1 = 17 ' - 5.75 \"\n",
+ "dist2 = 11 ' - 6.25 \"\n",
+ "dist3 = 29 ' - 0.0 \"\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.10, Page Number: 243"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Suit = [\"clubs\",\"diamonds\",\"hearts\",\"spades\"] \n",
+ "\n",
+ "(clubs,diamonds,hearts,spades) = (0,1,2,3) #Atteching the names with number \n",
+ "\n",
+ "\n",
+ "#from 2 to 10 are integers without names\n",
+ "jack = 11 \n",
+ "queen = 12 \n",
+ "king = 13\n",
+ "ace = 14\n",
+ "\n",
+ "\n",
+ "class card: \n",
+ " \n",
+ " def __init__(self,n=None,s=None): #constructor\n",
+ " self.__number = n #2 to 10, jack, queen, king, ace\n",
+ " self.__suit = s #clubs, diamonds, hearts, spades\n",
+ " \n",
+ " def display(self): #display the cards\n",
+ " \n",
+ " if self.__number >= 2 and self.__number<=10:\n",
+ " print self.__number , 'of',\n",
+ " \n",
+ " else:\n",
+ " if self.__number == jack:\n",
+ " print 'jack of',\n",
+ " elif self.__number == queen:\n",
+ " print 'queen of',\n",
+ " elif self.__number == king:\n",
+ " print 'king of',\n",
+ " else:\n",
+ " print 'ace of',\n",
+ " \n",
+ " if self.__suit == clubs:\n",
+ " print 'clubs'\n",
+ " elif self.__suit == diamonds:\n",
+ " print 'diamonds'\n",
+ " elif self.__suit == hearts:\n",
+ " print 'hearts'\n",
+ " else:\n",
+ " print 'spades'\n",
+ " \n",
+ " def isEqual(self,c2): #return 1 if cards equal\n",
+ " \n",
+ " if self.__number == c2.__number and self.__suit == c2.__suit:\n",
+ " return 1\n",
+ " else:\n",
+ " return 0\n",
+ "\n",
+ "\n",
+ "#define various cards\n",
+ "temp = card()\n",
+ "chosen = card()\n",
+ "prize = card()\n",
+ "\n",
+ "\n",
+ "#define and initialize card1\n",
+ "card1 = card(7,clubs)\n",
+ "print 'card 1 is the',\n",
+ "card1.display() #display card1\n",
+ "\n",
+ "#define and initialize card2\n",
+ "card2 = card(jack,hearts)\n",
+ "print 'card 2 is the',\n",
+ "card2.display() #display card2\n",
+ "\n",
+ "#define and initialize card3\n",
+ "card3 = card(ace,spades)\n",
+ "print 'card 3 is the',\n",
+ "card3.display() #display card3\n",
+ "\n",
+ "\n",
+ "#prize is the card to guess\n",
+ "prize = card3\n",
+ "\n",
+ "\n",
+ "#swapping cards\n",
+ "print 'I\\'m swapping card 1 and card 3'\n",
+ "temp = card3\n",
+ "card3 = card1\n",
+ "card1 = temp\n",
+ "\n",
+ "print 'I\\'m swapping card 2 and card 3'\n",
+ "temp = card2\n",
+ "card3 = card2\n",
+ "card2 = temp\n",
+ "\n",
+ "print 'I\\'m swapping card 1 and card 2'\n",
+ "temp = card2\n",
+ "card2 = card1\n",
+ "card1 = temp\n",
+ "\n",
+ "print 'Now, where (1,2, or 3) is the',\n",
+ "prize.display() #display prize\n",
+ "print '?'\n",
+ "\n",
+ "position = input() #get user's guess of position\n",
+ "\n",
+ "\n",
+ "#set chosen to user's choice \n",
+ "if position == 1:\n",
+ " chosen = card1\n",
+ "elif position == 2:\n",
+ " chosen = card2\n",
+ "else:\n",
+ " chosen = card3\n",
+ "\n",
+ "#is chosen card the prize?\n",
+ "\n",
+ "x=chosen.isEqual(prize)\n",
+ "\n",
+ "if x==1:\n",
+ " print 'That\\'s right! You win!'\n",
+ "else:\n",
+ " print 'Sorry. You lose.'\n",
+ "\n",
+ "print 'You choose the',\n",
+ "\n",
+ "#display chosen card\n",
+ "chosen.display()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "card 1 is the 7 of clubs\n",
+ "card 2 is the jack of hearts\n",
+ "card 3 is the ace of spades\n",
+ "I'm swapping card 1 and card 3\n",
+ "I'm swapping card 2 and card 3\n",
+ "I'm swapping card 1 and card 2\n",
+ "Now, where (1,2, or 3) is the ace of spades\n",
+ "?\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "2\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "That's right! You win!\n",
+ "You choose the ace of spades\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.11, Page Number: 249"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "class foo: \n",
+ " \n",
+ " __count = 0 #only one data item for all objects\n",
+ " \n",
+ " def __init__(self):\n",
+ " foo.__count = foo.__count + 1 #increment count when object created\n",
+ " \n",
+ " def getcount(self): #returns count\n",
+ " return foo.__count\n",
+ "\n",
+ "#create three objecs\n",
+ "f1 = foo()\n",
+ "f2 = foo()\n",
+ "f3 = foo()\n",
+ "\n",
+ "#Each object displays the same count value\n",
+ "print 'count is', f1.getcount()\n",
+ "print 'count is', f2.getcount()\n",
+ "print 'count is', f3.getcount()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "count is 3\n",
+ "count is 3\n",
+ "count is 3\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.12, Page Number: 253"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "class Distance: #Distance class\n",
+ " \n",
+ " def __init__(self,ft=0,inc=0.0): #constructor \n",
+ " self.__feet = ft\n",
+ " self.__inches = inc\n",
+ " \n",
+ " def getdist(self): #get length from user\n",
+ " self.__feet = input('Enter feet:')\n",
+ " self.__inches = input('Enter inches:')\n",
+ " \n",
+ " def showdist(self): #display distance\n",
+ " print self.__feet , '\\' -' , self.__inches , '\\\"'\n",
+ "\n",
+ "#There's no const keyword \n",
+ " \n",
+ " def add_dist(self,d2): #add this length to d2 and return object\n",
+ " \n",
+ " temp = Distance()\n",
+ " temp.__inches = self.__inches + d2.__inches\n",
+ " \n",
+ " if temp.__inches >= 12.0:\n",
+ " temp.__inches = temp.__inches - 12.0\n",
+ " temp.__feet = 1\n",
+ " \n",
+ " temp.__feet = temp.__feet + self.__feet + d2.__feet\n",
+ " \n",
+ " return temp #return sum as object\n",
+ " \n",
+ "dist1 = Distance()\n",
+ "dist3 = Distance()\n",
+ "dist2 = Distance(11,6.25)\n",
+ "\n",
+ "dist1.getdist()\n",
+ "\n",
+ "dist3 = dist1.add_dist(dist2)\n",
+ "\n",
+ "print 'dist1 = ',\n",
+ "dist1.showdist()\n",
+ "print 'dist2 = ',\n",
+ "dist2.showdist()\n",
+ "print 'dist3 = ',\n",
+ "dist3.showdist()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter feet:17\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter inches:5.75\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "dist1 = 17 ' - 5.75 \"\n",
+ "dist2 = 11 ' - 6.25 \"\n",
+ "dist3 = 29 ' - 0.0 \"\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.13, Page Number: 255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "class Distance:\n",
+ " \n",
+ " def __init__(self,ft,inc):\n",
+ " self.__feet = ft\n",
+ " self.__inches = inc\n",
+ " \n",
+ " def getdist(self):\n",
+ " self.__feet = input('Enter feet:')\n",
+ " self.__inches = input('Enter inches:')\n",
+ " \n",
+ " def showdist(self):\n",
+ " print self.__feet , '\\' -' , self.__inches , '\\\"'\n",
+ "\n",
+ "football = Distance(300,0)\n",
+ "\n",
+ "print 'football = ',\n",
+ "football.showdist()\n",
+ "\n",
+ "#There's no const keyword in python"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "football = 300 ' - 0 \"\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file |