#!/usr/bin/env python3 # -*- coding=utf-8 -*- from cat import Cat from dog import Dog cat = Cat('囧爷', 'brown', 2) dog1 = Dog.age('wang', 'brown', 2) dog = Dog('', 'yellow') print(cat) print(dog1) cat() Dog.bark('wang wang wang') cat.introduce() dog.introduce() cat.set_name('囧大爷') print(cat.get_name()) cat.set_color(None) print(not isinstance(cat.get_color(), str) or not cat.get_color()) cat.introduce() cat.run() dog.run() print(dir(cat)) print(hasattr(cat, '_Animal__name')) # true try: cat.test2 = 'test failed' except Exception as e: print('Exception: ', e)
# Work-around for subdirectories import os, sys, inspect sys.path.insert(1, os.path.join(sys.path[0], '..')) from gofetch import database from dog import Dog database.Database.launch("backing.sqlite") myDog = Dog("Scooby-Doo") myDog.age = 8 myDog.owner = "Scooby" # Before this point myDog is living in local memory and isn't backed by an entry # in the database # After the save, the changes will now be written into the database myDog.save() # We're pulling it fresh from the database now foundDog = Dog.findOne({name: "Scooby-Doo"}) print(foundDog.owner)