Classes and Pointers
Classes
The following code creates a Cookie class.
class Cookie:
    def __init__(self, color):
        self.color = color
    def get_color(self):
        return self.color
    def set_color(self, color):
        self.color = color
cookie_one = Cookie('green')
cookie_two = Cookie('blue')
print('Cookie one is', cookie_one.get_color())
print('Cookie two is', cookie_two.get_color())
cookie_one.set_color('yellow')
print('\nCookie one is now', cookie_one.get_color())
print('Cookie two is still', cookie_two.get_color())__init__ is a special method that is called when a new instance of a class is created. It is used to initialize the instance. __init__ is a constructor.
Pointers
The following piece of code is an example of not using a pointer.
num1 = 11
num2 = num1
print("Before value is updated:")
print("num1:", num1)
print("num2:", num2)
num1 = 22
print("\nAfter value is updated:")
print("num1:", num1)
print("num2:", num2)In this case, updating num1 does not change num2.
The following is an example of using a pointer.
dict1 = {'a': 1, 'b': 2}
dict2 = dict1
print("Before value is updated:")
print("dict1:", dict1)
print("dict2:", dict2)
dict1['a'] = 3
print("\nAfter value is updated:")
print("dict1:", dict1)
print("dict2:", dict2)In this case, updating dict1 changes dict2. The reason is that dict1 and dict2 are pointing to the same object. The unused object will be garbage collected.
Last updated