[Tutor] class data member and objects of class in python

Marc Tompkins marc.tompkins at gmail.com
Thu Sep 12 03:23:52 CEST 2013


On Wed, Sep 11, 2013 at 5:40 AM, zubair alam <zubair.alam.jmi at 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:
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20130911/d98d7e16/attachment.html>


More information about the Tutor mailing list