Read-only attribute in module

mloskot mateusz at
Fri Feb 10 12:11:52 CET 2012

Terry Reedy wrote
> On 2/9/2012 6:43 AM, Mateusz Loskot wrote:
>> import xyz print(xyz.flag)  # OK
>> xyz.flag = 0 # error due to no write access
> Why prevent that? If you called it 'FLAG', that would indicate that it 
> is a constant that should not be changed. While Python make some effort 
> to prevent bugs, it is generally a 'consenting adults' language.


The intent of xyz.flag is that it is a value set by the module internally.
xyz is a module wrapping a C library.
The C library defines concept of a global flag set by the C functions at
some events,
so user can check value of this flag.
I can provide access to it with function: xyz.get_flag()
But, I thought it would be more convenient to have a read-only property in
scope of the module.

Sometimes, especially when wrapping C code, it is not possible to map C API
semantics to Python concepts as 1:1.

Mateusz Loskot
View this message in context:
Sent from the Python - python-list mailing list archive at

More information about the Python-list mailing list