Hi Tim, Either -
class test: def __init__(self,v): self.__val = v def val(self): print self.__val class sub(test): def __init__(self, v): test.__init__(v) self.val() or - class sub(test): def __init__(self, v): test.__init__(v) test.val() That will resolve your calling the method problem, but self.__val won't inherit (I think). I don't recommend using double underscored variables unless there's a really good reason, C# et al be damned. Oh, and if self.__val / val is set by the superclasses __init__ method, then you'll need to call it specifically, or otherwise you'll get a UnboundLocalError, because self.__val/val won't exist. Liam Clarke-Hutchinson -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tim Johnson Sent: Thursday, 1 December 2005 3:46 p.m. To: tutor@python.org Subject: [Tutor] Class Inheritance -> NameError The following code snippet is meant to test inheritance: class test: def __init__(self,v): self.__val = v def val(self): print self.__val class sub(test): def __init__(self): val() The following console session has an error: >>> T = mylib.test('hello') >>> s = mylib.sub() Traceback (most recent call last): File "<stdin>", line 1, in ? File "mylib.py", line 1612, in __init__ val() NameError: global name 'val' is not defined ## what do I need to do to make the 'test method visible ## class 'sub? thanks tim -- Tim Johnson <[EMAIL PROTECTED]> http://www.alaska-internet-solutions.com _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor A new monthly electronic newsletter covering all aspects of MED's work is now available. Subscribers can choose to receive news from any or all of seven categories, free of charge: Growth and Innovation, Strategic Directions, Energy and Resources, Business News, ICT, Consumer Issues and Tourism. See http://news.business.govt.nz for more details. http://www.govt.nz - connecting you to New Zealand central & local government services Any opinions expressed in this message are not necessarily those of the Ministry of Economic Development. This message and any files transmitted with it are confidential and solely for the use of the intended recipient. If you are not the intended recipient or the person responsible for delivery to the intended recipient, be advised that you have received this message in error and that any use is strictly prohibited. Please contact the sender and delete the message and any attachment from your computer. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor