- attributes (i.e., data that describe the status of the instantiated object)
- methods (i.e., functions that describe the behavior of the instantiated object)
Suppose we want to create a class that describes a set of elements (although, as we saw in a previous lesson, Set is already a built-in Python data structure.
The behavior that we may apply on such class is as follows:
- adding items
- removing items from it
- check whether it contains a certain value
Here is a possible implementation of such class:
class Set: def __init__(self, values=None): # constructor self.dict = {} if values is not None: for value in values: self.add(value) def __repr__(self): # toString() method return "Set: " + str(self.dict.keys()) def add(self, value): self.dict[value] = True def contains(self, value): return value in self.dict def remove(self, value): del self.dict[value]
Then we can use such class as follows:
s = Set([1,2,3]) s.add(4) print s.contains(4) # True s.remove(3) print s..contains(3) # False
Nessun commento:
Posta un commento