"Thanos Panousis" <[EMAIL PROTECTED]> wrote in > I managed to get a class variable to hold a cursor via something > like > > class person: > cursor = MySQLdb.connect(stuff).cursor() > > BUT when I make a function inside my class called myConnect, where I > do error checking and so on, I can't make it work:
Your Python OOP is a bit mixed up here. > class person: > cursor = myConnect() > > __init(self)___: > more things here.... You need to add def statements and the underscores come before the parens def __init__(self) > myConnect(self): Similarly here. BUT this is an instance method (via the self parameter), it will not work at the class level. > try: > return MySQLdb.connect(stuff).cursor() > catch: And this should be except not catch... > print "Error!" > When trying to run this I get NameError: name 'myConnect' is not > defined. Any pointers for my OO-blindness? You can just make the connect call directly at the class level. class Person: cursor = MySQLdb.connect(...).cursor() You can then access it in your objects methods using either self.cursor or Person.cursor Personally I prefer the second since it makes it clear its a class variable... HTH, -- Alan Gauld Author of the Learn to Program web site http://www.freenetpages.co.uk/hp/alan.gauld _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor