[Tutor] Tutor Digest, Vol 88, Issue 89
David Merrick
merrickdav at gmail.com
Thu Jun 23 00:29:34 CEST 2011
Can someone show me how to code this correctly please
On Wed, Jun 22, 2011 at 10:00 PM, <tutor-request at python.org> wrote:
> Send Tutor mailing list submissions to
> tutor at python.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://mail.python.org/mailman/listinfo/tutor
> or, via email, send a message with subject or body 'help' to
> tutor-request at python.org
>
> You can reach the person managing the list at
> tutor-owner at python.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Tutor digest..."
>
>
> Today's Topics:
>
> 1. Re: Class methods (Alan Gauld)
> 2. Re: sftp get single file (Peter Lavelle)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Wed, 22 Jun 2011 08:58:03 +0100
> From: "Alan Gauld" <alan.gauld at btinternet.com>
> To: tutor at python.org
> Subject: Re: [Tutor] Class methods
> Message-ID: <its7af$h8k$1 at dough.gmane.org>
> Content-Type: text/plain; format=flowed; charset="UTF-8";
> reply-type=original
>
> "David Merrick" <merrickdav at gmail.com> wrote
>
> > class Critter(object):
> >
> > def __init__(self, name, hunger = 0, boredom = 0):
> > def __pass_time(self):
> > def __str__(self):
> > @property
> > def mood(self):
> > def talk(self):
> > def eat(self):
> > def play(self):
> >
> > class Farm(Critter):
>
> I still don't think a Farm is a type of Critter...
>
> > def __init__(self,farmlet):
> > Critter.__init__(self,farmlet)
>
> This will set the name to farmlet, which I don't
> think you want.
>
> > def talk(self,farmlet):
>
> You don't need to pass farmlet in since the
> class has farmlet stored inside it.
> You can access farmlet with self.farmlet.
>
> > for critter in farmlet:
> > print("Hello")
> > Critter.talk(farmlet)
>
> You want the instance to talk not the class.
> So you need to use critter.talk() And the talk
> method does not take any arguments except
> self. What you are doing here is calling the
> class method with an instance value of farmlet.
> ie self in that method gets the value of farmlet.
>
> > def main():
> > crit1 = Critter("Sweetie")
> > crit2 = Critter("Dave")
> > farmlet = [crit1,crit2]
> > f = Farm(farmlet)
> >
> > choice = None
> > while choice != "0":
> > print \
> > ("""
> > Critter Caretaker
> >
> > 0 - Quit
> > 1 - Listen to your critter
> > 2 - Feed your critter
> > 3 - Play with your critter
> > """)
> >
> > choice = input("Choice: ")
> > print()
> >
> > # exit
> > if choice == "0":
> > print("Good-bye.")
> >
> > # listen to your critter
> > elif choice == "1":
> > f.talk(farmlet)
> >
> > # feed your critter
> > elif choice == "2":
> > f.eat(farmlet)
>
> Note that f.eat is a method you inherit from Critter.
> The Critter method does not take any arguments
> so this will fail.
>
> > # play with your critter
> > elif choice == "3":
> > f.play(farmlet)
>
> Same with f.play()
>
> > Traceback (most recent call last):
> > File "D:/David/Python/programs/critter_farm3.py", line 72, in talk
> > Critter.talk(farmlet)
> > File "D:/David/Python/programs/critter_farm3.py", line 38, in talk
> > print("I'm", self.name, "and I feel", self.mood, "now.\n")
> > AttributeError: 'list' object has no attribute 'name'
>
> This is because you are accessing the method via
> the class and passing farmlet as the instance value
> rather than sending the message to the innstance
> directly. Use
>
> critter.talk() # and no farmlet needed!
>
> HTH,
>
>
> --
> Alan Gauld
> Author of the Learn to Program web site
> http://www.alan-g.me.uk/
>
>
>
>
> ------------------------------
>
> Message: 2
> Date: Wed, 22 Jun 2011 10:07:53 +0100
> From: Peter Lavelle <lists at solderintheveins.co.uk>
> To: tutor at python.org
> Subject: Re: [Tutor] sftp get single file
> Message-ID: <4E01B0E9.8000300 at solderintheveins.co.uk>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
> You could use the subprocess module to run the relevant system commands.
> More info on running sftp non-interactively (i.e from a script) can be
> found here: http://fixunix.com/ssh/238284-non-interactive-sftp-put.html
>
> Regards
>
> Peter Lavelle
>
>
> ------------------------------
>
> _______________________________________________
> Tutor maillist - Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
>
>
> End of Tutor Digest, Vol 88, Issue 89
> *************************************
>
--
Dave Merrick
merrickdav at gmail.com
Ph 03 3423 121
Cell 027 3089 169
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20110623/cc5fce5c/attachment.html>
More information about the Tutor
mailing list