Re: Class confusion

Discussion in 'Python' started by Matt Jones, Jan 10, 2013.

  1. Matt Jones

    Matt Jones Guest

    Does this look sufficient for what? You haven't actually told us what it
    is you're trying to accomplish. I gave you the "how", you must supply the
    "why".

    *Matt Jones*


    On Wed, Jan 9, 2013 at 6:43 PM, Rodrick Brown <>wrote:

    > Can anyone care to advise on the following? Based on the responses does
    > this look sufficient?
    >
    > #!/opt/local/bin/python
    >
    > class SystemList(object):
    > sysmap = { '1039' : 'nebula',
    > '1040' : 'mercury'}
    >
    > def __init__(self, sysid):
    > self.sysid = sysid
    >
    > def get_sysname(self):
    > return self.sysmap[self.sysid]
    >
    > class System(object):
    > def __init__(self):
    > pass
    >
    > def get_hostname(self,sysid):
    > return SystemList(sysid)
    >
    > if __name__ == '__main__':
    > sc = System()
    >
    > for sysid in ('1039','1040'):
    > print(sc.get_hostname(sysid).get_sysname())
    >
    >
    >
    > On Wed, Jan 9, 2013 at 5:18 PM, Rodrick Brown <>wrote:
    >
    >> On Wed, Jan 9, 2013 at 4:34 PM, Matt Jones <>wrote:
    >>
    >>> # Something like...
    >>>
    >>> class SystemList(object):
    >>> def get_systemid(self):
    >>> return "System Id: bleh"
    >>>
    >>> def get_running_kernel(self):
    >>> return "Kernel: bleh"
    >>>
    >>>
    >>> class SatelliteConnect(object):
    >>> def get_systemlist(self):
    >>> return SystemList()
    >>>
    >>>
    >>> # Now the code you wrote would work, only return those literals thought,
    >>> you'd want to do something meaningful inside of SystemList's methods.
    >>>
    >>>

    >> Thanks for the tip Matt, I had no idea it was so simple. :)
    >>
    >>
    >>> *Matt Jones*
    >>>
    >>>
    >>> On Wed, Jan 9, 2013 at 3:28 PM, MRAB <> wrote:
    >>>
    >>>> On 2013-01-09 20:13, Rodrick Brown wrote:
    >>>>
    >>>>> How can I make a class that has methods with attributes and other
    >>>>> functions?
    >>>>> I see a lot of code
    >>>>>
    >>>>>
    >>>>> I'm reading the documentation to Redhat's Satellite software which has
    >>>>> a
    >>>>> XMLRPC interface and wrote the following code to test the api.
    >>>>>
    >>>>> I would like to extend this code to support methods with methods? I see
    >>>>> this done a lot in python code but I'm not sure how to accomplish
    >>>>> something like this?
    >>>>>
    >>>>> i.e.
    >>>>>
    >>>>> sc = SatelliteConnect()
    >>>>> sc.get_systemlist().get_**systemid() ?
    >>>>> or
    >>>>> sc.get_systemlist().get_**running_kernel()
    >>>>>
    >>>>> How does one chain methods and attributes like this with classes?
    >>>>>
    >>>>> [snip]
    >>>> This:
    >>>>
    >>>> sc.get_systemlist().get_**systemid()
    >>>>
    >>>> simply means that the method "get_systemlist" returns an instance of
    >>>> some class (let's call it "SystemList") which has a method
    >>>> "get_systemid".
    >>>>
    >>>> --
    >>>> http://mail.python.org/**mailman/listinfo/python-list<http://mail.python.org/mailman/listinfo/python-list>
    >>>>
    >>>
    >>>
    >>> --
    >>> http://mail.python.org/mailman/listinfo/python-list
    >>>
    >>>

    >>

    >
    Matt Jones, Jan 10, 2013
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. E11
    Replies:
    1
    Views:
    4,736
    Thomas Weidenfeller
    Oct 12, 2005
  2. Fao, Sean

    Class Confusion

    Fao, Sean, Sep 1, 2004, in forum: C++
    Replies:
    4
    Views:
    433
    Fao, Sean
    Sep 2, 2004
  3. christopher diggins
    Replies:
    16
    Views:
    745
    Pete Becker
    May 4, 2005
  4. Cndistin
    Replies:
    3
    Views:
    259
    Pierre Quentel
    Jan 6, 2004
  5. Joseph Turian
    Replies:
    5
    Views:
    585
Loading...

Share This Page