> I've got a module that needs to share a pack of cards > > pack = ["14s", "2s", "3s", "4s", "5s", "6s", "7s", "8s", "9s", "10s", > "11s", > ... > random.shuffle(pack) > > do you think it is worth making a class with just this attribute > or would this be a good place to use a global variable?
Classes with single attributes are almost never the right thing. The question is what does the class *do*? What are its responsibilities within the application? You've already suggested that it could shuffle itself. Maybe it could deal a random card too? Maybe it could tell you something about how many cards are left? Or whether a particular card is in the pack? In that case creating a class makers sense. Classes without behaviour are rarely useful. Data without fiunction is rare. Data and function is a class. So if its only a bit of data themn sure make it a module level variable. But ifd you are writing functions that operate on that data consider makng it a class. Particul;arly if there could ever arise the need for more than one pack - a game of Spider or Cribbage for example? Alan G Author of the learn to program web tutor http://www.freenetpages.co.uk/hp/alan.gauld _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor