jonathan.beckett wrote: > Hi all, > > While working on support at work, I have been picking away at Python - > because I think it could be a valuable scripting tool for building > utilities from. I have been reading the python.org tutorials, and > playing around with some basic code, but I have ended up with a few > questions that probably have straightforward answers - any quick > explanations or assistance would be fantastic... Work through the tutorial; don't expect simply reading it to work.
> Question 1... > Given the code below, why does the count method return what it does? > How *should* you call the count method? > a = [] > a.append(1) > print a.count count is a method, so this is a bound method expression. What you _mean_ is: a = [] a.append(1) print a.count(1) # to count the ones. > Question 2... > What is the correct way of looping through a list object in a class via > a method of it? (I've hit all sorts of errors picking away at this, and > none of the tutorials I've found so far cover it very well) - apologies > for the arbitrary class - it's the first example I thought up... > > class Gun: > Shells = 10 > > class Battleship: > Gun1 = Gun() > Gun2 = Gun() > Guns = [Gun1,Gun2] > > def getShellsLeft(self): > NumShells = 0 > for aGun in Guns: > NumShells = NumShells + aGun.Shells > return NumShells > > Bizmark = Battleship() > > print Bizmark.getShellsLeft() Too many misconceptions here (I changed to a more PEP-8 style naming): class Gun(object): def __init__(self): self.shells = 10 class Battleship(object): def __init__(self): self.guns = [Gun(), Gun()] def getShellsLeft(self): numShells = 0 for aGun in self.guns: numShells += aGun.shells return numShells theBizmark = Battleship() print theBizmark.getShellsLeft() > In the above code, I guess I'm just asking for the *correct* way to do > these simple kinds of things... --Scott David Daniels [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list