コード例 #1
0
# 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()
コード例 #2
0
import ducks
flocks = ducks.Flock()
donald = ducks.Duck()
daisy = ducks.Duck()
duck1 = ducks.Duck()
duck2 = ducks.Duck()
duck3 = ducks.Duck()
duck4 = ducks.Duck()
duck5 = ducks.Duck()
percy = ducks.Penguin()
flocks.add_duck(donald)

flocks.add_duck(daisy)

flocks.add_duck(duck1)

flocks.add_duck(duck5)

flocks.add_duck(duck3)

flocks.add_duck(duck2)

flocks.add_duck(duck4)

flocks.add_duck(percy)

flocks.migrate()