# naming convention for these notes doesn't work well for importing as a module, # so 8a-raising_exceptions has been duplicated in ducks.py import ducks # created a bunch of ducks and a penguin, plus a flock flock = ducks.Flock() donald = ducks.Duck() daisy = ducks.Duck() daffy = ducks.Duck() pingu = ducks.Penguin() # added all the birds to the flock, including the penguin flock.add_duck(donald) flock.add_duck(daisy) flock.add_duck( pingu) # gives a warning because we set a type hint for add_duck flock.add_duck(daffy) # this causes an error, because penguin objects do not have a fly method # all the ducks successfully fly, but when we hit pingu, we can't fly and the exception crashes the program flock.migrate()
#!/usr/bin/env python3 import ducks flock = ducks.Flock() duck1 = ducks.Ducks() duck2 = ducks.Ducks() duck3 = ducks.Ducks() duck4 = ducks.Ducks() duck5 = ducks.Ducks() duck6 = ducks.Ducks() duck7 = ducks.Ducks() penguin = ducks.Penguin() flock.add_duck(duck1) flock.add_duck(duck2) flock.add_duck(duck3) flock.add_duck(duck4) flock.add_duck(penguin) flock.add_duck(duck5) flock.add_duck(duck6) flock.add_duck(duck7) flock.migrate()
import ducks flock = ducks.Flock() donald = ducks.Duck() daisy = ducks.Duck() lucas = ducks.Duck() alfred = ducks.Duck() mallard = ducks.Duck() goose = ducks.Duck() percy = ducks.Penguin() flock.addDuck(donald) flock.addDuck(daisy) flock.addDuck(lucas) flock.addDuck(alfred) flock.addDuck(percy) flock.addDuck(mallard) flock.addDuck(goose) flock.migrate()
# Uses the Flock class from ducks.py flock = ducks.Flock() # We define duck objects using Duck class from ducks.py duck1 = ducks.Duck() duck2 = ducks.Duck() duck3 = ducks.Duck() duck4 = ducks.Duck() duck5 = ducks.Duck() duck6 = ducks.Duck() duck7 = ducks.Duck() penguin1 = ducks.Penguin() # first we create penguin1, from the Penguin class mallard1 = ducks.Mallard( ) # Part of CHANGE_3. We create a Mallard instance. NOTE Mallard is a subclass of Duck # Now we will add the ducks to the flock. flock.add_duck(duck1) flock.add_duck(duck2) flock.add_duck(duck3) flock.add_duck(duck4) flock.add_duck(penguin1) # Now we add penguin1 to the flock of ducks flock.add_duck(duck5) flock.add_duck( mallard1 ) # Now we add mallard1 to the flock. Note that Mallard is a subclass of Duck
import ducks if __name__ == '__main__': #donald = ducks.Duck() #donald.fly() # test_duck(donald) # print("*"*5) # pug = Penguin() # test_duck(pug) flock = ducks.Flock() donald = ducks.Duck() daisy = ducks.Duck() casey = ducks.Duck() jaisy = ducks.Duck() paisy = ducks.Duck() peng = ducks.Penguin() mal = ducks.Mallard() flock.add_duck(donald) flock.add_duck(daisy) flock.add_duck(casey) flock.add_duck(jaisy) flock.add_duck(paisy) flock.add_duck(mal) flock.add_duck(peng) flock.migrate()
import ducks flock = ducks.Flock() donald = ducks.Duck() daisy = ducks.Duck() duck3 = ducks.Duck() duck4 = ducks.Duck() duck5 = ducks.Duck() duck6 = ducks.Duck() duck7 = ducks.Duck() percy = ducks.Penguin() # shouldn't be able to fly on account of not having the attribute to do so. # add_ducking ducks to the flock flock.add_duck(donald) flock.add_duck(daisy) flock.add_duck(duck3) flock.add_duck(duck4) flock.add_duck(percy) # warning bc percy isn't a duck, and add_duck() expects & only takes in ducks # AttributeError was passed to migrate() , which shouldn't have happened so we changed migrate() flock.add_duck(duck5) flock.add_duck(duck6) flock.add_duck(duck7) flock.migrate()