title: Using class instance as a function argument
body: <p>Suppose I have something like:</p>
  
  <pre><code>class Dog:
     name = ""
     weight = 0
     def __init__(self,name,wg):
         self.name = name
         self.wg = wg
  
  def feed(pet):
     pet.weight = pet.weight + 5
     if pet.weight &gt; 20:
         print("your dog would get too fat")
     else:
         print("it is safe to feed your dog")
  
  my_dog = Dog("sparky",10)
  feed(my_dog)
  </code></pre>
  
  <p>Is there anyway to have it so that the changes to pet.weight are not transferred to my_dog.weight?</p>
  
  <p>I want the function to be able to take information from a class instance, perform calculations, and then leave the original instance unchanged.</p>