- class Vehicle(object):
- """ Vehicle class """
-
- count = 0; # class attribute
-
- def __init__(self, brand):
- self.__brand = brand
- Vehicle.count += 1
-
- @property
- def brand(self):
- return self.__brand
-
- @brand.setter
- def brand(self, b):
- self.__brand = b
-
- @brand.deleter
- def brand(self):
- del self.__brand
-
- def __str__(self):
- return "Brand: %s" % self.__brand
-
- def __getattr__(self, attr):
- return "~"
-
- def __del__(self):
- Vehicle.count -= 1
- print("Delete %s, %d vehicles left ..." % (self.__brand, Vehicle.count))
-
- def main():
- v1 = Vehicle("Lincoln")
-
- import inspect
- from pprint import pprint
-
- m = inspect.getmembers(v1, inspect.ismethod)
- pprint(m)
-
- if __name__ == '__main__':
- main()
-