variable scope of class objects

Luca Menegotto otlucaDELETE at DELETEyahoo.it
Thu Oct 22 01:55:40 EDT 2015


Il 20/10/2015 23:33, JonRob ha scritto:
>>> 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.
>> In your opinion, what would be the best method to structure such code?
>> Regards
> JonRob

Let's start from constants. Constants, in Python, simply don't exist 
(and IMHO this is one of the few lacks of Python). All you can do is to 
declare a variable and treat it as a constant: you never change it!
It doesn't make sense to put a constant declaration at instance level, 
declaring it in the __init__ part of a class. After all, a constant is 
an information you want to share. The choice is up to you as the project 
manager: if you think that your constant is deeply related to the class 
you're designing, declare it as a class variable; otherwise, declare it 
at global level (in this case, often I use a separate file dedicated to 
constant declaration).
-- 
Ciao!
Luca


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /