Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #97849
| From | Dennis Lee Bieber <wlfraed@ix.netcom.com> |
|---|---|
| Subject | Re: variable scope of class objects |
| Date | 2015-10-20 20:18 -0400 |
| Organization | IISS Elusive Unicorn |
| References | <q3da2bplpbt2njpoojie8ogfo7te63lhn2@4ax.com> <n04m96$tvd$1@speranza.aioe.org> <9ocd2btlkq7kp3margtn4sj3mehd7bpimm@4ax.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.64.1445386763.878.python-list@python.org> (permalink) |
On Tue, 20 Oct 2015 17:33:21 -0400, JonRob@mail.python.org declaimed the
following:
>
>
>Hello Luca,
>
>I very much appreciated your comments. And I understand the
>importance of "doing something right" (i.e. convention).
>
>This leads me to another question.
>
>Because I am interfacing with an I2C sensor I have many register
>definations to include (30 register addresses and 26 Variables to be
>red from some of those registers.
>In your comment you mentioned that convention is to declare variables
>(and constants?) in the construction (__ini__).
>I am concerned that the sheer number of varialbe / constants would
>make it difficult to read.
>
"Constants" are typically defined at module level, using all capitals
as a hint to the reader (Python does not have anything that one might
consider a true constant -- other than the language defined singletons:
None, and maybe by now True and False).
Register addresses are likely "constants". Not sure about your "26
Variables"... Do they map directly to registers, or are they extracted as
fields from the values returned -- that is, a register may have two or more
"variables"? Do you read ALL registers on command and hold the values (note
my usage -- values can be held in lists or dictionaries using a single
"variable") for later retrieval by the user, or only read A register on
command by the user and return that value.
-=-=-=-=-
# registers for a fictitious motion sensor
GYROXREG = 0x0010
GYROYREG = 0x0011
GYROZREG = 0x0001
...
MAGZREG = 0x0100
class SensorA(I2C): #I'm assuming class I2C provides read/write functions
_registers = [GYROXREG, GYROYREG, GYROZREG,
..., MAGZREG]
def __init__(self, SCLpin, SDApin, slaveAddress):
self._SCL = SCLpin
self._SDA = SDApin
self._addr = slaveAddress
self.update() #initial load of values
def update(self):
#basically a loop over all addresses
#I'm not going to try to pseudo code the full I2C protocol
self.values = {} #yes, a dictionary
for reg in _registers:
aValue = self.read(self._SCL, self._SDA, self._addr, reg)
#inherited from I2C class
self.values[reg] = aValue
....
mySensor = SensorA(21, 22, 0x6)
while True
mySensor.update()
print ("Gyro X: %s, Y: %s, Z: %s"
% (mySensor.values[GYROXREG],
mySensor.values[GYROYREG],
mySensor.values[GYROZREG]))
time.sleep(1.0)
--
Wulfraed Dennis Lee Bieber AF6VN
wlfraed@ix.netcom.com HTTP://wlfraed.home.netcom.com/
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll 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