Thanks to all who replied to my question. I received a lot of information and points of view that are very helpful. I realize some of you folks spent more that a few minutes. I really appreciate your time.
Pardon me that i replied to random832's post and not the original but my original was lost while I was trying to bookmark it. Regards, JonRob On Mon, 19 Oct 2015 15:01:14 -0400, Random832 <random...@fastmail.com> wrote: >jon...@mail.python.org writes: >> >> The below pseudo code is distilled from my 1st attempt at a functional >> Python program on the RasPi. >> >> My questions are: >> What is the scope of class variables? > >You must access them as members of the class or an instance of the class. > >> does the self. prefix modify this scope? > >self just refers to the instance of the class that the function was >called with. It can be any name. > >Python automatically transforms any reference to "[object].func" into a >function (specifically, a bound method object) that will prefix [object] >to the argument list of the defined function. > >> #!/usr/bin/python >> # -- developed using Python 2.7.3 >> >> class BME280: >> >> # all the below are class variables >> # those preceded by an underscore are predefined to some constant > >Constants should be in uppercase, not prefixed with an underscore. > >Names prefixed with an underscore imply that they are "private" (not >really) and therefore other code should not use them directly > >> # those without the underscore are to be "working" variables. > >I don't know what you mean by "working". > >> >> _regT1 = 0x88 >> _regH6 = 0xE7 >> _coeff_P2 = 0x82 >> _coeff_P6 = 0x32 >> >> filter = 0 #should these be "self"? >> t_fine = 0 > >I don't know, should they? If so they need to be in __init__. > >You haven't provided any functions that use them, so it's not clear what >they're for. > >> >> def __init__(self, address=0x76, debug=True): >> self.i2c = Adafruit_I2C(address) >> self.address = address >> self.debug = debug >> >> def pressure_calc(self): >> var1 = self.i2c.readU16(self._regT1,False) >> p = (1048576.0 - var1) * _coeff_P2 >> return p >> >> def read_pressure(self): #called by main application >> pressure_hPa = pressure_calc(self) /10 >> # apply compensation >> return pressure_hPa -- https://mail.python.org/mailman/listinfo/python-list