Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #97820

Re: variable scope of class objects

From Random832 <random832@fastmail.com>
Subject Re: variable scope of class objects
Date 2015-10-19 15:01 -0400
References <q3da2bplpbt2njpoojie8ogfo7te63lhn2@4ax.com>
Newsgroups comp.lang.python
Message-ID <mailman.43.1445281311.878.python-list@python.org> (permalink)

Show all headers | View raw


JonRob@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

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

variable scope of class objects JonRob - 2015-10-19 14:39 -0400
  Re: variable scope of class objects Random832 <random832@fastmail.com> - 2015-10-19 15:01 -0400
    Re: variable scope of class objects JonRob - 2015-10-20 17:11 -0400
  Re: variable scope of class objects sohcahtoa82@gmail.com - 2015-10-19 16:19 -0700
    Re: variable scope of class objects Terry Reedy <tjreedy@udel.edu> - 2015-10-19 20:03 -0400
  Re: variable scope of class objects Nagy László Zsolt <gandalf@shopzeus.com> - 2015-10-20 07:31 +0200
  Re: variable scope of class objects Luca Menegotto <otlucaDELETE@DELETEyahoo.it> - 2015-10-20 08:17 +0200
    Re: variable scope of class objects Nagy László Zsolt <gandalf@shopzeus.com> - 2015-10-20 08:38 +0200
      Re: variable scope of class objects Luca Menegotto <otlucaDELETE@DELETEyahoo.it> - 2015-10-20 09:23 +0200
    Re: variable scope of class objects JonRob - 2015-10-20 17:33 -0400
      Re: variable scope of class objects Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2015-10-20 20:18 -0400
        Re: variable scope of class objects JonRob - 2015-10-21 19:35 -0400
          Re: variable scope of class objects Luca Menegotto <otlucaDELETE@DELETEyahoo.it> - 2015-10-22 11:59 +0200
      What does it mean for Python to have “constants”? (was: variable scope of class objects) Ben Finney <ben+python@benfinney.id.au> - 2015-10-21 11:27 +1100
      Re: What does it mean for Python to have “constants”? Nagy László Zsolt <gandalf@shopzeus.com> - 2015-10-21 08:13 +0200
      Re: variable scope of class objects Luca Menegotto <otlucaDELETE@DELETEyahoo.it> - 2015-10-22 07:55 +0200
      Re: variable scope of class objects Erik <python@lucidity.plus.com> - 2015-10-20 23:17 +0100

csiph-web