class PizzaShop(): pizza_stock = 10 def get_pizza(self): while PizzaShop.pizza_stock: PizzaShop.pizza_stock -= 1 yield "take yours pizza order, total pizzas left {}".format(PizzaShop.pizza_stock)
mypizza_shop = PizzaShop() pizza_order = mypizza_shop.get_pizza() # print "{}".format(repr(pizza_order.next())) for order in pizza_order: print "{}".format(repr(order)) domino_pizza_store = mypizza_shop.get_pizza() print "{}".format(repr(domino_pizza_store.next())) mypizza_shop.pizza_stock = 10 domino_pizza_store = mypizza_shop.get_pizza() print "{}".format(repr(domino_pizza_store.next())) can't we again use the same object mypizza_shop once its generator is exhausted On Thu, Sep 12, 2013 at 6:53 AM, Marc Tompkins <marc.tompk...@gmail.com>wrote: > On Wed, Sep 11, 2013 at 5:40 AM, zubair alam <zubair.alam....@gmail.com>wrote: > >> i am learning how a __class__ data member behaves in python as compared >> to static data member in java, but following code is throwing error >> >> >> class PizzaShop(): >> pizza_stock = 10 >> def get_pizza(self): >> while not PizzaShop.pizza_stock: >> PizzaShop.pizza_stock -= 1 >> yield "take yours pizza order, total pizzas left >> {}".format(PizzaShop.pizza_stock) >> >> mypizza_shop = PizzaShop() >> pizza_order = mypizza_shop.get_pizza() # iterator is obtained >> print "a pizza pls!! {}:".format(pizza_order.next()) >> print "a pizza pls!! {}:".format(pizza_order.next()) >> >> output: >> Traceback (most recent call last): >> File "/home/scott/pythonfiles/core_python/pizza.py", line 10, in >> <module> >> print "a pizza pls!! {}:".format(pizza_order.next()) >> StopIteration >> >> >> don't know where i am doing mistake....any help will be appreciated... i >> have other questions on based on this class >> >> > > Change "while not PizzaShop.pizza_stock:" to "while > PizzaShop.pizza_stock:"; I get the following output: > >> a pizza pls!! take yours pizza order, total pizzas left 9: >> a pizza pls!! take yours pizza order, total pizzas left 8: >> > > >
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor