Use of self when creating objects in Python -


i made several classes doing same thing, still don't understand difference, , best use. also, 4th object not working. says 'nameerror: name 'self' not defined', although don't understand going wrong. wrote, output 7,7,7,0:

class addtwonumbers1(object):      def __init__(self, number1, number2):         self.number1 = number1         self.number2 = number2         self.result = number1 + number2   class addtwonumbers2(object):      def __init__(self, number1, number2):         self.result = number1 + number2   class addtwonumbers3(object):      def __init__(self, number1, number2):         self.number1 = number1         self.number2 = number2      def add(self):         result = self.number1 + self.number2         return result   class addtwonumbers4(object):      result = 0      def __init__(self, number1, number2):         self.number1 = number1         self.number2 = number2      result = self.number1 + self.number2   # test classes adding 2 numbers:  addingobject1 = addtwonumbers1(5,2) print addingobject1.result  addingobject2 = addtwonumbers2(5,2) print addingobject2.result  addingobject3 = addtwonumbers3(5,2) print addingobject3.add()  addingobject4 = addtwonumbers4(5,2) print addingobject4.result 

thank in advance advice.

well, classes should have been function, i'm assuming that's example. having said that


this useful when object needs store both values constructed it, resulting them:

class addtwonumbers1(object):      def __init__(self, number1, number2):         self.number1 = number1         self.number2 = number2         self.result = number1 + number2 

this useful when object needs store not values constructed it, buj resulting them:

class addtwonumbers2(object):      def __init__(self, number1, number2):         self.result = number1 + number2 

this useful when object needs store values constructed it. result should calculated demand , not part of state of object.

class addtwonumbers3(object):      def __init__(self, number1, number2):         self.number1 = number1         self.number2 = number2      def add(self):        result = self.number1 + self.number2        return result 

nope. doesn't make sense. class variable.

class addtwonumbers4(object):

result = 0  def __init__(self, number1, number2):     self.number1 = number1     self.number2 = number2  result = self.number1 + self.number2 

Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

php - Find a regex to take part of Email -

javascript - Function overwritting -